data-provider-temporary
Version:
Library that helps with server-to-client synchronization of data
59 lines (50 loc) • 1.6 kB
JavaScript
; /**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*
*/
const specialArgs = ['_', '$0', 'h', 'help', 'config'];var _require =
require('./utils');const isJSONString = _require.isJSONString;
function setFromArgv(options, argv) {
const argvToOptions = Object.keys(argv).
filter(key => argv[key] !== undefined && specialArgs.indexOf(key) === -1).
reduce((options, key) => {
switch (key) {
case 'coverage':
options.collectCoverage = argv[key];
break;
case 'json':
options.useStderr = argv[key];
break;
case 'watchAll':
options.watch = argv[key];
break;
case 'env':
options.testEnvironment = argv[key];
break;
case 'config':
break;
case 'coverageThreshold':
case 'globals':
case 'moduleNameMapper':
case 'transform':
case 'haste':
if (isJSONString(argv[key])) {
options[key] = JSON.parse(argv[key]);
}
break;
default:
options[key] = argv[key];}
return options;
}, {});
return Object.assign(
{},
options,
isJSONString(argv.config) ? JSON.parse(argv.config) : null,
argvToOptions);
}
module.exports = setFromArgv;