'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _path; function _load_path() { return (_path = _interopRequireDefault(require('path'))); } var _micromatch; function _load_micromatch() { return (_micromatch = _interopRequireDefault(require('micromatch'))); } var _constants; function _load_constants() { return (_constants = _interopRequireDefault(require('./constants'))); } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : {default: obj}; } class HasteFS { constructor(files) { this._files = files; } getModuleName(file) { return ( (this._files[file] && this._files[file][(_constants || _load_constants()).default.ID]) || null ); } getDependencies(file) { return ( (this._files[file] && this._files[file][ (_constants || _load_constants()).default.DEPENDENCIES ]) || null ); } getSha1(file) { return ( (this._files[file] && this._files[file][(_constants || _load_constants()).default.SHA1]) || null ); } exists(file) { return !!this._files[file]; } getAllFiles() { return Object.keys(this._files); } matchFiles(pattern) { if (!(pattern instanceof RegExp)) { pattern = new RegExp(pattern); } const files = []; for (const file in this._files) { if (pattern.test(file)) { files.push(file); } } return files; } matchFilesWithGlob(globs, root) { const files = new Set(); for (const file in this._files) { const filePath = root ? (_path || _load_path()).default.relative(root, file) : file; if ( (0, (_micromatch || _load_micromatch()).default)([filePath], globs) .length ) { files.add(file); } } return files; } } exports.default = HasteFS; /** * 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. * * */