@opensumi/ide-utils 2.16.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/lib/ansi.d.ts +5 -0
  2. package/lib/ansi.d.ts.map +1 -0
  3. package/lib/ansi.js +14 -0
  4. package/lib/ansi.js.map +1 -0
  5. package/lib/arrays.d.ts +49 -0
  6. package/lib/arrays.d.ts.map +1 -0
  7. package/lib/arrays.js +275 -0
  8. package/lib/arrays.js.map +1 -0
  9. package/lib/async.d.ts +185 -0
  10. package/lib/async.d.ts.map +1 -0
  11. package/lib/async.js +467 -0
  12. package/lib/async.js.map +1 -0
  13. package/lib/buffer.d.ts +35 -0
  14. package/lib/buffer.d.ts.map +1 -0
  15. package/lib/buffer.js +174 -0
  16. package/lib/buffer.js.map +1 -0
  17. package/lib/cache.d.ts +12 -0
  18. package/lib/cache.d.ts.map +1 -0
  19. package/lib/cache.js +37 -0
  20. package/lib/cache.js.map +1 -0
  21. package/lib/cancellation.d.ts +23 -0
  22. package/lib/cancellation.d.ts.map +1 -0
  23. package/lib/cancellation.js +120 -0
  24. package/lib/cancellation.js.map +1 -0
  25. package/lib/charCode.d.ts +406 -0
  26. package/lib/charCode.d.ts.map +1 -0
  27. package/lib/charCode.js +8 -0
  28. package/lib/charCode.js.map +1 -0
  29. package/lib/character-classifier.d.ts +25 -0
  30. package/lib/character-classifier.d.ts.map +1 -0
  31. package/lib/character-classifier.js +59 -0
  32. package/lib/character-classifier.js.map +1 -0
  33. package/lib/const/encoding.d.ts +10 -0
  34. package/lib/const/encoding.d.ts.map +1 -0
  35. package/lib/const/encoding.js +244 -0
  36. package/lib/const/encoding.js.map +1 -0
  37. package/lib/const/index.d.ts +2 -0
  38. package/lib/const/index.d.ts.map +1 -0
  39. package/lib/const/index.js +5 -0
  40. package/lib/const/index.js.map +1 -0
  41. package/lib/date.d.ts +2 -0
  42. package/lib/date.d.ts.map +1 -0
  43. package/lib/date.js +22 -0
  44. package/lib/date.js.map +1 -0
  45. package/lib/decorators.d.ts +11 -0
  46. package/lib/decorators.d.ts.map +1 -0
  47. package/lib/decorators.js +151 -0
  48. package/lib/decorators.js.map +1 -0
  49. package/lib/disposable.d.ts +88 -0
  50. package/lib/disposable.d.ts.map +1 -0
  51. package/lib/disposable.js +316 -0
  52. package/lib/disposable.js.map +1 -0
  53. package/lib/encoding.d.ts +34 -0
  54. package/lib/encoding.d.ts.map +1 -0
  55. package/lib/encoding.js +217 -0
  56. package/lib/encoding.js.map +1 -0
  57. package/lib/errors.d.ts +56 -0
  58. package/lib/errors.d.ts.map +1 -0
  59. package/lib/errors.js +148 -0
  60. package/lib/errors.js.map +1 -0
  61. package/lib/event.d.ts +268 -0
  62. package/lib/event.d.ts.map +1 -0
  63. package/lib/event.js +816 -0
  64. package/lib/event.js.map +1 -0
  65. package/lib/file-uri.d.ts +15 -0
  66. package/lib/file-uri.d.ts.map +1 -0
  67. package/lib/file-uri.js +46 -0
  68. package/lib/file-uri.js.map +1 -0
  69. package/lib/filters.d.ts +47 -0
  70. package/lib/filters.d.ts.map +1 -0
  71. package/lib/filters.js +698 -0
  72. package/lib/filters.js.map +1 -0
  73. package/lib/functional.d.ts +4 -0
  74. package/lib/functional.d.ts.map +1 -0
  75. package/lib/functional.js +45 -0
  76. package/lib/functional.js.map +1 -0
  77. package/lib/glob.d.ts +46 -0
  78. package/lib/glob.d.ts.map +1 -0
  79. package/lib/glob.js +561 -0
  80. package/lib/glob.js.map +1 -0
  81. package/lib/hash.d.ts +38 -0
  82. package/lib/hash.d.ts.map +1 -0
  83. package/lib/hash.js +294 -0
  84. package/lib/hash.js.map +1 -0
  85. package/lib/index.d.ts +41 -0
  86. package/lib/index.d.ts.map +1 -0
  87. package/lib/index.js +45 -0
  88. package/lib/index.js.map +1 -0
  89. package/lib/iterator.d.ts +17 -0
  90. package/lib/iterator.d.ts.map +1 -0
  91. package/lib/iterator.js +24 -0
  92. package/lib/iterator.js.map +1 -0
  93. package/lib/lifecycle.d.ts +17 -0
  94. package/lib/lifecycle.d.ts.map +1 -0
  95. package/lib/lifecycle.js +39 -0
  96. package/lib/lifecycle.js.map +1 -0
  97. package/lib/linked-list.d.ts +18 -0
  98. package/lib/linked-list.d.ts.map +1 -0
  99. package/lib/linked-list.js +138 -0
  100. package/lib/linked-list.js.map +1 -0
  101. package/lib/linked-text.d.ts +13 -0
  102. package/lib/linked-text.d.ts.map +1 -0
  103. package/lib/linked-text.js +50 -0
  104. package/lib/linked-text.js.map +1 -0
  105. package/lib/lru-map.d.ts +41 -0
  106. package/lib/lru-map.d.ts.map +1 -0
  107. package/lib/lru-map.js +120 -0
  108. package/lib/lru-map.js.map +1 -0
  109. package/lib/map.d.ts +124 -0
  110. package/lib/map.d.ts.map +1 -0
  111. package/lib/map.js +819 -0
  112. package/lib/map.js.map +1 -0
  113. package/lib/marshalling.d.ts +7 -0
  114. package/lib/marshalling.d.ts.map +1 -0
  115. package/lib/marshalling.js +59 -0
  116. package/lib/marshalling.js.map +1 -0
  117. package/lib/objects.d.ts +6 -0
  118. package/lib/objects.d.ts.map +1 -0
  119. package/lib/objects.js +103 -0
  120. package/lib/objects.js.map +1 -0
  121. package/lib/os.d.ts +40 -0
  122. package/lib/os.d.ts.map +1 -0
  123. package/lib/os.js +75 -0
  124. package/lib/os.js.map +1 -0
  125. package/lib/path.d.ts +101 -0
  126. package/lib/path.d.ts.map +1 -0
  127. package/lib/path.js +1747 -0
  128. package/lib/path.js.map +1 -0
  129. package/lib/platform.d.ts +48 -0
  130. package/lib/platform.d.ts.map +1 -0
  131. package/lib/platform.js +154 -0
  132. package/lib/platform.js.map +1 -0
  133. package/lib/process.d.ts +5 -0
  134. package/lib/process.d.ts.map +1 -0
  135. package/lib/process.js +23 -0
  136. package/lib/process.js.map +1 -0
  137. package/lib/progress.d.ts +56 -0
  138. package/lib/progress.d.ts.map +1 -0
  139. package/lib/progress.js +27 -0
  140. package/lib/progress.js.map +1 -0
  141. package/lib/promise-util.d.ts +10 -0
  142. package/lib/promise-util.d.ts.map +1 -0
  143. package/lib/promise-util.js +17 -0
  144. package/lib/promise-util.js.map +1 -0
  145. package/lib/sequence.d.ts +20 -0
  146. package/lib/sequence.d.ts.map +1 -0
  147. package/lib/sequence.js +17 -0
  148. package/lib/sequence.js.map +1 -0
  149. package/lib/strings.d.ts +181 -0
  150. package/lib/strings.d.ts.map +1 -0
  151. package/lib/strings.js +858 -0
  152. package/lib/strings.js.map +1 -0
  153. package/lib/types.d.ts +69 -0
  154. package/lib/types.d.ts.map +1 -0
  155. package/lib/types.js +201 -0
  156. package/lib/types.js.map +1 -0
  157. package/lib/uint.d.ts +32 -0
  158. package/lib/uint.d.ts.map +1 -0
  159. package/lib/uint.js +28 -0
  160. package/lib/uint.js.map +1 -0
  161. package/lib/uri.d.ts +94 -0
  162. package/lib/uri.d.ts.map +1 -0
  163. package/lib/uri.js +231 -0
  164. package/lib/uri.js.map +1 -0
  165. package/lib/uuid.d.ts +2 -0
  166. package/lib/uuid.d.ts.map +1 -0
  167. package/lib/uuid.js +10 -0
  168. package/lib/uuid.js.map +1 -0
  169. package/package.json +25 -0
package/lib/glob.js ADDED
@@ -0,0 +1,561 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/consistent-type-assertions */
3
+ /* eslint-disable brace-style */
4
+ /* eslint-disable no-case-declarations */
5
+ /* ---------------------------------------------------------------------------------------------
6
+ * Copyright (c) Microsoft Corporation. All rights reserved.
7
+ * Licensed under the MIT License. See License.txt in the project root for license information.
8
+ *--------------------------------------------------------------------------------------------*/
9
+ // Some code copied and modified from https://github.com/microsoft/vscode/blob/1.44.0/src/vs/base/common/glob.ts
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.getPathTerms = exports.getBasenameTerms = exports.isRelativePattern = exports.hasSiblingFn = exports.hasSiblingPromiseFn = exports.parseGlob = exports.match = exports.splitGlobAware = exports.getEmptyExpression = void 0;
12
+ const tslib_1 = require("tslib");
13
+ const map_1 = require("./map");
14
+ const path_1 = require("./path");
15
+ const strings = (0, tslib_1.__importStar)(require("./strings"));
16
+ function getEmptyExpression() {
17
+ return Object.create(null);
18
+ }
19
+ exports.getEmptyExpression = getEmptyExpression;
20
+ const GLOBSTAR = '**';
21
+ const GLOB_SPLIT = '/';
22
+ const PATH_REGEX = '[/\\\\]'; // any slash or backslash
23
+ const NO_PATH_REGEX = '[^/\\\\]'; // any non-slash and non-backslash
24
+ const ALL_FORWARD_SLASHES = /\//g;
25
+ function starsToRegExp(starCount) {
26
+ switch (starCount) {
27
+ case 0:
28
+ return '';
29
+ case 1:
30
+ return `${NO_PATH_REGEX}*?`; // 1 star matches any number of characters except path separator (/ and \) - non greedy (?)
31
+ default:
32
+ // Matches: (Path Sep OR Path Val followed by Path Sep OR Path Sep followed by Path Val) 0-many times
33
+ // Group is non capturing because we don't need to capture at all (?:...)
34
+ // Overall we use non-greedy matching because it could be that we match too much
35
+ return `(?:${PATH_REGEX}|${NO_PATH_REGEX}+${PATH_REGEX}|${PATH_REGEX}${NO_PATH_REGEX}+)*?`;
36
+ }
37
+ }
38
+ function splitGlobAware(pattern, splitChar) {
39
+ if (!pattern) {
40
+ return [];
41
+ }
42
+ const segments = [];
43
+ let inBraces = false;
44
+ let inBrackets = false;
45
+ let curVal = '';
46
+ for (const char of pattern) {
47
+ switch (char) {
48
+ case splitChar:
49
+ if (!inBraces && !inBrackets) {
50
+ segments.push(curVal);
51
+ curVal = '';
52
+ continue;
53
+ }
54
+ break;
55
+ case '{':
56
+ inBraces = true;
57
+ break;
58
+ case '}':
59
+ inBraces = false;
60
+ break;
61
+ case '[':
62
+ inBrackets = true;
63
+ break;
64
+ case ']':
65
+ inBrackets = false;
66
+ break;
67
+ }
68
+ curVal += char;
69
+ }
70
+ // Tail
71
+ if (curVal) {
72
+ segments.push(curVal);
73
+ }
74
+ return segments;
75
+ }
76
+ exports.splitGlobAware = splitGlobAware;
77
+ function parseRegExp(pattern) {
78
+ if (!pattern) {
79
+ return '';
80
+ }
81
+ let regEx = '';
82
+ // Split up into segments for each slash found
83
+ const segments = splitGlobAware(pattern, GLOB_SPLIT);
84
+ // Special case where we only have globstars
85
+ if (segments.every((s) => s === GLOBSTAR)) {
86
+ regEx = '.*';
87
+ }
88
+ // Build regex over segments
89
+ else {
90
+ let previousSegmentWasGlobStar = false;
91
+ segments.forEach((segment, index) => {
92
+ // Globstar is special
93
+ if (segment === GLOBSTAR) {
94
+ // if we have more than one globstar after another, just ignore it
95
+ if (!previousSegmentWasGlobStar) {
96
+ regEx += starsToRegExp(2);
97
+ previousSegmentWasGlobStar = true;
98
+ }
99
+ return;
100
+ }
101
+ // States
102
+ let inBraces = false;
103
+ let braceVal = '';
104
+ let inBrackets = false;
105
+ let bracketVal = '';
106
+ for (const char of segment) {
107
+ // Support brace expansion
108
+ if (char !== '}' && inBraces) {
109
+ braceVal += char;
110
+ continue;
111
+ }
112
+ // Support brackets
113
+ if (inBrackets &&
114
+ (char !== ']' || !bracketVal) /* ] is literally only allowed as first character in brackets to match it */) {
115
+ let res;
116
+ // range operator
117
+ if (char === '-') {
118
+ res = char;
119
+ }
120
+ // negation operator (only valid on first index in bracket)
121
+ else if ((char === '^' || char === '!') && !bracketVal) {
122
+ res = '^';
123
+ }
124
+ // glob split matching is not allowed within character ranges
125
+ // see http://man7.org/linux/man-pages/man7/glob.7.html
126
+ else if (char === GLOB_SPLIT) {
127
+ res = '';
128
+ }
129
+ // anything else gets escaped
130
+ else {
131
+ res = strings.escapeRegExpCharacters(char);
132
+ }
133
+ bracketVal += res;
134
+ continue;
135
+ }
136
+ switch (char) {
137
+ case '{':
138
+ inBraces = true;
139
+ continue;
140
+ case '[':
141
+ inBrackets = true;
142
+ continue;
143
+ case '}':
144
+ const choices = splitGlobAware(braceVal, ',');
145
+ // Converts {foo,bar} => [foo|bar]
146
+ const braceRegExp = `(?:${choices.map((c) => parseRegExp(c)).join('|')})`;
147
+ regEx += braceRegExp;
148
+ inBraces = false;
149
+ braceVal = '';
150
+ break;
151
+ case ']':
152
+ regEx += '[' + bracketVal + ']';
153
+ inBrackets = false;
154
+ bracketVal = '';
155
+ break;
156
+ case '?':
157
+ regEx += NO_PATH_REGEX; // 1 ? matches any single character except path separator (/ and \)
158
+ continue;
159
+ case '*':
160
+ regEx += starsToRegExp(1);
161
+ continue;
162
+ default:
163
+ regEx += strings.escapeRegExpCharacters(char);
164
+ }
165
+ }
166
+ // Tail: Add the slash we had split on if there is more to come and the remaining pattern is not a globstar
167
+ // For example if pattern: some/**/*.js we want the "/" after some to be included in the RegEx to prevent
168
+ // a folder called "something" to match as well.
169
+ // However, if pattern: some/**, we tolerate that we also match on "something" because our globstar behaviour
170
+ // is to match 0-N segments.
171
+ if (index < segments.length - 1 && (segments[index + 1] !== GLOBSTAR || index + 2 < segments.length)) {
172
+ regEx += PATH_REGEX;
173
+ }
174
+ // reset state
175
+ previousSegmentWasGlobStar = false;
176
+ });
177
+ }
178
+ return regEx;
179
+ }
180
+ // regexes to check for trival glob patterns that just check for String#endsWith
181
+ const T1 = /^\*\*\/\*\.[\w\.-]+$/; // **/*.something
182
+ const T2 = /^\*\*\/([\w\.-]+)\/?$/; // **/something
183
+ const T3 = /^{\*\*\/[\*\.]?[\w\.-]+\/?(,\*\*\/[\*\.]?[\w\.-]+\/?)*}$/; // {**/*.something,**/*.else} or {**/package.json,**/project.json}
184
+ const T3_2 = /^{\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?(,\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?)*}$/; // Like T3, with optional trailing /**
185
+ const T4 = /^\*\*((\/[\w\.-]+)+)\/?$/; // **/something/else
186
+ const T5 = /^([\w\.-]+(\/[\w\.-]+)*)\/?$/; // something/else
187
+ const CACHE = new map_1.LRUCache(10000); // bounded to 10000 elements
188
+ const FALSE = function () {
189
+ return false;
190
+ };
191
+ const NULL = function () {
192
+ return null;
193
+ };
194
+ function parsePattern(arg1, options) {
195
+ if (!arg1) {
196
+ return NULL;
197
+ }
198
+ // Handle relative patterns
199
+ let pattern;
200
+ if (typeof arg1 !== 'string') {
201
+ pattern = arg1.pattern;
202
+ }
203
+ else {
204
+ pattern = arg1;
205
+ }
206
+ // Whitespace trimming
207
+ pattern = pattern.trim();
208
+ // Check cache
209
+ const patternKey = `${pattern}_${!!options.trimForExclusions}`;
210
+ let parsedPattern = CACHE.get(patternKey);
211
+ if (parsedPattern) {
212
+ return wrapRelativePattern(parsedPattern, arg1);
213
+ }
214
+ // Check for Trivials
215
+ let match;
216
+ if (T1.test(pattern)) {
217
+ parsedPattern = trivia1(pattern.substr(4), pattern); // common pattern: **/*.txt just need endsWith check
218
+ }
219
+ else if ((match = T2.exec(trimForExclusions(pattern, options)))) {
220
+ // common pattern: **/some.txt just need basename check
221
+ parsedPattern = trivia2(match[1], pattern);
222
+ }
223
+ else if ((options.trimForExclusions ? T3_2 : T3).test(pattern)) {
224
+ // repetition of common patterns (see above) {**/*.txt,**/*.png}
225
+ parsedPattern = trivia3(pattern, options);
226
+ }
227
+ else if ((match = T4.exec(trimForExclusions(pattern, options)))) {
228
+ // common pattern: **/something/else just need endsWith check
229
+ parsedPattern = trivia4and5(match[1].substr(1), pattern, true);
230
+ }
231
+ else if ((match = T5.exec(trimForExclusions(pattern, options)))) {
232
+ // common pattern: something/else just need equals check
233
+ parsedPattern = trivia4and5(match[1], pattern, false);
234
+ }
235
+ // Otherwise convert to pattern
236
+ else {
237
+ parsedPattern = toRegExp(pattern);
238
+ }
239
+ // Cache
240
+ CACHE.set(patternKey, parsedPattern);
241
+ return wrapRelativePattern(parsedPattern, arg1);
242
+ }
243
+ function wrapRelativePattern(parsedPattern, arg2) {
244
+ if (typeof arg2 === 'string') {
245
+ return parsedPattern;
246
+ }
247
+ return function (path, basename) {
248
+ var _a;
249
+ const base = new path_1.Path(arg2.base);
250
+ const target = new path_1.Path(path);
251
+ if (!base.isEqualOrParent(target)) {
252
+ return null;
253
+ }
254
+ return parsedPattern(((_a = base.relative(target)) === null || _a === void 0 ? void 0 : _a.toString()) || '', basename);
255
+ };
256
+ }
257
+ function trimForExclusions(pattern, options) {
258
+ return options.trimForExclusions && pattern.endsWith('/**') ? pattern.substr(0, pattern.length - 2) : pattern; // dropping **, tailing / is dropped later
259
+ }
260
+ // common pattern: **/*.txt just need endsWith check
261
+ function trivia1(base, pattern) {
262
+ return function (path, basename) {
263
+ return typeof path === 'string' && path.endsWith(base) ? pattern : null;
264
+ };
265
+ }
266
+ // common pattern: **/some.txt just need basename check
267
+ function trivia2(base, originalPattern) {
268
+ const slashBase = `/${base}`;
269
+ const backslashBase = `\\${base}`;
270
+ const parsedPattern = function (path, basename) {
271
+ if (typeof path !== 'string') {
272
+ return null;
273
+ }
274
+ if (basename) {
275
+ return basename === base ? originalPattern : null;
276
+ }
277
+ return path === base || path.endsWith(slashBase) || path.endsWith(backslashBase) ? originalPattern : null;
278
+ };
279
+ const basenames = [base];
280
+ parsedPattern.basenames = basenames;
281
+ parsedPattern.patterns = [originalPattern];
282
+ parsedPattern.allBasenames = basenames;
283
+ return parsedPattern;
284
+ }
285
+ // repetition of common patterns (see above) {**/*.txt,**/*.png}
286
+ function trivia3(pattern, options) {
287
+ const parsedPatterns = aggregateBasenameMatches(pattern
288
+ .slice(1, -1)
289
+ .split(',')
290
+ .map((pattern) => parsePattern(pattern, options))
291
+ .filter((pattern) => pattern !== NULL), pattern);
292
+ const n = parsedPatterns.length;
293
+ if (!n) {
294
+ return NULL;
295
+ }
296
+ if (n === 1) {
297
+ return parsedPatterns[0];
298
+ }
299
+ const parsedPattern = function (path, basename) {
300
+ for (let i = 0, n = parsedPatterns.length; i < n; i++) {
301
+ if (parsedPatterns[i](path, basename)) {
302
+ return pattern;
303
+ }
304
+ }
305
+ return null;
306
+ };
307
+ const withBasenames = parsedPatterns.find((pattern) => !!pattern.allBasenames);
308
+ if (withBasenames) {
309
+ parsedPattern.allBasenames = withBasenames.allBasenames;
310
+ }
311
+ const allPaths = parsedPatterns.reduce((all, current) => (current.allPaths ? all.concat(current.allPaths) : all), []);
312
+ if (allPaths.length) {
313
+ parsedPattern.allPaths = allPaths;
314
+ }
315
+ return parsedPattern;
316
+ }
317
+ // common patterns: **/something/else just need endsWith check, something/else just needs and equals check
318
+ function trivia4and5(path, pattern, matchPathEnds) {
319
+ const nativePath = path_1.Path.separator !== path_1.Path.nativeSeparator ? path.replace(ALL_FORWARD_SLASHES, path_1.Path.separator) : path;
320
+ const nativePathEnd = path_1.Path.separator + nativePath;
321
+ const parsedPattern = matchPathEnds
322
+ ? function (path, basename) {
323
+ return typeof path === 'string' && (path === nativePath || path.endsWith(nativePathEnd)) ? pattern : null;
324
+ }
325
+ : function (path, basename) {
326
+ return typeof path === 'string' && path === nativePath ? pattern : null;
327
+ };
328
+ parsedPattern.allPaths = [(matchPathEnds ? '*/' : './') + path];
329
+ return parsedPattern;
330
+ }
331
+ function toRegExp(pattern) {
332
+ try {
333
+ const regExp = new RegExp(`^${parseRegExp(pattern)}$`);
334
+ return function (path) {
335
+ regExp.lastIndex = 0; // reset RegExp to its initial state to reuse it!
336
+ return typeof path === 'string' && regExp.test(path) ? pattern : null;
337
+ };
338
+ }
339
+ catch (error) {
340
+ return NULL;
341
+ }
342
+ }
343
+ function match(arg1, path, hasSibling) {
344
+ if (!arg1 || typeof path !== 'string') {
345
+ return false;
346
+ }
347
+ return parseGlob(arg1)(path, undefined, hasSibling);
348
+ }
349
+ exports.match = match;
350
+ function parseGlob(arg1, options = {}) {
351
+ if (!arg1) {
352
+ return FALSE;
353
+ }
354
+ // Glob with String
355
+ if (typeof arg1 === 'string' || isRelativePattern(arg1)) {
356
+ const parsedPattern = parsePattern(arg1, options);
357
+ if (parsedPattern === NULL) {
358
+ return FALSE;
359
+ }
360
+ const resultPattern = function (path, basename) {
361
+ return !!parsedPattern(path, basename);
362
+ };
363
+ if (parsedPattern.allBasenames) {
364
+ resultPattern.allBasenames = parsedPattern.allBasenames;
365
+ }
366
+ if (parsedPattern.allPaths) {
367
+ resultPattern.allPaths = parsedPattern.allPaths;
368
+ }
369
+ return resultPattern;
370
+ }
371
+ // Glob with Expression
372
+ return parsedExpression(arg1, options);
373
+ }
374
+ exports.parseGlob = parseGlob;
375
+ function hasSiblingPromiseFn(siblingsFn) {
376
+ if (!siblingsFn) {
377
+ return undefined;
378
+ }
379
+ let siblings;
380
+ return (name) => {
381
+ if (!siblings) {
382
+ siblings = (siblingsFn() || Promise.resolve([])).then((list) => (list ? listToMap(list) : {}));
383
+ }
384
+ return siblings.then((map) => !!map[name]);
385
+ };
386
+ }
387
+ exports.hasSiblingPromiseFn = hasSiblingPromiseFn;
388
+ function hasSiblingFn(siblingsFn) {
389
+ if (!siblingsFn) {
390
+ return undefined;
391
+ }
392
+ let siblings;
393
+ return (name) => {
394
+ if (!siblings) {
395
+ const list = siblingsFn();
396
+ siblings = list ? listToMap(list) : {};
397
+ }
398
+ return !!siblings[name];
399
+ };
400
+ }
401
+ exports.hasSiblingFn = hasSiblingFn;
402
+ function listToMap(list) {
403
+ const map = {};
404
+ for (const key of list) {
405
+ map[key] = true;
406
+ }
407
+ return map;
408
+ }
409
+ function isRelativePattern(obj) {
410
+ const rp = obj;
411
+ return rp && typeof rp.base === 'string' && typeof rp.pattern === 'string';
412
+ }
413
+ exports.isRelativePattern = isRelativePattern;
414
+ function getBasenameTerms(patternOrExpression) {
415
+ return patternOrExpression.allBasenames || [];
416
+ }
417
+ exports.getBasenameTerms = getBasenameTerms;
418
+ function getPathTerms(patternOrExpression) {
419
+ return patternOrExpression.allPaths || [];
420
+ }
421
+ exports.getPathTerms = getPathTerms;
422
+ function parsedExpression(expression, options) {
423
+ const parsedPatterns = aggregateBasenameMatches(Object.getOwnPropertyNames(expression)
424
+ .map((pattern) => parseExpressionPattern(pattern, expression[pattern], options))
425
+ .filter((pattern) => pattern !== NULL));
426
+ const n = parsedPatterns.length;
427
+ if (!n) {
428
+ return NULL;
429
+ }
430
+ if (!parsedPatterns.some((parsedPattern) => !!parsedPattern.requiresSiblings)) {
431
+ if (n === 1) {
432
+ return parsedPatterns[0];
433
+ }
434
+ const resultExpression = function (path, basename) {
435
+ for (let i = 0, n = parsedPatterns.length; i < n; i++) {
436
+ // Pattern matches path
437
+ const result = parsedPatterns[i](path, basename);
438
+ if (result) {
439
+ return result;
440
+ }
441
+ }
442
+ return null;
443
+ };
444
+ const withBasenames = parsedPatterns.find((pattern) => !!pattern.allBasenames);
445
+ if (withBasenames) {
446
+ resultExpression.allBasenames = withBasenames.allBasenames;
447
+ }
448
+ const allPaths = parsedPatterns.reduce((all, current) => (current.allPaths ? all.concat(current.allPaths) : all), []);
449
+ if (allPaths.length) {
450
+ resultExpression.allPaths = allPaths;
451
+ }
452
+ return resultExpression;
453
+ }
454
+ const resultExpression = function (path, basename, hasSibling) {
455
+ let name;
456
+ for (let i = 0, n = parsedPatterns.length; i < n; i++) {
457
+ // Pattern matches path
458
+ const parsedPattern = parsedPatterns[i];
459
+ if (parsedPattern.requiresSiblings && hasSibling) {
460
+ if (!basename) {
461
+ basename = (0, path_1.basename)(path);
462
+ }
463
+ if (!name) {
464
+ name = basename.substr(0, basename.length - (0, path_1.extname)(path).length);
465
+ }
466
+ }
467
+ const result = parsedPattern(path, basename, name, hasSibling);
468
+ if (result) {
469
+ return result;
470
+ }
471
+ }
472
+ return null;
473
+ };
474
+ const withBasenames = parsedPatterns.find((pattern) => !!pattern.allBasenames);
475
+ if (withBasenames) {
476
+ resultExpression.allBasenames = withBasenames.allBasenames;
477
+ }
478
+ const allPaths = parsedPatterns.reduce((all, current) => (current.allPaths ? all.concat(current.allPaths) : all), []);
479
+ if (allPaths.length) {
480
+ resultExpression.allPaths = allPaths;
481
+ }
482
+ return resultExpression;
483
+ }
484
+ function parseExpressionPattern(pattern, value, options) {
485
+ if (value === false) {
486
+ return NULL; // pattern is disabled
487
+ }
488
+ const parsedPattern = parsePattern(pattern, options);
489
+ if (parsedPattern === NULL) {
490
+ return NULL;
491
+ }
492
+ // Expression Pattern is <boolean>
493
+ if (typeof value === 'boolean') {
494
+ return parsedPattern;
495
+ }
496
+ // Expression Pattern is <SiblingClause>
497
+ if (value) {
498
+ const when = value.when;
499
+ if (typeof when === 'string') {
500
+ const result = (path, basename, name, hasSibling) => {
501
+ if (!hasSibling || !parsedPattern(path, basename)) {
502
+ return null;
503
+ }
504
+ const clausePattern = when.replace('$(basename)', name);
505
+ const matched = hasSibling(clausePattern);
506
+ return matched instanceof Promise ? matched.then((m) => (m ? pattern : null)) : matched ? pattern : null;
507
+ };
508
+ result.requiresSiblings = true;
509
+ return result;
510
+ }
511
+ }
512
+ // Expression is Anything
513
+ return parsedPattern;
514
+ }
515
+ function aggregateBasenameMatches(parsedPatterns, result) {
516
+ const basenamePatterns = parsedPatterns.filter((parsedPattern) => !!parsedPattern.basenames);
517
+ if (basenamePatterns.length < 2) {
518
+ return parsedPatterns;
519
+ }
520
+ const basenames = basenamePatterns.reduce((all, current) => {
521
+ const basenames = current.basenames;
522
+ return basenames ? all.concat(basenames) : all;
523
+ }, []);
524
+ let patterns;
525
+ if (result) {
526
+ patterns = [];
527
+ for (let i = 0, n = basenames.length; i < n; i++) {
528
+ patterns.push(result);
529
+ }
530
+ }
531
+ else {
532
+ patterns = basenamePatterns.reduce((all, current) => {
533
+ const patterns = current.patterns;
534
+ return patterns ? all.concat(patterns) : all;
535
+ }, []);
536
+ }
537
+ const aggregate = function (path, basename) {
538
+ if (typeof path !== 'string') {
539
+ return null;
540
+ }
541
+ if (!basename) {
542
+ let i;
543
+ for (i = path.length; i > 0; i--) {
544
+ const ch = path.charCodeAt(i - 1);
545
+ if (ch === 47 /* Slash */ || ch === 92 /* Backslash */) {
546
+ break;
547
+ }
548
+ }
549
+ basename = path.substr(i);
550
+ }
551
+ const index = basenames.indexOf(basename);
552
+ return index !== -1 ? patterns[index] : null;
553
+ };
554
+ aggregate.basenames = basenames;
555
+ aggregate.patterns = patterns;
556
+ aggregate.allBasenames = basenames;
557
+ const aggregatedPatterns = parsedPatterns.filter((parsedPattern) => !parsedPattern.basenames);
558
+ aggregatedPatterns.push(aggregate);
559
+ return aggregatedPatterns;
560
+ }
561
+ //# sourceMappingURL=glob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glob.js","sourceRoot":"","sources":["../src/glob.ts"],"names":[],"mappings":"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"}
package/lib/hash.d.ts ADDED
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Return a hash value for an object.
3
+ */
4
+ export declare function hash(obj: any): number;
5
+ export declare function doHash(obj: any, hashVal: number): number;
6
+ export declare function numberHash(val: number, initialHashVal: number): number;
7
+ export declare function stringHash(s: string, hashVal: number): number;
8
+ export declare class Hasher {
9
+ private _value;
10
+ get value(): number;
11
+ hash(obj: any): number;
12
+ }
13
+ export declare function toHexString(buffer: ArrayBuffer): string;
14
+ export declare function toHexString(value: number, bitsize?: number): string;
15
+ /**
16
+ * A SHA1 implementation that works with strings and does not allocate.
17
+ */
18
+ export declare class StringSHA1 {
19
+ private static _bigBlock32;
20
+ private _h0;
21
+ private _h1;
22
+ private _h2;
23
+ private _h3;
24
+ private _h4;
25
+ private readonly _buff;
26
+ private readonly _buffDV;
27
+ private _buffLen;
28
+ private _totalLen;
29
+ private _leftoverHighSurrogate;
30
+ private _finished;
31
+ constructor();
32
+ update(str: string): void;
33
+ private _push;
34
+ digest(): string;
35
+ private _wrapUp;
36
+ private _step;
37
+ }
38
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAErC;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAoBxD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAEtE;AAMD,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAMpD;AAiBD,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAK;IAEnB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;CAIvB;AA+BD,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC;AACzD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;AAWrE;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAsC;IAEhE,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,GAAG,CAAc;IAEzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,SAAS,CAAU;;IAWpB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAwDhC,OAAO,CAAC,KAAK;IA8BN,MAAM,IAAI,MAAM;IAqBvB,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,KAAK;CA6Dd"}