Routes.prototype.from = function _from(node) { if(_.isString(node)) { node = this.nodes[node]; } assert(node, 'from: Bad or missing node argument: ' + node); // Generate a stateful API with a reference to the nodes & originMap collections return _.flow( _.merge(this), _.merge({ path: [node], routes: [], visited: {} }) )(Object.create(api)); };
function options (args) { var defaults = readDefaults(); return merge(defaults, { "slides": args.s || args["slides-dir"], "skipReveal": args["skip-reveal"], "skipIndex": args["skip-index"], "skipUser": args["skip-user"], "keepHidden": args["keep-hidden"], "print": args.print, "printTheme": args["print-theme"], "killServerAfterPrint": args.killServerAfterPrint, "phantomjs": args.phantomjs, "suchNotes": args["such-notes"], "theme": args.theme, "highlightTheme": args["highlight-theme"], "dynamicTheme": !args["no-dynamic-theme"], "watch": args.w || args.watch, "subCovers": args["sub-covers"], // meta "title": args.title, "author": args.author, "description": args.description }); }
function authRequest (config, path, data) { if (!config.key || !config.secret || !config.clientId) { const err = new Error('Must provide key, secret and client ID') return Promise.reject(err) } data = data || {} const nonce = generateNonce() const msg = [nonce, config.clientId, config.key].join('') const signature = crypto .createHmac('sha256', Buffer.from(config.secret)) .update(msg) .digest('hex') .toUpperCase() const signedData = _.merge(data, { key: config.key, signature: signature, nonce: nonce }) return request(path, 'POST', signedData) }
before(done => { const config = _.merge(require('../../../Config'), { controlServerPort: testControlServerPort }) const logger = Bunyan.createLogger({ name: 'foobar2000-web-ui-test', serializers: Bunyan.stdSerializers, streams: [ { path: `${Path.resolve(__dirname, '..')}/test.log` } ] }) mockControlServer = MockControlServer.createServer( '127.0.0.1', testControlServerPort ) ControlServer.connect(config.controlServerPort, logger).then(client => { const context = { config, logger, client } const { server, io } = Server.createServer() Server.configureWebsockets(context, io) ioInstance = io testServer = server testServer.listen(testServerPort) done() }) })
it('should pull & merge json data from consul', function(done) { var eventStub = sinon.stub(); var expected = _.flow(_.merge(unit.fixture('consul_kv_b.json')), _.merge(unit.fixture('consul_kv_a.json')))({}); cli.pull.__handler({ prefix: 'unittest', path: ['consul_kv_a.json', 'consul_kv_b.json'], format: 'json' }).subscribe( eventStub, function(err) { expect(err).to.not.exist; }, function() { expect(eventStub).to.have.been.calledOnce; expect(eventStub.firstCall.args[0]).to.deep.equal(expected); done(); } ); });
it('PUT /:id (update)', () => { const updates = update({ admin, organization }) const data = merge(doc, updates) return query('put', root + '/' + doc.id + '?organization=' + organization.id, data) .then(({ body, status }) => { expect(status).to.equal(200) expect(omit(['updatedAt', 'createdAt', 'opts'], body)).to.eql(omit(['updatedAt', 'createdAt'], merge(doc, updates))) }) })
Object.keys(config).forEach(function(name) { const options = getOptions(name, config[name]); const container = fp.mapValues(function(mod) { if (fp.isFunction(mod)) { return mod(mycro); } return mod; }, include(options)); if (Object.keys(container).length > 0) { mycro[name] = fp.merge(mycro[name], container); } }, {});
function update (t, tx, changes) { if (_.isEmpty(changes)) return Promise.resolve(tx) const dbChanges = toDb(changes) const sql = pgp.helpers.update(dbChanges, null, 'cash_out_txs') + pgp.as.format(' where id=$1', [tx.id]) const newTx = _.merge(tx, changes) return t.none(sql) .then(() => newTx) }
export function createInstance(config, parentName) { config = merge({}, config); if (!Utils.configValidator(config)) return; const modulesToDestory = moduleS.filter(moduleInstance => moduleInstance.instanceConfig.container === config.instanceConfig.container); modulesToDestory.forEach((moduleInstance) => { destroyModuleInstance(moduleInstance); }); let moduleResolvePromiseArr = [], promise, patchModules = []; _registerModule.call(this, config.moduleName, config, config.module, config.instanceConfig, patchModules, parentName); _startExec.call(this, patchModules, moduleResolvePromiseArr); return new Promise((res, rej) => { Promise.all(moduleResolvePromiseArr).then(res).catch(rej); }); }
const { partial, partialRight, toPairs, fromPairs, map, pipe, transform, merge } = require('lodash/fp') const _ = require('lodash/fp') const a = { test: 'aa', test1: 'bb' } const ccc = pipe( toPairs, map(([k, v]) => { return [k + 1, v + 2] }), fromPairs, merge(a) )(a) console.log(ccc);
var _registerModule = function _registerModule(moduleName, config) { var instance = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : config.module; var instanceConfig = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : config.instanceConfig; var patchModuleArray = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : []; var parent = arguments[5]; var parentMeta = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : parent && parent.meta; if (typeof parent === 'string') { parent = moduleS.find(function (module) { return module.name === parent; }); parentMeta = parent && parent.meta; } var parentName = config.name ? config.name.split('.') : undefined, foundModules = void 0; if (parent && parent.instanceConfig && parent.instanceConfig.modules && parent.instanceConfig.modules.length) { var configFromParent = parent.instanceConfig.modules.filter(function (parentSibling) { return parentSibling.moduleName === moduleName; }); if (configFromParent && configFromParent.length) { var parentInstance = configFromParent[0].instanceConfig || {}; instanceConfig.placeholders = parentInstance.placeholders || instanceConfig.placeholders; instanceConfig.listensTo = parentInstance.listensTo || instanceConfig.listensTo; } } if (instanceConfig.placeholders && instance && instance.config && instance.config.placeholders) { instanceConfig.placeholders = merge(instance.config.placeholders, instanceConfig.placeholders); } if (this instanceof Module) { var parentId = this.getUniqueId(); foundModules = moduleS.filter(function (module) { return module.meta.id === parentId; }); } else if (!parent && parentName && parentName.length === 2) { foundModules = moduleS.filter(function (module) { return module.name === parentName[0]; }); } if (foundModules && foundModules.length) { parent = foundModules[0]; parentMeta = parent.meta; } var meta = { id: Utils.getNextUniqueId(), parent: { id: parentMeta && parentMeta.id ? parentMeta.id : undefined, pointer: parent }, children: [], siblings: parentMeta ? [].concat(parentMeta.children) : [] }; var moduleDetail = new Module(config.name, moduleName, CONSTANTS.lifeCycleFlags, instanceConfig, instance, meta); // Store module moduleS.insertInstance(moduleDetail); patchModuleArray.push(moduleDetail); _registerSubscription(moduleDetail); _emitLifeCycleEvent(moduleDetail, '_CREATED'); _onBreath(moduleDetail, CONSTANTS.onStatusChange_EVENTS.onCreate); if (parentMeta) { meta.siblings = [].concat(parentMeta.children); parentMeta.children.push({ id: meta.id, pointer: moduleDetail }); } // Has child modules if (instance.config && instance.config.modules && instance.config.modules.length) { instance.config.modules.forEach(function (childModule) { _registerModule(childModule.moduleName, childModule, childModule.module, childModule.instanceConfig, patchModuleArray, moduleDetail); }); } else { return patchModuleArray; } };
export const reducer = styleObj => (res = {}, item) => { if (!item) return res if (isPlainObject(item)) return merge(res, item) if (isString(item)) return merge(res, processString(styleObj)(item)) return res }
const _registerModule = function (moduleName, config, instance = config.module, instanceConfig = config.instanceConfig, patchModuleArray = [], parent, parentMeta = parent && parent.meta) { if (typeof parent === 'string') { parent = moduleS.find(module => module.name === parent); parentMeta = parent && parent.meta; } let parentName = config.name ? config.name.split('.') : undefined, foundModules; if (parent && parent.instanceConfig && parent.instanceConfig.modules && parent.instanceConfig.modules.length) { const configFromParent = parent.instanceConfig.modules.filter(parentSibling => parentSibling.moduleName === moduleName); if (configFromParent && configFromParent.length) { const parentInstance = configFromParent[0].instanceConfig || {}; instanceConfig.placeholders = parentInstance.placeholders || instanceConfig.placeholders; instanceConfig.listensTo = parentInstance.listensTo || instanceConfig.listensTo; } } if (instanceConfig.placeholders && instance && instance.config && instance.config.placeholders) { instanceConfig.placeholders = merge(instance.config.placeholders, instanceConfig.placeholders); } if (this instanceof Module) { const parentId = this.getUniqueId(); foundModules = moduleS.filter(module => module.meta.id === parentId); } else if (!parent && parentName && parentName.length === 2) { foundModules = moduleS.filter(module => module.name === parentName[0]); } if (foundModules && foundModules.length) { parent = foundModules[0]; parentMeta = parent.meta; } const meta = { id: Utils.getNextUniqueId(), parent: { id: parentMeta && parentMeta.id ? parentMeta.id : undefined, pointer: parent, }, children: [], siblings: parentMeta ? [].concat(parentMeta.children) : [], }; const moduleDetail = new Module(config.name, moduleName, CONSTANTS.lifeCycleFlags, instanceConfig, instance, meta); // Store module moduleS.insertInstance(moduleDetail); patchModuleArray.push(moduleDetail); _registerSubscription(moduleDetail); _emitLifeCycleEvent(moduleDetail, '_CREATED'); _onBreath(moduleDetail, CONSTANTS.onStatusChange_EVENTS.onCreate); if (parentMeta) { meta.siblings = [].concat(parentMeta.children); parentMeta.children.push({ id: meta.id, pointer: moduleDetail, }); } // Has child modules if (instance.config && instance.config.modules && instance.config.modules.length) { instance.config.modules.forEach((childModule) => { _registerModule(childModule.moduleName, childModule, childModule.module, childModule.instanceConfig, patchModuleArray, moduleDetail); }); } else { return patchModuleArray; } };
function stack () { this.emit('billValid') } function reject () { this.emit('billRejected') } function lowestBill (fiat) { const bills = _.values(this.denominations) const filtered = bills.filter(bill => fiat.lte(bill)) if (_.isEmpty(filtered)) return BN(Infinity) return BN(_.min(filtered)) } function highestBill (fiat) { const bills = _.values(this.denominations) const filtered = bills.filter(bill => fiat.gte(bill)) if (_.isEmpty(filtered)) return BN(-Infinity) return BN(_.max(filtered)) } function hasDenominations () { return this.denominations !== null } Id003.prototype = _.merge(Id003.prototype, functions) module.exports = Id003
const _ = require('lodash/fp') const scanner = require('../lib/scanner') const config = require('../device_config.json') const licenses = require('../licenses.json') _config = _.merge(config, licenses) scanner.config(_config.scanner) scanner.scanMainQR('BTC', (err, address) => { if (err) throw err console.log(address) })
.then(({ body, status }) => { expect(status).to.equal(200) expect(omit(['updatedAt', 'createdAt', 'opts'], body)).to.eql(omit(['updatedAt', 'createdAt'], merge(doc, updates))) })