1 | "use strict";
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 | exports.FileSet = void 0;
|
7 | const glob_1 = __importDefault(require("glob"));
|
8 | const apollo_tools_1 = require("@apollographql/apollo-tools");
|
9 | const utilities_1 = require("./utilities");
|
10 | class FileSet {
|
11 | constructor({ rootURI, includes, excludes, configURI, }) {
|
12 | (0, apollo_tools_1.invariant)(rootURI, `Must provide "rootURI".`);
|
13 | (0, apollo_tools_1.invariant)(includes, `Must provide "includes".`);
|
14 | (0, apollo_tools_1.invariant)(excludes, `Must provide "excludes".`);
|
15 | this.rootURI = rootURI;
|
16 | this.includes = includes;
|
17 | this.excludes = excludes;
|
18 | }
|
19 | includesFile(filePath) {
|
20 | return this.allFiles().includes((0, utilities_1.normalizeURI)(filePath));
|
21 | }
|
22 | allFiles() {
|
23 | const joinedIncludes = `{${this.includes.join(",")}}`;
|
24 | return glob_1.default
|
25 | .sync(joinedIncludes, {
|
26 | cwd: this.rootURI.fsPath,
|
27 | absolute: true,
|
28 | ignore: this.excludes,
|
29 | })
|
30 | .map(utilities_1.normalizeURI);
|
31 | }
|
32 | }
|
33 | exports.FileSet = FileSet;
|
34 |
|
\ | No newline at end of file |