paliari-js-utils
Biblioteca de utilidades para JS
Installation
yarn add paliari-js-utils
Development
# install dependencies yarn install # build with minification yarn release # publish bin/publish
asyncJs
// Insere tag <script src="" /> no HTML programaticamente
i18n
// config localeconst locales = pt_br: enums: ... db: ...const i18n = locales 'pt_br' // change localei18n // Get localei18n // 'en' // Obtem os locais disponivesi18n //['en', 'pt_br', ...] // usagei18ni18n // com replacesi18n
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
const i18n = locales 'pt_br' { vueprototype$i18n = i18n vuei18n = vueprototype$i18n }
Language
Para alterar a linguagem no browser
const i18n = locales 'pt_br' const language = i18n fecha // Exemplo para Vuejs { vueprototype$language = i18n fecha vuelanguage = vueprototype$language } // Your component methods: { if language !== this$languagecurrent this$languagecurrent = language this$router }
BaseModel
Extendendo um model.
const attrs = id: cidade_id: '' animal: {} dono: {} clinica: {} status: '' solicitado_em: Date aprovado_em: null { superattrs obj } // instanciando um modelvar castracao = status: 'solicitado'
ID generator key for Firebase
// gera id alfanumerico baseado no timestamp ordenado decrescentevar id = // zdja0I19bKcIxA73QjIA // extrai o timestamp do ID descvar timestamp = // 1529444224885 // gera ID numerico// default descvar id = // 84704117442938738166var id = // 84704117442938738166// ascvar id = // 15295883565621743713
Consultar próximo ID (Usado na paginação)
//zdit9URuO2T9VdC0h-2m //zdit9URuO2T9VdC0h-2k
starRating
/** * Calcula media das notas. * * @param notas Object * @param precision Integer quantidade de casas decimais * * @returns Number */ /** * 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: 312var precision = 2 var rate = // 4.02
Transliterate
var str = // sao jose
deepKey
var obj = a: a1: a2: 'Content'var value = // Content
getClassName
// Object // Function // Array // Date // RegExp // Number // String // Null // Undefined
isObject
// true // true // true // false // false
isHash
// true // true // false // false // false // false
isDate
// true // false // false // false
isRegExp
// true // true // true // true // false
deepMerge
var a = a: a1: 'a1' var b = a: a2: 'a2' b: b1: 'a' // { a: { a1: 'a1', a2: 'a2' },b: { b1: 'a' }}
deepClone
var a = a: a1: 'a1'
sanitize
var obj = a: a1: 'a1' a2: 'a2' b: b1: 'b1' b2: 'b2' c: 1 d: 1var rules = a: a2: true b: true c: true } // {a: {a2: 'a2'}, b: {b1: 'b1', b2: 'b2'}, c: 1}
jsEncode
// Mg0W0f1
ucfirst
// Abc
prepareKey
// a.b.c_d
flattenObject
const a = castracoes: '-41iosdoii': nome: 'Bilu' ... // { 'castracoes/-41iosdoii/nome': 'Bilu', ... }
LocalStorageFacade
- set item in local storage:
// key, itemLocalStorageFacade
- get item in local storage:
// keyLocalStorageFacade // { id: 1 }
- remove item to local storage
// keyLocalStorageFacade
- clear local storage
LocalStorageFacadeclear
Facade for google Maps
Extrair ID da cidade
// param address_components do google geovar cidade_id = // uf, nomevar cidade_id =
Extrair nome da cidade
// Param address_components do google geo// Ex: cidade_nome = Maringá - PR - Brasilvar cidade_nome =
Converter address_component para string formatada
// param address_components do google geovar formatted =