uget-helpers
v1.0.0
Published
Biblioteca com várias funções utilitárias para projetos UGET
Maintainers
Readme
uget-helpers
Biblioteca com várias funções utilitárias para projetos UGET
Instalação
npm install uget-helpersFunções Front-end (Máscaras e Validações)
allFirstLettersToUppercase(textValue: string)
Converte a primeira letra de cada palavra em uma string para maiúscula.
Parâmetros:
textValue(string): A string a ser formatada.
Retorno:
- (string): A string com a primeira letra de cada palavra em maiúscula.
Exemplo de uso:
import { allFirstLettersToUppercase } from "uget-helpers";
const text = "exemplo de texto";
const formattedText = allFirstLettersToUppercase(text);
console.log(formattedText); // 'Exemplo De Texto'americanExpressMask(americanExpressNumber: string)
Aplica uma máscara de cartão American Express.
Parâmetros:
americanExpressNumber(string): O número do cartão a ser formatado.
Retorno:
- (string): O número do cartão com a máscara.
Formato: #### ###### #####
Exemplo de uso:
import { americanExpressMask } from "uget-helpers";
const cardNumber = "371234567890123";
const maskedCardNumber = americanExpressMask(cardNumber);
console.log(maskedCardNumber); // '3712 345678 90123'birthDateIsValid(birthDate: string)
Verifica se uma data de nascimento é válida (entre 18 e 120 anos).
Parâmetros:
birthDate(string): A data de nascimento no formatoDD/MM/YYYYouDD-MM-YYYY.
Retorno:
- (boolean):
truese a data for válida,falsecaso contrário.
Exemplo de uso:
import { birthDateIsValid } from "uget-helpers";
const validBirthDate = "01/01/2000";
const invalidBirthDate = "01/01/2020";
console.log(birthDateIsValid(validBirthDate)); // true
console.log(birthDateIsValid(invalidBirthDate)); // falsebirthDateMask(birthDate: string)
Aplica uma máscara de data de nascimento.
Parâmetros:
birthDate(string): A data de nascimento a ser formatada.
Retorno:
- (string): A data de nascimento com a máscara.
Formato: ##/##/####
Exemplo de uso:
import { birthDateMask } from "uget-helpers";
const date = "01012000";
const maskedDate = birthDateMask(date);
console.log(maskedDate); // '01/01/2000'cardDueDateMask(cardDueDate: string)
Aplica uma máscara de data de vencimento de cartão.
Parâmetros:
cardDueDate(string): A data de vencimento a ser formatada.
Retorno:
- (string): A data de vencimento com a máscara.
Formato: ##/## ou ##/####
Exemplo de uso:
import { cardDueDateMask } from "uget-helpers";
const dueDate = "1225";
const maskedDueDate = cardDueDateMask(dueDate);
console.log(maskedDueDate); // '12/25'cepMask(cep: string)
Aplica uma máscara de CEP.
Parâmetros:
cep(string): O CEP a ser formatado.
Retorno:
- (string): O CEP com a máscara.
Formato: #####-###
Exemplo de uso:
import { cepMask } from "uget-helpers";
const cep = "12345678";
const maskedCep = cepMask(cep);
console.log(maskedCep); // '12345-678'checkIfIsValidPhoneOrLandlineNumber(number: string, checkIfIs: 'phoneNumber' | 'landline')
Verifica se um número de telefone (celular ou fixo) é válido.
Parâmetros:
number(string): O número a ser verificado.checkIfIs('phoneNumber' | 'landline'): O tipo de número a ser verificado.
Retorno:
- (boolean):
truese o número for válido,falsecaso contrário.
Exemplo de uso:
import { checkIfIsValidPhoneOrLandlineNumber } from "uget-helpers";
const validPhoneNumber = "31988888888";
const invalidPhoneNumber = "3188888888";
const validLandline = "3140028922";
const invalidLandline = "40028922";
console.log(
checkIfIsValidPhoneOrLandlineNumber(validPhoneNumber, "phoneNumber")
); // true
console.log(
checkIfIsValidPhoneOrLandlineNumber(invalidPhoneNumber, "phoneNumber")
); // false
console.log(checkIfIsValidPhoneOrLandlineNumber(validLandline, "landline")); // true
console.log(checkIfIsValidPhoneOrLandlineNumber(invalidLandline, "landline")); // truecnpjIsValid(cnpj: string)
Verifica se um CNPJ é válido.
Parâmetros:
cnpj(string): O CNPJ a ser verificado.
Retorno:
- (boolean):
truese o CNPJ for válido,falsecaso contrário.
Exemplo de uso:
import { cnpjIsValid } from "uget-helpers";
const validCnpj = "11.222.333/0001-81";
const invalidCnpj = "11.111.111/1111-11";
console.log(cnpjIsValid(validCnpj)); // true
console.log(cnpjIsValid(invalidCnpj)); // falsecnpjMask(cpnj: string)
Aplica uma máscara de CNPJ.
Parâmetros:
cpnj(string): O CNPJ a ser formatado.
Retorno:
- (string): O CNPJ com a máscara.
Formato: ##.###.###/####-##
Exemplo de uso:
import { cnpjMask } from "uget-helpers";
const cnpj = "11222333000181";
const maskedCnpj = cnpjMask(cnpj);
console.log(maskedCnpj); // '11.222.333/0001-81'cpfIsValid(cpf: string)
Verifica se um CPF é válido.
⚠️ Atenção: Esta função pode ter um comportamento inesperado para alguns CPFs devido a uma implementação legada. Para validações de back-end, é altamente recomendável usar a função isCpfStrictValid.
Parâmetros:
cpf(string): O CPF a ser verificado.
Retorno:
- (boolean):
truese o CPF for válido,falsecaso contrário.
isCpfStrictValid(cpf: string)
Realiza uma validação estrita de CPF, usando o algoritmo correto. Ideal para ser usado no back-end.
Parâmetros:
cpf(string): O CPF a ser verificado.
Retorno:
- (boolean):
truese o CPF for válido,falsecaso contrário.
Exemplo de uso:
import { isCpfStrictValid } from "uget-helpers";
console.log(isCpfStrictValid("111.444.777-05")); // true
console.log(isCpfStrictValid("111.111.111-11")); // falsecpfMask(cpf: string)
Aplica uma máscara de CPF.
Parâmetros:
cpf(string): O CPF a ser formatado.
Retorno:
- (string): O CPF com a máscara.
Formato: ###.###.###-##
Exemplo de uso:
import { cpfMask } from "uget-helpers";
const cpf = "11122233344";
const maskedCpf = cpfMask(cpf);
console.log(maskedCpf); // '111.222.333-44'creditCardDueDateIsValid(currentDate: string, mask: 'mm/yy' | 'mm/yyyy')
Verifica se a data de vencimento de um cartão de crédito é válida.
Parâmetros:
currentDate(string): A data de vencimento no formatoMM/YYouMM/YYYY.mask('mm/yy' | 'mm/yyyy'): O formato da data de vencimento.
Retorno:
- (boolean):
truese a data for válida,falsecaso contrário.
Exemplo de uso:
import { creditCardDueDateIsValid } from "uget-helpers";
const validDate = "12/25";
const invalidDate = "12/20";
console.log(creditCardDueDateIsValid(validDate, "mm/yy")); // true
console.log(creditCardDueDateIsValid(invalidDate, "mm/yy")); // falseeloMask(eloNumber: string)
Aplica uma máscara de cartão Elo.
Parâmetros:
eloNumber(string): O número do cartão a ser formatado.
Retorno:
- (string): O número do cartão com a máscara.
Formato: #### #### #### ####
Exemplo de uso:
import { eloMask } from "uget-helpers";
const cardNumber = "4011780000000000";
const maskedCardNumber = eloMask(cardNumber);
console.log(maskedCardNumber); // '4011 7800 0000 0000'emailIsValid(email: string)
Verifica se um e-mail é válido.
Parâmetros:
email(string): O e-mail a ser verificado.
Retorno:
- (boolean):
truese o e-mail for válido,falsecaso contrário.
Exemplo de uso:
import { emailIsValid } from "uget-helpers";
const validEmail = "[email protected]";
const invalidEmail = "test@example";
console.log(emailIsValid(validEmail)); // true
console.log(emailIsValid(invalidEmail)); // falseformatDate(date: string | number | Date, style: 'short' | 'long' | 'complete')
Formata uma data.
Parâmetros:
date(string | number | Date): A data a ser formatada.style('short' | 'long' | 'complete'): O estilo de formatação.
Retorno:
- (string): A data formatada.
Estilos:
short:abril/2022long:22/04/2022complete:22/04/2022 às 17:14
Exemplo de uso:
import { formatDate } from "uget-helpers";
const date = new Date();
console.log(formatDate(date, "short"));
console.log(formatDate(date, "long"));
console.log(formatDate(date, "complete"));formatNumberToBRL(number: number)
Formata um número para o formato de moeda BRL.
Parâmetros:
number(number): O número a ser formatado.
Retorno:
- (string): O número formatado como moeda BRL.
Exemplo de uso:
import { formatNumberToBRL } from "uget-helpers";
const number = 10;
const formattedNumber = formatNumberToBRL(number);
console.log(formattedNumber); // 'R$ 10,00'landlineMask(landline: string)
Aplica uma máscara de telefone fixo.
Parâmetros:
landline(string): O número de telefone a ser formatado.
Retorno:
- (string): O número de telefone com a máscara.
Formato: (##) ####-####
Exemplo de uso:
import { landlineMask } from "uget-helpers";
const phoneNumber = "3140028922";
const maskedPhoneNumber = landlineMask(phoneNumber);
console.log(maskedPhoneNumber); // '(31) 4002-8922'mastercardMask(mastercardNumber: string)
Aplica uma máscara de cartão Mastercard.
Parâmetros:
mastercardNumber(string): O número do cartão a ser formatado.
Retorno:
- (string): O número do cartão com a máscara.
Formato: #### #### #### ####
Exemplo de uso:
import { mastercardMask } from "uget-helpers";
const cardNumber = "5123456789012345";
const maskedCardNumber = mastercardMask(cardNumber);
console.log(maskedCardNumber); // '5123 4567 8901 2345'phoneMask(phone: string)
Aplica uma máscara de telefone celular.
Parâmetros:
phone(string): O número de telefone a ser formatado.
Retorno:
- (string): O número de telefone com a máscara.
Formato: (##) #####-####
Exemplo de uso:
import { phoneMask } from "uget-helpers";
const phoneNumber = "31988888888";
const maskedPhoneNumber = phoneMask(phoneNumber);
console.log(maskedPhoneNumber); // '(31) 98888-8888'phoneNumberIsValid(number: string)
Verifica se um número de celular é válido.
Parâmetros:
number(string): O número a ser verificado.
Retorno:
- (boolean):
truese o número for válido,falsecaso contrário.
Exemplo de uso:
import { phoneNumberIsValid } from "uget-helpers";
const validPhoneNumber = "31988888888";
const invalidPhoneNumber = "3188888888";
console.log(phoneNumberIsValid(validPhoneNumber)); // true
console.log(phoneNumberIsValid(invalidPhoneNumber)); // falsergMask(rg: string)
Aplica uma máscara de RG.
Parâmetros:
rg(string): O RG a ser formatado.
Retorno:
- (string): O RG com a máscara.
Formato: ##.###.###
Exemplo de uso:
import { rgMask } from "uget-helpers";
const rg = "12345678";
const maskedRg = rgMask(rg);
console.log(maskedRg); // '12.345.678'visaMask(visaNumber: string)
Aplica uma máscara de cartão Visa.
Parâmetros:
visaNumber(string): O número do cartão a ser formatado.
Retorno:
- (string): O número do cartão com a máscara.
Formato: #### #### #### ####
Exemplo de uso:
import { visaMask } from "uget-helpers";
const cardNumber = "4123456789012345";
const maskedCardNumber = visaMask(cardNumber);
console.log(maskedCardNumber); // '4123 4567 8901 2345'whichCardFlag(numberOfCard: string)
Identifica a bandeira de um cartão de crédito.
Parâmetros:
numberOfCard(string): O número do cartão.
Retorno:
- (string | undefined): A bandeira do cartão (
visa,mastercard,americanExpress,elo) ouundefinedse não for identificada.
Exemplo de uso:
import { whichCardFlag } from "uget-helpers";
const visaCard = "4123456789012345";
const mastercardCard = "5123456789012345";
const amexCard = "371234567890123";
const eloCard = "4011780000000000";
console.log(whichCardFlag(visaCard)); // 'visa'
console.log(whichCardFlag(mastercardCard)); // 'mastercard'
console.log(whichCardFlag(amexCard)); // 'americanExpress'
console.log(whichCardFlag(eloCard)); // 'elo'Funções Back-end (Limpeza, Validação e Utilitários Gerais)
unmaskCpf(cpf: string)
Remove a máscara de um CPF, valida-o e retorna apenas os números se for válido.
Parâmetros:
cpf(string): O CPF que pode ou não estar com a máscara (ex: "123.456.789-00").
Retorno:
- (string | false): Retorna o CPF contendo apenas os números se for válido, ou
falsecaso seja inválido.
Exemplo de uso:
import { unmaskCpf } from "uget-helpers";
const maskedCpf = "111.444.777-05"; // CPF válido
const unmasked = unmaskCpf(maskedCpf);
console.log(unmasked); // '11144477705'
const invalidCpf = "111.111.111-11";
const result = unmaskCpf(invalidCpf);
console.log(result); // falseunmaskCnpj(cnpj: string)
Remove a máscara de um CNPJ, valida-o e retorna apenas os números se for válido.
Parâmetros:
cnpj(string): O CNPJ que pode ou não estar com a máscara (ex: "11.222.333/0001-81").
Retorno:
- (string | false): Retorna o CNPJ contendo apenas os números se for válido, ou
falsecaso seja inválido.
Exemplo de uso:
import { unmaskCnpj } from "uget-helpers";
const maskedCnpj = "11.222.333/0001-81"; // CNPJ válido
const unmasked = unmaskCnpj(maskedCnpj);
console.log(unmasked); // '11222333000181'
const invalidCnpj = "11.111.111/1111-11";
const result = unmaskCnpj(invalidCnpj);
console.log(result); // falseunmaskCep(cep: string)
Remove a máscara de um CEP e retorna apenas os números.
Parâmetros:
cep(string): O CEP que pode ou não estar com a máscara (ex: "12345-678").
Retorno:
- (string): Retorna o CEP contendo apenas os números.
Exemplo de uso:
import { unmaskCep } from "uget-helpers";
const maskedCep = "12345-678";
const unmasked = unmaskCep(maskedCep);
console.log(unmasked); // '12345678'unmaskPhone(phone: string)
Remove a máscara de um número de telefone, valida-o e retorna apenas os números se for válido.
Parâmetros:
phone(string): O número de telefone que pode ou não estar com a máscara (ex: "(31) 98888-8888").
Retorno:
- (string | false): Retorna o número de telefone contendo apenas os números se for válido, ou
falsecaso seja inválido.
Exemplo de uso:
import { unmaskPhone } from "uget-helpers";
const maskedPhone = "(31) 98888-8888"; // Telefone válido
const unmasked = unmaskPhone(maskedPhone);
console.log(unmasked); // '31988888888'
const invalidPhone = "31 8888-8888";
const result = unmaskPhone(invalidPhone);
console.log(result); // falseunmaskLandline(landline: string)
Remove a máscara de um número de telefone fixo, valida-o e retorna apenas os números se for válido.
Parâmetros:
landline(string): O número de telefone fixo que pode ou não estar com a máscara (ex: "(31) 4002-8922").
Retorno:
- (string | false): Retorna o número de telefone fixo contendo apenas os números se for válido, ou
falsecaso seja inválido.
Exemplo de uso:
import { unmaskLandline } from "uget-helpers";
const maskedLandline = "(31) 4002-8922"; // Telefone fixo válido
const unmasked = unmaskLandline(maskedLandline);
console.log(unmasked); // '3140028922'
const invalidLandline = "31 4002-892";
const result = unmaskLandline(invalidLandline);
console.log(result); // falsepick(obj: object, keys: string[])
Cria um novo objeto a partir de um objeto existente, contendo apenas as chaves especificadas.
Parâmetros:
obj(object): O objeto de origem.keys(string[]): Um array com os nomes das chaves a serem mantidas.
Retorno:
- (object): Um novo objeto contendo apenas as propriedades especificadas.
Exemplo de uso:
import { pick } from "uget-helpers";
const user = {
id: 1,
name: "Rafael",
email: "[email protected]",
password: "123",
};
const publicUser = pick(user, ["id", "name"]);
console.log(publicUser); // { id: 1, name: 'Rafael' }omit(obj: object, keys: string[])
Cria um novo objeto a partir de um objeto existente, omitindo as chaves especificadas.
Parâmetros:
obj(object): O objeto de origem.keys(string[]): Um array com os nomes das chaves a serem omitidas.
Retorno:
- (object): Um novo objeto sem as propriedades especificadas.
Exemplo de uso:
import { omit } from "uget-helpers";
const user = {
id: 1,
name: "Rafael",
email: "[email protected]",
password: "123",
};
const publicUser = omit(user, ["password", "email"]);
console.log(publicUser); // { id: 1, name: 'Rafael' }generateRandomString(length: number)
Gera uma string aleatória, criptograficamente segura, em formato hexadecimal.
Parâmetros:
length(number): O comprimento final da string a ser gerada.
Retorno:
- (string): Uma string aleatória hexadecimal.
Exemplo de uso:
import { generateRandomString } from "uget-helpers";
const token = generateRandomString(32);
console.log(token); // ex: "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"sanitize(data: any)
Sanitiza dados de forma recursiva, removendo tags HTML de todos os campos de string.
Parâmetros:
data(any): O dado a ser sanitizado (string, objeto, array, etc.).
Retorno:
- (any): O dado sanitizado, com todas as strings limpas.
Exemplo de uso:
import { sanitize } from "uget-helpers";
const userInput = {
comment: "<p>Ótimo post! <script>alert('XSS');</script></p>",
tags: ["<tag>Importante</tag>", "Segurança"],
};
const cleanInput = sanitize(userInput);
console.log(cleanInput);
// {
// comment: "Ótimo post! alert('XSS');",
// tags: ["Importante", "Segurança"]
// }groupBy(array: any[], key: string)
Agrupa os elementos de um array de objetos com base no valor de uma chave especificada.
Parâmetros:
array(any[]): O array de objetos a ser agrupado.key(string): A chave do objeto pela qual agrupar.
Retorno:
- (object): Um objeto onde as chaves são os valores de agrupamento.
Exemplo de uso:
import { groupBy } from "uget-helpers";
const products = [
{ name: "Maçã", category: "Fruta" },
{ name: "Banana", category: "Fruta" },
{ name: "Alface", category: "Verdura" },
];
const grouped = groupBy(products, "category");
console.log(grouped);
// {
// "Fruta": [{ "name": "Maçã", "category": "Fruta" }, { "name": "Banana", "category": "Fruta" }],
// "Verdura": [{ "name": "Alface", "category": "Verdura" }]
// }isEqual(a: any, b: any)
Realiza uma comparação profunda (deep equal) entre dois valores para determinar se são equivalentes.
Parâmetros:
a(any): O primeiro valor a ser comparado.b(any): O segundo valor a ser comparado.
Retorno:
- (boolean): Retorna
truese os valores forem equivalentes, caso contrário,false.
Exemplo de uso:
import { isEqual } from "uget-helpers";
const obj1 = { a: 1, b: { c: [2, 3] } };
const obj2 = { a: 1, b: { c: [2, 3] } };
const obj3 = { a: 1, b: { c: [3, 2] } };
console.log(isEqual(obj1, obj2)); // true
console.log(isEqual(obj1, obj3)); // falsedeepClone(value: any)
Cria uma cópia profunda (deep clone) de um valor (objeto, array, etc.).
Parâmetros:
value(any): O valor a ser clonado.
Retorno:
- (any): Uma cópia profunda do valor.
Exemplo de uso:
import { deepClone } from "uget-helpers";
const original = { a: 1, b: { c: 2 } };
const clone = deepClone(original);
clone.b.c = 99;
console.log(original.b.c); // 2
console.log(clone.b.c); // 99📄 Licença
Este projeto está licenciado sob a licença ISC. Veja o arquivo LICENSE para mais detalhes.
