Skip to content

Instantly share code, notes, and snippets.

View suissa's full-sized avatar
🏠
Working from home

Jean Carlo Nascimento suissa

🏠
Working from home
  • Suissa Corp
  • Brasil
View GitHub Profile
@suissa
suissa / filter07.js
Last active August 29, 2018 21:31
JavaScript - groupby - filter 07
const toNewGroup = (field) => (result, obj) => ({
...result,
[obj[field]]: [...(result[obj[field]] || []), obj]
})
const groups = list.reduce(toNewGroup("level"), {})
@suissa
suissa / filter06.js
Last active August 29, 2018 21:31
JavaScript - groupby - filter 06
const toNewGroup = (field) => (result, obj) => {
result[obj[field]] = (!result[obj[field]])
? [obj]
: [...result[obj[field]], obj]
return result
}
const groups = list.reduce(toNewGroup("level"), {})
console.log(groups)
@suissa
suissa / filter05.js
Last active August 29, 2018 21:31
JavaScript - groupby - filter 05
const toNewGroup = (field) => (result, obj) => {
result[field] = (!result[field])
? [obj]
: [...result[field], obj]
return result
}
const groups = list.reduce(toNewGroup("level"), {})
console.log(groups)
@suissa
suissa / filter04.js
Created August 26, 2018 06:39
JavaScript - groupby - filter 04
{ senior:
[ { id: 1,
name: 'Suissa',
active: true,
level: 'senior',
tags: [Array] },
{ id: 2,
name: 'Bella',
active: true,
level: 'senior',
@suissa
suissa / filter03.js
Created August 26, 2018 06:35
JavaScript - groupby - filter 03
const plenos = list.filter(toGroup("level", "pleno"))
console.log({plenos})
/**
{ plenos:
[ { id: 4,
name: 'John',
level: 'pleno',
active: false,
tags: [Array] } ] }
@suissa
suissa / filter02.js
Created August 26, 2018 06:30
JavaScript - groupby - filter 02
const toGroup = (field, value) => (obj) =>
obj[field] === value
const filtered = list.filter(toGroup("level", "senior"))
console.log({filtered})
/**
{ filtered:
[ { id: 1,
name: 'Suissa',
@suissa
suissa / filter01.js
Created August 26, 2018 06:28
JavaScript - groupby - filter 01
const obj1 = {
id: 1,
name: "Suissa",
active: true,
level: "senior",
tags: [
"teacher",
"dev",
"js"
]
@suissa
suissa / ultimate-ut-cheat-sheet.md
Created August 21, 2018 21:22 — forked from yoavniran/ultimate-ut-cheat-sheet.md
The Ultimate Unit Testing Cheat-sheet For Mocha, Chai and Sinon

The Ultimate Unit Testing Cheat-sheet

For Mocha, Chai and Sinon

using mocha/chai/sinon for node.js unit-tests? check out my utility: mocha-stirrer to easily reuse test components and mock require dependencies


@suissa
suissa / my-factory.js
Last active August 9, 2018 11:42 — forked from hc3/my-factory.js
import nodemailer from 'nodemailer';
const transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 465,
secure: true, // use SSL
auth: {
user: "mailer@gmail.com",
pass: "senha"
}
@suissa
suissa / partition.2.js
Created July 8, 2018 22:32
Recriando a função _.partition
const toPartition = (partitioner) => (result, el) => {
if (partitioner(el))
result[0].push(el)
else
result[1].push(el)
return result
}
const partition = (list, partitioner) =>