Object
O módulo object fornece um conjunto abrangente de funções utilitárias para manipulação de objetos em JavaScript/TypeScript. Estas funções facilitam operações comuns como clonagem profunda, acesso a propriedades aninhadas, mesclagem de objetos, transformações de estrutura e verificações de estado.
Principais recursos:
- Manipulação segura de objetos aninhados
- Transformações de estrutura (flatten/unflatten)
- Operações de imutabilidade (freeze/seal)
- Utilitários de verificação e comparação
- Funções de seleção e omissão de propriedades
Visão Geral
clone<T>(value: T): TRealiza uma cópia profunda de qualquer valor, incluindo objetos, arrays e tipos primitivos.
flattenObj(obj): Record<string, any>Transforma um objeto aninhado em um objeto plano, com caminhos completos como chaves.
freeze(obj: Record<PropertyKey, any>): Record<PropertyKey, any>Congela recursivamente um objeto e todos os seus objetos internos, tornando-os imutáveis.
get<T>(obj: T, path: string | string[], defaultValue?: any): anyAcessa o valor de uma propriedade aninhada em um objeto, com suporte a valor padrão.
has<T>(obj: T, path: string | string[]): booleanVerifica se um objeto possui uma propriedade (aninhada) especificada por um caminho.
isEmpty(value): booleanVerifica se um valor (objeto, array, string, Map ou Set) está vazio.
isEqual(value1, value2): booleanCompara dois valores para determinar se são equivalentes em estrutura e conteúdo.
isFrozen(obj): booleanVerifica se um objeto está congelado (imutável).
isNotNullObject(value): booleanVerifica se um valor é um objeto não nulo.
isPlainObject(value): booleanVerifica se um valor é um objeto simples, criado por literal ou por Object.
isSealed(obj): booleanVerifica se um objeto está selado (não pode adicionar/remover propriedades).
merge(target, ...sources): objectCombina dois ou mais objetos em um novo objeto, realizando mesclagem profunda.
omit(obj, keys): objectCria uma cópia de um objeto, excluindo as propriedades especificadas.
pick(obj, keys): objectCria um novo objeto contendo apenas as propriedades especificadas do original.
seal(obj): objectSela recursivamente um objeto, impedindo adição ou remoção de propriedades.
set(obj, path, value): objectDefine o valor de uma propriedade em um objeto, suportando caminhos aninhados.
unflattenObj(obj): objectReconstrói objetos aninhados a partir de um objeto com chaves planas.
