Skip to content

Instantly share code, notes, and snippets.

View mathiasgheno's full-sized avatar
🏳️‍🌈

Mathias Gheno mathiasgheno

🏳️‍🌈
View GitHub Profile
// não irã funcionar, leia abaixo a explicação.
const resultado = objeto
|> removeNullish
|> makeLowerCase
|> addId
const resultado = addId(makeLowerCase(removeNullish(objeto)));
const hasMoreCharactersThan = (desired) => (value) => {
const size = value?.length;
if(size < desired) {
throw new Error(`Value is not more than ${desired} characters`);
}
return value;
}
const isValidDescription = hasMoreCharactersThan(100);
const isValidEmail = hasMoreCharactersThan(10);
/**
* @nosideeffects
* @param obj {Object}
* @param props {string[]}
* @return {Object}
*/
function makeLowerCase(obj, props) {
const _obj = { ...obj };
for (let prop of props) {
_obj[prop] = obj[prop].toLowerCase();
const pessoa = {
nome: 'mathias',
idade: 26,
profissoes: ['desenvolvedor', 'professor'],
}
const { profissoes } = pessoa;
const [ _, segundaProfissao ] = profissoes;
console.log(segundaProfissao); // professor
const pessoa = {
nome: 'mathias',
idade: 26,
profissoes: ['desenvolvedor', 'professor'],
}
const { profissoes } = pessoa;
const [ primeiraProfissao, segundaProfissao ] = profissoes;
console.log(primeiraProfissao); // desenvolvedor
function somar(...params) {
return params.reduce((acc, curr) => acc + curr, 0);
}
function _somar(a, b) {
return a + b;
}
function __somar(a, b, ...restante) {
return a + b;
}
function ___somar(...params) {
return params[0] + params[1];
function somar(a, b) {
return a + b;
}
somar(2, 2, 2);
const atualizacao = {
nome: 'mathias',
}
const pessoa = {
nome: 'matias',
idade: 26,
...atualizacao,
}