![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
i-pet-utils
Advanced tools
npm install --save i-pet-utils
yarn add i-pet-utils
# install dependencies
yarn install
# build with minification
yarn release
# publish
bin/publish
import { i18n } from 'i-pet-utils'
// config locale
i18n.setLocale('pt_br')
i18n.addLocale({enums: {...}, db: {...}})
// usage
i18n.t('db.attributes.animal.nome')
i18n.t('enums.castracao.status.solicitado')
// com replaces
i18n.t('error.messasges.long_chars', {max: '15'})
i18n.hum('key_not_found') // return undefined
i18n.t('key_not_found') // return key_not_found
Exemplo de estrutura dos locales:
pt_br:
buttons:
save: 'Salvar'
#...
db:
attributes:
pessoa:
id: ID
cpf_cnpj: 'CPF/CNPJ'
#...
enums:
castracao:
status:
solicitado: Solicitado
#...
errors:
permission_denied: 'Permissão negada'
auth:
invalid_cpf_cnpj: 'O CPF/CNPJ é inválido'
#...
messages:
sign_out_confirm: 'Tem certeza que deseja sair?'
could_not_load_record: 'Não foi possível carregar o registro'
#...
#...
// gera id alfanumerico baseado no timestamp ordenado decrescente
import { idGeneratorDesc } from 'i-pet-utils'
var id = idGeneratorDesc() // zdja0I19bKcIxA73QjIA
// extrai o timestamp do ID desc
import { idDescTimestamp } from 'i-pet-utils'
var timestamp = idDescTimestamp('zdja0I19bKcIxA73QjIA') // 1529444224885
// gera ID numerico
import { idGeneratorNumeric } from 'i-pet-utils'
// default desc
var id = idGeneratorNumeric() // 84704117442938738166
var id = idGeneratorNumeric('desc') // 84704117442938738166
// asc
var id = idGeneratorNumeric('asc') // 15295883565621743713
import {
constCastracaoStatus,
constSaldoTipoTask,
constContaCorrenteTipo
} from 'i-pet-utils'
var solicitado = constCastracaoStatus.SOLICITADO
import { idCidadeAddressComponent, idCidade } from 'i-pet-utils'
// param address_components do google geo
var cidade_id = idCidadeAddressComponent(geo_address_components)
// uf, nome
var cidade_id = idCidade(uf, 'nome da cidade')
/**
* Calcula media das notas.
*
* @param notas Object
* @param precision Integer quantidade de casas decimais
*
* @returns Number
*/
import { getRate } from 'i-pet-utils'
/**
* Onde as keys sao as notas possiveis
* e os values a quantidade de vezes que se repete.
*/
var notas = {
1: 23,
2: 0,
3: 223,
4: 343,
5: 312
}
var precision = 2
var rate = getRate(notas, precision) // 4.02
Extendendo um model.
import { BaseModel, idGeneratorDesc } from 'i-pet-utils'
const attrs = {
id: idGeneratorDesc(),
cidade_id: '',
animal: {},
dono: {},
clinica: {},
status: '',
solicitado_em: Date.now(),
aprovado_em: null
}
class Castracao extends BaseModel {
constructor(obj) {
super(attrs, obj)
}
}
export default Castracao
// instanciando um model
var castracao = new Castracao({ status: 'solicitado' })
import { transliterate } from 'i-pet-utils'
var str = transliterate('São José') // sao jose
import { deepKey } from 'i-pet-utils'
var obj = {a: {a1: a2: 'Content'}}
var value = deepKey(obj, 'a.a1.a2') // Content
import { isObject } from 'i-pet-utils'
isObject({}) // true
isObject({ a: 1 }) // true
isObject('') // false
isObject([]) // false
isObject(1) // false
isObject(null) // false
import { isDate } from 'i-pet-utils'
isDate(new Date()) // true
isDate('') // false
isDate(null) // false
isDate(1) // false
import { isRegExp } from 'i-pet-utils'
isRegExp(new RegExp()) // true
isRegExp(/[0-9]/) // true
isRegExp(/[0-9]/g) // true
isRegExp(/ab1/g) // true
isRegExp('[0-9]') // false
import { deepMerge } from 'i-pet-utils'
var a = {
a: { a1: 'a1' }
}
var b = {
a: { a2: 'a2' },
b: { b1: 'a' }
}
deepMerge(a, b) // { a: { a1: 'a1', a2: 'a2' },b: { b1: 'a' }}
import { deepClone } from 'i-pet-utils'
var a = {
a: { a1: 'a1' }
}
deepClone(a)
import { ucfirst } from 'i-pet-utils'
ucfirst('abc') // Abc
FAQs
Biblioteca de utilidades para o projeto iPet
The npm package i-pet-utils receives a total of 1 weekly downloads. As such, i-pet-utils popularity was classified as not popular.
We found that i-pet-utils demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.