/** * `ObjectUtils`: Utilizado para manipulação de objetos. */ export default class ObjectUtils { /** * Faz a cópia do objeto. * * @param data - Objeto a ser copiado. * @returns - A cópia do objeto válido. */ static copy(data: Object | Array): T; /** * Converte um objeto em string/JSON. * * @param data - Objeto a ser convertido. * @returns - Uma string JSON. * * @example * @Informado: ```{nome : "Sankhya", cidade: "Uberlandia"}``` | Obtenho: ```"{"nome" : "Sankhya", "cidade":"Uberlandia"}"``` */ static objectToString(data: Object | Array): string; /** * Converte uma string/JSON em objeto. * * @param data - String a ser convertida. * @returns - Um objeto válido. * * @example * Informado: ```"{"nome" : "Sankhya", "cidade":"Uberlandia"}"``` | Obtenho: ```{nome : "Sankhya", cidade: "Uberlandia"}``` */ static stringToObject(data: string): Object | Array; /** * Faz a ordenação de um objeto por uma propriedade. * * @param data - Objeto a ser ordenado. * @param property - Nome da propriedade a ser ordenada. * @returns - O objeto ordenado pela propriedade. */ static sortByProperty(data: any, property: string): any; /** * Remove atributos nulos e indefinidos de um objeto. * * @param data - Objeto a ser filtrado. * @returns - O objeto com as propriedades válidas. */ static removeEmptyValues(obj: object): object; /** * Compara se um objeto é igual a outro objeto. * * @param obj1 - Objeto a ser comparado. * @param obj2 - Objeto a ser comparado. * @returns - Se o objeto 1 é igual ao objeto 2. */ static equals(obj1: any, obj2: any): any; /** * Compara se o valor de dois items são equivalentes. * Comparando tanto o valor do item em si, quanto sua propriedade "value" * * @param obj1 - Objeto a ser comparado. * @param obj2 - Objeto a ser comparado. * @param propToCompare - propriedade que deve ser comparada. * @returns - Se o objeto 1 é equivalente ao objeto 2. * * * @example * hasEquivalentProps('123', {value: '123', label: teste}, 'value') | Retorna: true * @example * hasEquivalentProps('xpto', {value: '123', label: teste}, 'propName') | Retorna: false */ static hasEquivalentProps(obj1: any, obj2: any, propToCompare?: string): boolean; private static getComparableProp; /** * Verifica se o objeto está vazio (sem atributos). * * @param obj - Objeto a ser verificado. * @returns - True caso o objeto esteja vazio. */ static isEmpty(obj: object): boolean; /** * Verifica se o objeto está vazio (sem atributos) e retorna true caso seja undefined ou null. * * @param obj - Objeto a ser verificado. * @returns - True caso o objeto esteja vazio. */ static isEmptySafetyCheck(obj: object): boolean; /** * Verifica se o objeto NÃO está vazio (sem atributos). * * @param obj - Objeto a ser verificado. * @returns - True caso o objeto NÃO esteja vazio */ static isNotEmpty(obj: object): boolean; /** * Verifica se o objeto NÃO está vazio (sem atributos) e retorna false caso objeto seja null ou undefined. * * @param obj - Objeto a ser verificado. * @returns - True caso o objeto NÃO esteja vazio */ static isNotEmptySafetyCheck(obj: object): boolean; /** * Busca a propriedade de um objeto baseado em seu caminho. * * @param obj - Objeto a ser verificado. * @param keyPath - Caminho da propriedade a ser buscada. * @returns - O valor da propriedade caso ela exista. */ static getProp(obj: Record, keyPath: string): Record | undefined; }