Pular para o conteúdo
Skillpedia
Código em geral48 mil · #3029

fp-option-ref

Ajuda seu agente a lidar com valores que podem não existir. É útil para evitar erros ao acessar dados que podem estar ausentes.

O que ela faz

Esta ferramenta ajuda você a lidar com valores que podem ou não existir em seu código. Ela oferece uma maneira segura de trabalhar com dados que podem estar ausentes, evitando erros comuns.

Quando usar

  • ✓Quando você precisa verificar se um valor existe antes de usá-lo.
  • ✓Ao trabalhar com dados que podem vir de fontes externas e não estarem completos.
  • ✓Para evitar mensagens de erro quando um valor esperado não é encontrado.

Exemplo do que pedir para a IA

“Como posso verificar se o nome de um usuário existe de forma segura?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/fp-option-ref/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/fp-option-ref/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela usa um conceito chamado 'Option', que pode ser 'Some(valor)' se o valor existir, ou 'None' se não existir. Isso permite encadear operações de forma segura.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill fp-option-ref

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/fp-option-ref/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Referência Rápida de Option

Option = valor que pode não existir. Some(value) ou None.

Quando Usar

  • Você precisa de uma referência rápida de fp-ts para valores anuláveis ou opcionais.
  • A tarefa envolve eliminar verificações de nulo, acesso seguro a propriedades ou encadeamento opcional com Option.
  • Você quer um cartão de referência curto em vez de um guia de migração completo.

Criar

import * as O from 'fp-ts/Option'

O.some(5)              // Some(5)
O.none                 // None
O.fromNullable(x)      // null/undefined → None, else Some(x)
O.fromPredicate((n: number) => n > 0)(x) // false → None, true → Some(x)

Transformar

O.map(fn)              // Transform inner value
O.flatMap(fn)          // Chain Options (fn returns Option)
O.filter(predicate)    // None if predicate false

Extrair

O.getOrElse(() => fallbackValue)  // Get value or default
O.toNullable(opt)           // Back to T | null
O.toUndefined(opt)          // Back to T | undefined
O.match(onNone, onSome)     // Pattern match

Padrões Comuns

import { pipe } from 'fp-ts/function'
import * as O from 'fp-ts/Option'

// Safe property access
pipe(
  O.fromNullable(user),
  O.flatMap(u => O.fromNullable(u.profile)),
  O.flatMap(p => O.fromNullable(p.avatar)),
  O.getOrElse(() => '/default-avatar.png')
)

// Array first element
import * as A from 'fp-ts/Array'
pipe(
  users,
  A.head,  // Option<User>
  O.map(u => u.name),
  O.getOrElse(() => 'No users')
)

vs Anulável

// Nullable: concise and safe for a short access chain
const name = user?.profile?.name ?? 'Guest'

// Option: explicit and composable across multiple operations
pipe(
  O.fromNullable(user),
  O.flatMap(u => O.fromNullable(u.profile)),
  O.flatMap(p => O.fromNullable(p.name)),
  O.getOrElse(() => 'Guest')
)

Use Option quando você precisar encadear operações em valores opcionais.

Limitações

  • Use esta habilidade apenas quando a tarefa corresponder claramente ao escopo descrito acima.
  • Não trate a saída como substituta para validação específica do ambiente, testes ou revisão especializada.
  • Pare e peça esclarecimentos se faltarem entradas necessárias, permissões, limites de segurança ou critérios de sucesso.

Escopo da Referência

Estes são fragmentos de fp-ts 2.x. Forneça variáveis de aplicação, tipos, validadores e importações, e verifique a versão instalada. map não captura exceções lançadas. Task não tem canal de erro tipado; uma promessa incorretamente encapsulada ainda pode rejeitar. Use tryCatch em limites falíveis.

API Oficial: Módulos fp-ts.

Perguntas frequentes

Qual a diferença entre usar 'Option' e simplesmente verificar se algo é 'null' ou 'undefined'?

'Option' é mais seguro para sequências longas de verificações, pois força você a lidar com ambos os casos (valor existe ou não existe) de forma explícita e organizada.

Posso converter um valor 'null' ou 'undefined' para 'Option'?

Sim, você pode usar funções como `fromNullable` para transformar um valor que pode ser nulo em um 'Option'.

O que acontece se eu tentar usar um valor que não existe com 'Option'?

Em vez de um erro, você geralmente receberá um valor padrão ou um resultado indicando que o valor não estava presente, dependendo de como você configurou.

Detalhes

Descrição original do autor

Quick reference for Option type. Use when user needs to handle nullable values, optional data, or wants to avoid null checks.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3029
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas