paliari-js-utils
Biblioteca de utilidades para JS
Installation
yarn add paliari-js-utils
Development
yarn install
yarn release
bin/publish
i18n
import { I18n } from 'paliari-js-utils'
const locales = {
pt_br: {enums: {...}, db: {...}}
}
const i18n = new I18n(locales, 'pt_br')
i18n.setLocale('en')
i18n.getLocale()
i18n.getAvailableLocales()
i18n.t('db.attributes.animal.nome')
i18n.t('enums.castracao.status.solicitado')
i18n.t('error.messasges.long_chars', {max: '15'})
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'
Exemplo de config para Vuejs
import { I18n } from 'paliari-js-utils'
const i18n = new I18n(locales, 'pt_br')
export default {
install(vue) {
vue.prototype.$i18n = i18n
vue.i18n = vue.prototype.$i18n
}
}
BaseModel
Extendendo um model.
import { BaseModel, idGeneratorDesc } from 'paliari-js-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
var castracao = new Castracao({ status: 'solicitado' })
ID generator key for Firebase
import { idGeneratorDesc } from 'paliari-js-utils'
var id = idGeneratorDesc()
import { idDescTimestamp } from 'paliari-js-utils'
var timestamp = idDescTimestamp('zdja0I19bKcIxA73QjIA')
import { idGeneratorNumeric } from 'paliari-js-utils'
var id = idGeneratorNumeric()
var id = idGeneratorNumeric('desc')
var id = idGeneratorNumeric('asc')
Consultar próximo ID (Usado na paginação)
import { nextId, prevId } from 'paliari-js-utils'
nextId('zdit9URuO2T9VdC0h-2l')
prevID('zdit9URuO2T9VdC0h-2l')
starRating
import { starRating } from 'paliari-js-utils'
var notas = {
1: 23,
2: 0,
3: 223,
4: 343,
5: 312
}
var precision = 2
var rate = starRating(notas, precision)
Transliterate
import { transliterate } from 'paliari-js-utils'
var str = transliterate('São José')
deepKey
import { deepKey } from 'paliari-js-utils'
var obj = {a: {a1: a2: 'Content'}}
var value = deepKey(obj, 'a.a1.a2')
getClassName
import { getClassName } from 'paliari-js-utils'
getClassName({})
getClassName(function() {})
getClassName([])
getClassName(new Date())
getClassName(/a/)
getClassName(1)
getClassName('')
getClassName(null)
getClassName(undefined)
isObject
import { isObject } from 'paliari-js-utils'
isObject({})
isObject({ a: 1 })
isObject([])
isObject(1)
isObject(null)
isHash
import { isHash } from 'paliari-js-utils'
isHash({})
isHash({ a: 1 })
isHash('')
isHash([])
isHash(1)
isHash(null)
isDate
import { isDate } from 'paliari-js-utils'
isDate(new Date())
isDate('')
isDate(null)
isDate(1)
isRegExp
import { isRegExp } from 'paliari-js-utils'
isRegExp(new RegExp())
isRegExp(/[0-9]/)
isRegExp(/[0-9]/g)
isRegExp(/ab1/g)
isRegExp('[0-9]')
deepMerge
import { deepMerge } from 'paliari-js-utils'
var a = {
a: { a1: 'a1' }
}
var b = {
a: { a2: 'a2' },
b: { b1: 'a' }
}
deepMerge(a, b)
deepClone
import { deepClone } from 'paliari-js-utils'
var a = {
a: { a1: 'a1' }
}
deepClone(a)
jsEncode
import { jsEncode } from 'paliari-js-utils'
jsEncode('Abacaxi')
ucfirst
import { ucfirst } from 'paliari-js-utils'
ucfirst('abc')
prepareKey
import { prepareKey } from 'paliari-js-utils'
prepareKey('a.b/c-D')
flattenObject
import { flattenObject } from 'paliari-js-utils'
const a = { castracoes: {'-41iosdoii': { nome: 'Bilu', ... }} }
Facade for google Maps
import { idCidadeAddressComponent, idCidade } from 'i-pet-utils'
var cidade_id = idCidadeAddressComponent(geo_address_components)
var cidade_id = idCidade(uf, 'nome da cidade')
Converter address_component para string formatada
import { convertPlace } from 'i-pet-utils'
var formatted = convertPlace(address_components)