View download.js
export const download = async (params = {}) => {
const caching = await fetch(params.url, params)
const fileName = caching.headers.get('Content-Disposition')
const ext = fileName.split('.')[fileName.split('.').length - 1].replace('"', '')
const blob = await caching.blob()
const url = await URL.createObjectURL(blob)
const a = document.createElement("a");
a.href = url
a.download = `Reports.${ext}`
a.click()
View pipe.js
const pipe = (...functions) => data =>
functions.reduce((value, func) => func(value), data)
View compose.js
const compose = (...functions) => data =>
functions.reduceRight((value, func) => func(value), data)
View chunk.md

chunk

Como eu NÃO ESTOU LENDO NADA DA DOCUMENTAÇÃO para fazer esse estudo pois eu simplesmente peço um exemplo do uso da função o qual foi me passado esse exemplo:

const _ = require('lodash')

const data = [1, 3, 8, 1, 9, 11, 25, 63, 75, 45, 85]
View lib.uniq.js
const _ = require('underscore');
const list = [{"nome":"Rio Grande do Sul","id_estado":"23","sigla":"RS","id_cidade":"4174","nome_cidade":"Porto Alegre","guid":"28935af6-726e-48a5-518d-826c82269faa"},
{"nome":"Minas Gerais","id_estado":"11","sigla":"MG","id_cidade":"1630","nome_cidade":"Belo Horizonte","guid":"d3573f8e-a195-6281-83c7-9894c6555bee"},
{"nome":"Rio Grande do Sul","id_estado":"23","sigla":"RS","id_cidade":"4031","nome_cidade":"Gramado","guid":"c82a22b6-b13f-8190-f243-34efddcf561c"}];
const getUniq = field => fromThisList =>
_.uniq(fromThisList, obj => obj[field])
const fn = obj => obj['id_estado']
View FP-Matematica-Basica-DESAFIO-DA-DIVISAO.md
View index.js
const mergeObjects = Object.assign
const removeEmpty = e => e !== ''
const filterRemovingEmpty = list => list.filter(removeEmpty)
const isEqual = (x, y) => (x === y)
const AND = (x, y) => (x && y)
const splitByChar = (str, char) => str.split(char)
const splitAndRemoveEmpty = (str, char) =>
filterRemovingEmpty(splitByChar(str, char))
const createObject = (key, val) => ({ [key]: val})
View api.js
'use strict'
const methods = require('./methods')
/** */
const getMethod = (req) => req.method.toLowerCase()
const end = (res, method) => {
console.log('request incorrect: ', method)
res.end()
}
View commands.js
module.exports = {
addMultiSigAddress: 'addmultisigaddress',
addNode: 'addnode', // litecoind v0.8+
backupWallet: 'backupwallet',
banNode: 'bannode', // OMG2 only
createMultisig: 'createmultisig',
createRawTransaction: 'createrawtransaction',
decodeRawTransaction: 'decoderawtransaction',
dumpPrivKey: 'dumpprivkey',
encryptWallet: 'encryptwallet',
View lazy_callback.md

Lazy Callback - Se não existia agora existe!

Esse artigo será apenas a introdução à esse conceito que me veio como uma solução específica para o uso de temporizadores como setInterval.

Aviso

Esse código foi feito para rodar no BACKEND com Node.js > 8.9

Problema