paliari-js-utils
Biblioteca de utilidades para JS
Installation
yarn add paliari-js-utils
Development
yarn install
yarn release
bin/publish
asyncJs
import { asyncJs } from 'paliari-js-utils'
asyncJs('https://your-url.com/your-lib.min.js')
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
}
}
Language
Para alterar a linguagem no browser
![](change-language.gif)
import fecha from 'fecha'
import { I18n, Language } from 'paliari-js-utils'
const i18n = new I18n(locales, 'pt_br')
const language = new Language(i18n, fecha)
import { Language } from 'paliari-js-utils'
export default {
install(vue, i18n, fecha) {
vue.prototype.$language = new Language(i18n, fecha)
vue.language = vue.prototype.$language
}
}
export default {
methods:{
changeLanguage(language) {
if (language !== this.$language.current) {
this.$language.current = language
this.$router.push({name: 'changing_language'})
}
}
}
}
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)
sanitize
import { sanitize } from 'paliari-js-utils'
var obj = {
a: { a1: 'a1', a2: 'a2' },
b: { b1: 'b1', b2: 'b2' },
c: 1,
d: 1
}
var rules = {
a: { a2: true},
b: true,
c: true }
}
sanitize(obj, rules)
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', ... }} }
LocalStorageFacade
- set item in local storage:
import { LocalStorageFacade } from 'paliari-js-utils'
LocalStorageFacade.setItem('your-local-storage-key', { id: 1 })
- get item in local storage:
import { LocalStorageFacade } from 'paliari-js-utils'
LocalStorageFacade.getItem('your-local-storage-key')
- remove item to local storage
import { LocalStorageFacade } from 'paliari-js-utils'
LocalStorageFacade.removeItem('your-local-storage-key')
import { LocalStorageFacade } from 'paliari-js-utils'
LocalStorageFacade.clear()
Facade for google Maps
import { idCidadeAddressComponent, idCidade } from 'paliari-js-utils'
var cidade_id = idCidadeAddressComponent(geo_address_components)
var cidade_id = idCidade(uf, 'nome da cidade')
import { nomeCidadeAddressComponent } from 'paliari-js-utils'
var cidade_nome = nomeCidadeAddressComponent(geo_address_components)
Converter address_component para string formatada
import { convertPlace } from 'paliari-js-utils'
var formatted = convertPlace(address_components)