hz-zhhq-web/node_modules/jest-haste-map/build/worker.js

235 lines
5.5 KiB
JavaScript

'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.getSha1 = exports.worker = undefined;
let worker = (exports.worker = (() => {
var _ref = _asyncToGenerator(function*(data) {
if (
data.hasteImplModulePath &&
data.hasteImplModulePath !== hasteImplModulePath
) {
if (hasteImpl) {
throw new Error('jest-haste-map: hasteImplModulePath changed');
}
hasteImplModulePath = data.hasteImplModulePath;
// $FlowFixMe: dynamic require
hasteImpl = require(hasteImplModulePath);
}
let content;
let dependencies;
let id;
let module;
let sha1;
const computeDependencies = data.computeDependencies,
computeSha1 = data.computeSha1,
filePath = data.filePath;
const getContent = function() {
if (content === undefined) {
content = (_gracefulFs || _load_gracefulFs()).default.readFileSync(
filePath,
'utf8'
);
}
return content;
};
if (filePath.endsWith(PACKAGE_JSON)) {
// Process a package.json that is returned as a PACKAGE type with its name.
try {
const fileData = JSON.parse(getContent());
if (fileData.name) {
id = fileData.name;
module = [
filePath,
(_constants || _load_constants()).default.PACKAGE
];
}
} catch (err) {
throw new Error(`Cannot parse ${filePath} as JSON: ${err.message}`);
}
} else if (
!(_blacklist || _load_blacklist()).default.has(
filePath.substr(filePath.lastIndexOf('.'))
)
) {
// Process a random file that is returned as a MODULE.
if (hasteImpl) {
id = hasteImpl.getHasteName(filePath);
} else {
const doc = (_jestDocblock || _load_jestDocblock()).parse(
(_jestDocblock || _load_jestDocblock()).extract(getContent())
);
id = [].concat(doc.providesModule || doc.provides)[0];
}
if (computeDependencies) {
dependencies = (0,
(_extract_requires || _load_extract_requires()).default)(getContent());
}
if (id) {
module = [filePath, (_constants || _load_constants()).default.MODULE];
}
}
// If a SHA-1 is requested on update, compute it.
if (computeSha1) {
sha1 = sha1hex(
getContent() ||
(_gracefulFs || _load_gracefulFs()).default.readFileSync(filePath)
);
}
return {dependencies: dependencies, id: id, module: module, sha1: sha1};
});
return function worker(_x) {
return _ref.apply(this, arguments);
};
})());
let getSha1 = (exports.getSha1 = (() => {
var _ref2 = _asyncToGenerator(function*(data) {
const sha1 = data.computeSha1
? sha1hex(
(_gracefulFs || _load_gracefulFs()).default.readFileSync(
data.filePath
)
)
: null;
return {
dependencies: undefined,
id: undefined,
module: undefined,
sha1: sha1
};
});
return function getSha1(_x2) {
return _ref2.apply(this, arguments);
};
})());
var _crypto;
function _load_crypto() {
return (_crypto = _interopRequireDefault(require('crypto')));
}
var _path;
function _load_path() {
return (_path = _interopRequireDefault(require('path')));
}
var _jestDocblock;
function _load_jestDocblock() {
return (_jestDocblock = _interopRequireWildcard(require('jest-docblock')));
}
var _gracefulFs;
function _load_gracefulFs() {
return (_gracefulFs = _interopRequireDefault(require('graceful-fs')));
}
var _blacklist;
function _load_blacklist() {
return (_blacklist = _interopRequireDefault(require('./blacklist')));
}
var _constants;
function _load_constants() {
return (_constants = _interopRequireDefault(require('./constants')));
}
var _extract_requires;
function _load_extract_requires() {
return (_extract_requires = _interopRequireDefault(
require('./lib/extract_requires')
));
}
function _interopRequireWildcard(obj) {
if (obj && obj.__esModule) {
return obj;
} else {
var newObj = {};
if (obj != null) {
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key))
newObj[key] = obj[key];
}
}
newObj.default = obj;
return newObj;
}
}
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {default: obj};
}
function _asyncToGenerator(fn) {
return function() {
var gen = fn.apply(this, arguments);
return new Promise(function(resolve, reject) {
function step(key, arg) {
try {
var info = gen[key](arg);
var value = info.value;
} catch (error) {
reject(error);
return;
}
if (info.done) {
resolve(value);
} else {
return Promise.resolve(value).then(
function(value) {
step('next', value);
},
function(err) {
step('throw', err);
}
);
}
}
return step('next');
});
};
}
/**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*
*/
const PACKAGE_JSON = (_path || _load_path()).default.sep + 'package.json';
let hasteImpl = null;
let hasteImplModulePath = null;
function sha1hex(content) {
return (_crypto || _load_crypto()).default
.createHash('sha1')
.update(content)
.digest('hex');
}