Exemple #1
0
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));
};
Exemple #2
0
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
  });
}
Exemple #3
0
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)
}
Exemple #4
0
    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()
        })
    })
Exemple #5
0
    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();
        }
      );
    });    
Exemple #6
0
		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)))
			})
		})
Exemple #7
0
 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)
}
Exemple #9
0
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);
	});
}
Exemple #10
0
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);
Exemple #11
0
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;
  }
};
Exemple #12
0
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
}
Exemple #13
0
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;
	}
};
Exemple #14
0
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
Exemple #15
0
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)
})
Exemple #16
0
			.then(({ body, status }) => {
				expect(status).to.equal(200)
				expect(omit(['updatedAt', 'createdAt', 'opts'], body)).to.eql(omit(['updatedAt', 'createdAt'], merge(doc, updates)))
			})