Skip to content
/ jest Public
forked from jestjs/jest

Commit

Permalink
--wip-- [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
SimenB committed Feb 11, 2019
1 parent 8ee92dc commit c0db70f
Show file tree
Hide file tree
Showing 16 changed files with 3,629 additions and 0 deletions.
231 changes: 231 additions & 0 deletions packages/jest-haste-map/build/HasteFS.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,231 @@
'use strict';

Object.defineProperty(exports, '__esModule', {
value: true
});
exports.default = void 0;

function _micromatch() {
const data = _interopRequireDefault(require('micromatch'));

_micromatch = function _micromatch() {
return data;
};

return data;
}

function _jestUtil() {
const data = require('jest-util');

_jestUtil = function _jestUtil() {
return data;
};

return data;
}

var fastPath = _interopRequireWildcard(require('./lib/fast_path'));

var _constants = _interopRequireDefault(require('./constants'));

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)) {
var desc =
Object.defineProperty && Object.getOwnPropertyDescriptor
? Object.getOwnPropertyDescriptor(obj, key)
: {};
if (desc.get || desc.set) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
}
newObj.default = obj;
return newObj;
}
}

function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {default: obj};
}

/**
* Copyright (c) Facebook, Inc. and its affiliates. 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.
*/
class HasteFS {
constructor({rootDir, files}) {
this._rootDir = rootDir;
this._files = files;
}

getModuleName(file) {
const fileMetadata = this._getFileData(file);

return (fileMetadata && fileMetadata[_constants.default.ID]) || null;
}

getSize(file) {
const fileMetadata = this._getFileData(file);

return (fileMetadata && fileMetadata[_constants.default.SIZE]) || null;
}

getDependencies(file) {
const fileMetadata = this._getFileData(file);

return (
(fileMetadata && fileMetadata[_constants.default.DEPENDENCIES]) || null
);
}

getSha1(file) {
const fileMetadata = this._getFileData(file);

return (fileMetadata && fileMetadata[_constants.default.SHA1]) || null;
}

exists(file) {
return this._getFileData(file) != null;
}

getAllFiles() {
return Array.from(this.getAbsoluteFileIterator());
}

getFileIterator() {
return this._files.keys();
}

*getAbsoluteFileIterator() {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;

try {
for (
var _iterator = this.getFileIterator()[Symbol.iterator](), _step;
!(_iteratorNormalCompletion = (_step = _iterator.next()).done);
_iteratorNormalCompletion = true
) {
const file = _step.value;
yield fastPath.resolve(this._rootDir, file);
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}

matchFiles(pattern) {
if (!(pattern instanceof RegExp)) {
pattern = new RegExp(pattern);
}

const files = [];
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;

try {
for (
var _iterator2 = this.getAbsoluteFileIterator()[Symbol.iterator](),
_step2;
!(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done);
_iteratorNormalCompletion2 = true
) {
const file = _step2.value;

if (pattern.test(file)) {
files.push(file);
}
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
_iterator2.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}

return files;
}

matchFilesWithGlob(globs, root) {
const files = new Set();
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;

try {
for (
var _iterator3 = this.getAbsoluteFileIterator()[Symbol.iterator](),
_step3;
!(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done);
_iteratorNormalCompletion3 = true
) {
const file = _step3.value;
const filePath = root ? fastPath.relative(root, file) : file;

if (
_micromatch().default.some(
(0, _jestUtil().replacePathSepForGlob)(filePath),
globs
)
) {
files.add(file);
}
}
} catch (err) {
_didIteratorError3 = true;
_iteratorError3 = err;
} finally {
try {
if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
_iterator3.return();
}
} finally {
if (_didIteratorError3) {
throw _iteratorError3;
}
}
}

return files;
}

_getFileData(file) {
const relativePath = fastPath.relative(this._rootDir, file);
return this._files.get(relativePath);
}
}

exports.default = HasteFS;
Loading

0 comments on commit c0db70f

Please sign in to comment.