@rsdoctor/utils 1.2.2 → 1.2.4-beta.0

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 (211) hide show
  1. package/compiled/connect/index.d.ts +90 -0
  2. package/compiled/connect/index.js +2427 -0
  3. package/compiled/connect/license +25 -0
  4. package/compiled/connect/package.json +1 -0
  5. package/compiled/filesize/index.d.ts +58 -0
  6. package/compiled/filesize/index.js +255 -0
  7. package/compiled/filesize/license +28 -0
  8. package/compiled/filesize/package.json +1 -0
  9. package/dist/{type/build → build}/envinfo.d.ts +0 -1
  10. package/dist/{type/build → build}/file/cache.d.ts +0 -1
  11. package/dist/build/file/index.d.ts +3 -0
  12. package/dist/{type/build → build}/file/sharding.d.ts +0 -1
  13. package/dist/{type/build → build}/index.d.ts +0 -1
  14. package/dist/{type/build → build}/json.d.ts +0 -1
  15. package/dist/{type/build → build}/process.d.ts +0 -1
  16. package/dist/{type/build → build}/server.d.ts +0 -1
  17. package/dist/build.cjs +1310 -0
  18. package/dist/build.js +343 -0
  19. package/dist/{type/common → common}/alerts.d.ts +0 -1
  20. package/dist/{type/common → common}/algorithm.d.ts +0 -1
  21. package/dist/{type/common → common}/bundle.d.ts +0 -1
  22. package/dist/{type/common → common}/crypto.d.ts +0 -1
  23. package/dist/{type/common → common}/data/index.d.ts +0 -1
  24. package/dist/{type/common → common}/file.d.ts +0 -1
  25. package/dist/{type/common → common}/global-config.d.ts +0 -1
  26. package/dist/{type/common → common}/graph/assets.d.ts +0 -1
  27. package/dist/{type/common → common}/graph/chunk.d.ts +0 -1
  28. package/dist/{type/common → common}/graph/dependency.d.ts +0 -1
  29. package/dist/{type/common → common}/graph/entrypoints.d.ts +0 -1
  30. package/dist/{type/common → common}/graph/index.d.ts +0 -1
  31. package/dist/{type/common → common}/graph/modules.d.ts +0 -1
  32. package/dist/{type/common → common}/index.d.ts +0 -1
  33. package/dist/{type/common → common}/loader.d.ts +0 -1
  34. package/dist/{type/common → common}/lodash.d.ts +0 -1
  35. package/dist/{type/common → common}/manifest.d.ts +0 -1
  36. package/dist/{type/common → common}/package.d.ts +0 -1
  37. package/dist/{type/common → common}/plugin.d.ts +0 -1
  38. package/dist/{type/common → common}/resolver.d.ts +0 -1
  39. package/dist/{type/common → common}/rspack.d.ts +0 -1
  40. package/dist/{type/common → common}/summary.d.ts +0 -1
  41. package/dist/{type/common → common}/time.d.ts +0 -1
  42. package/dist/{type/common → common}/url.d.ts +0 -1
  43. package/dist/common.cjs +1328 -0
  44. package/dist/common.js +1255 -0
  45. package/dist/{type/error → error}/error.d.ts +0 -1
  46. package/dist/{type/error → error}/index.d.ts +0 -1
  47. package/dist/{type/error → error}/transform.d.ts +0 -1
  48. package/dist/{type/error → error}/utils.d.ts +0 -1
  49. package/dist/error.cjs +310 -0
  50. package/dist/error.js +232 -0
  51. package/dist/logger.cjs +82 -0
  52. package/dist/{type/logger.d.ts → logger.d.ts} +0 -1
  53. package/dist/{esm/logger.mjs → logger.js} +8 -13
  54. package/dist/{type/rule-utils → rule-utils}/document/document.d.ts +0 -1
  55. package/dist/{type/rule-utils → rule-utils}/document/index.d.ts +0 -1
  56. package/dist/{type/rule-utils → rule-utils}/document/server.d.ts +0 -1
  57. package/dist/{type/rule-utils → rule-utils}/document/types.d.ts +0 -1
  58. package/dist/{type/rule-utils → rule-utils}/index.d.ts +0 -1
  59. package/dist/{type/rule-utils → rule-utils}/parser/asserts.d.ts +0 -1
  60. package/dist/{type/rule-utils → rule-utils}/parser/index.d.ts +0 -1
  61. package/dist/{type/rule-utils → rule-utils}/parser/parser.d.ts +0 -1
  62. package/dist/{type/rule-utils → rule-utils}/parser/types.d.ts +0 -1
  63. package/dist/{type/rule-utils → rule-utils}/parser/utils.d.ts +0 -1
  64. package/dist/ruleUtils.cjs +320 -0
  65. package/dist/ruleUtils.js +256 -0
  66. package/package.json +35 -39
  67. package/dist/cjs/build/envinfo.js +0 -121
  68. package/dist/cjs/build/file/cache.js +0 -76
  69. package/dist/cjs/build/file/index.js +0 -81
  70. package/dist/cjs/build/file/sharding.js +0 -96
  71. package/dist/cjs/build/index.js +0 -52
  72. package/dist/cjs/build/json.js +0 -103
  73. package/dist/cjs/build/process.js +0 -54
  74. package/dist/cjs/build/server.js +0 -158
  75. package/dist/cjs/common/alerts.js +0 -51
  76. package/dist/cjs/common/algorithm.js +0 -75
  77. package/dist/cjs/common/bundle.js +0 -62
  78. package/dist/cjs/common/crypto.js +0 -54
  79. package/dist/cjs/common/data/index.js +0 -396
  80. package/dist/cjs/common/file.js +0 -44
  81. package/dist/cjs/common/global-config.js +0 -81
  82. package/dist/cjs/common/graph/assets.js +0 -314
  83. package/dist/cjs/common/graph/chunk.js +0 -81
  84. package/dist/cjs/common/graph/dependency.js +0 -50
  85. package/dist/cjs/common/graph/entrypoints.js +0 -38
  86. package/dist/cjs/common/graph/index.js +0 -96
  87. package/dist/cjs/common/graph/modules.js +0 -133
  88. package/dist/cjs/common/index.js +0 -104
  89. package/dist/cjs/common/loader.js +0 -320
  90. package/dist/cjs/common/lodash.js +0 -93
  91. package/dist/cjs/common/manifest.js +0 -70
  92. package/dist/cjs/common/package.js +0 -96
  93. package/dist/cjs/common/plugin.js +0 -91
  94. package/dist/cjs/common/resolver.js +0 -92
  95. package/dist/cjs/common/rspack.js +0 -65
  96. package/dist/cjs/common/summary.js +0 -42
  97. package/dist/cjs/common/time.js +0 -86
  98. package/dist/cjs/common/url.js +0 -54
  99. package/dist/cjs/error/error.js +0 -199
  100. package/dist/cjs/error/index.js +0 -73
  101. package/dist/cjs/error/transform.js +0 -182
  102. package/dist/cjs/error/utils.js +0 -62
  103. package/dist/cjs/index.js +0 -40
  104. package/dist/cjs/logger.js +0 -106
  105. package/dist/cjs/rule-utils/document/document.js +0 -92
  106. package/dist/cjs/rule-utils/document/index.js +0 -78
  107. package/dist/cjs/rule-utils/document/server.js +0 -49
  108. package/dist/cjs/rule-utils/document/types.js +0 -18
  109. package/dist/cjs/rule-utils/index.js +0 -69
  110. package/dist/cjs/rule-utils/parser/asserts.js +0 -138
  111. package/dist/cjs/rule-utils/parser/index.js +0 -87
  112. package/dist/cjs/rule-utils/parser/parser.js +0 -57
  113. package/dist/cjs/rule-utils/parser/types.js +0 -41
  114. package/dist/cjs/rule-utils/parser/utils.js +0 -170
  115. package/dist/esm/build/envinfo.mjs +0 -57
  116. package/dist/esm/build/file/cache.mjs +0 -23
  117. package/dist/esm/build/file/index.mjs +0 -4
  118. package/dist/esm/build/file/sharding.mjs +0 -50
  119. package/dist/esm/build/index.mjs +0 -6
  120. package/dist/esm/build/json.mjs +0 -66
  121. package/dist/esm/build/process.mjs +0 -17
  122. package/dist/esm/build/server.mjs +0 -96
  123. package/dist/esm/common/alerts.mjs +0 -17
  124. package/dist/esm/common/algorithm.mjs +0 -32
  125. package/dist/esm/common/bundle.mjs +0 -22
  126. package/dist/esm/common/crypto.mjs +0 -17
  127. package/dist/esm/common/data/index.mjs +0 -362
  128. package/dist/esm/common/file.mjs +0 -7
  129. package/dist/esm/common/global-config.mjs +0 -32
  130. package/dist/esm/common/graph/assets.mjs +0 -238
  131. package/dist/esm/common/graph/chunk.mjs +0 -32
  132. package/dist/esm/common/graph/dependency.mjs +0 -10
  133. package/dist/esm/common/graph/entrypoints.mjs +0 -4
  134. package/dist/esm/common/graph/index.mjs +0 -5
  135. package/dist/esm/common/graph/modules.mjs +0 -78
  136. package/dist/esm/common/index.mjs +0 -19
  137. package/dist/esm/common/loader.mjs +0 -247
  138. package/dist/esm/common/lodash.mjs +0 -32
  139. package/dist/esm/common/manifest.mjs +0 -30
  140. package/dist/esm/common/package.mjs +0 -56
  141. package/dist/esm/common/plugin.mjs +0 -48
  142. package/dist/esm/common/resolver.mjs +0 -46
  143. package/dist/esm/common/rspack.mjs +0 -25
  144. package/dist/esm/common/summary.mjs +0 -8
  145. package/dist/esm/common/time.mjs +0 -43
  146. package/dist/esm/common/url.mjs +0 -14
  147. package/dist/esm/error/error.mjs +0 -154
  148. package/dist/esm/error/index.mjs +0 -3
  149. package/dist/esm/error/transform.mjs +0 -138
  150. package/dist/esm/error/utils.mjs +0 -22
  151. package/dist/esm/index.mjs +0 -3
  152. package/dist/esm/rule-utils/document/document.mjs +0 -58
  153. package/dist/esm/rule-utils/document/index.mjs +0 -3
  154. package/dist/esm/rule-utils/document/server.mjs +0 -12
  155. package/dist/esm/rule-utils/document/types.mjs +0 -0
  156. package/dist/esm/rule-utils/index.mjs +0 -2
  157. package/dist/esm/rule-utils/parser/asserts.mjs +0 -104
  158. package/dist/esm/rule-utils/parser/index.mjs +0 -4
  159. package/dist/esm/rule-utils/parser/parser.mjs +0 -23
  160. package/dist/esm/rule-utils/parser/types.mjs +0 -7
  161. package/dist/esm/rule-utils/parser/utils.mjs +0 -109
  162. package/dist/type/build/envinfo.d.ts.map +0 -1
  163. package/dist/type/build/file/cache.d.ts.map +0 -1
  164. package/dist/type/build/file/index.d.ts +0 -4
  165. package/dist/type/build/file/index.d.ts.map +0 -1
  166. package/dist/type/build/file/sharding.d.ts.map +0 -1
  167. package/dist/type/build/index.d.ts.map +0 -1
  168. package/dist/type/build/json.d.ts.map +0 -1
  169. package/dist/type/build/process.d.ts.map +0 -1
  170. package/dist/type/build/server.d.ts.map +0 -1
  171. package/dist/type/common/alerts.d.ts.map +0 -1
  172. package/dist/type/common/algorithm.d.ts.map +0 -1
  173. package/dist/type/common/bundle.d.ts.map +0 -1
  174. package/dist/type/common/crypto.d.ts.map +0 -1
  175. package/dist/type/common/data/index.d.ts.map +0 -1
  176. package/dist/type/common/file.d.ts.map +0 -1
  177. package/dist/type/common/global-config.d.ts.map +0 -1
  178. package/dist/type/common/graph/assets.d.ts.map +0 -1
  179. package/dist/type/common/graph/chunk.d.ts.map +0 -1
  180. package/dist/type/common/graph/dependency.d.ts.map +0 -1
  181. package/dist/type/common/graph/entrypoints.d.ts.map +0 -1
  182. package/dist/type/common/graph/index.d.ts.map +0 -1
  183. package/dist/type/common/graph/modules.d.ts.map +0 -1
  184. package/dist/type/common/index.d.ts.map +0 -1
  185. package/dist/type/common/loader.d.ts.map +0 -1
  186. package/dist/type/common/lodash.d.ts.map +0 -1
  187. package/dist/type/common/manifest.d.ts.map +0 -1
  188. package/dist/type/common/package.d.ts.map +0 -1
  189. package/dist/type/common/plugin.d.ts.map +0 -1
  190. package/dist/type/common/resolver.d.ts.map +0 -1
  191. package/dist/type/common/rspack.d.ts.map +0 -1
  192. package/dist/type/common/summary.d.ts.map +0 -1
  193. package/dist/type/common/time.d.ts.map +0 -1
  194. package/dist/type/common/url.d.ts.map +0 -1
  195. package/dist/type/error/error.d.ts.map +0 -1
  196. package/dist/type/error/index.d.ts.map +0 -1
  197. package/dist/type/error/transform.d.ts.map +0 -1
  198. package/dist/type/error/utils.d.ts.map +0 -1
  199. package/dist/type/index.d.ts +0 -3
  200. package/dist/type/index.d.ts.map +0 -1
  201. package/dist/type/logger.d.ts.map +0 -1
  202. package/dist/type/rule-utils/document/document.d.ts.map +0 -1
  203. package/dist/type/rule-utils/document/index.d.ts.map +0 -1
  204. package/dist/type/rule-utils/document/server.d.ts.map +0 -1
  205. package/dist/type/rule-utils/document/types.d.ts.map +0 -1
  206. package/dist/type/rule-utils/index.d.ts.map +0 -1
  207. package/dist/type/rule-utils/parser/asserts.d.ts.map +0 -1
  208. package/dist/type/rule-utils/parser/index.d.ts.map +0 -1
  209. package/dist/type/rule-utils/parser/parser.d.ts.map +0 -1
  210. package/dist/type/rule-utils/parser/types.d.ts.map +0 -1
  211. package/dist/type/rule-utils/parser/utils.d.ts.map +0 -1
@@ -2,11 +2,9 @@ import picocolors from "picocolors";
2
2
  import { createLogger, logger } from "rslog";
3
3
  import { Constants } from "@rsdoctor/types";
4
4
  function debug(getMsg, prefix = '') {
5
- if (!process.env.DEBUG) return;
6
- logger.level = 'verbose';
7
- logger.debug(`${prefix} ${getMsg()}`);
5
+ process.env.DEBUG && (logger.level = 'verbose', logger.debug(`${prefix} ${getMsg()}`));
8
6
  }
9
- const rsdoctorLogger = createLogger();
7
+ let rsdoctorLogger = createLogger();
10
8
  rsdoctorLogger.override({
11
9
  log: (message)=>{
12
10
  console.log(`${picocolors.green('[RSDOCTOR LOG]')} ${message}`);
@@ -30,21 +28,18 @@ rsdoctorLogger.override({
30
28
  console.error(`${picocolors.green('[RSDOCTOR SUCCESS]')} ${message}`);
31
29
  },
32
30
  debug: (message)=>{
33
- if (process.env.DEBUG) console.log(`${picocolors.blue('[RSDOCTOR DEBUG]')} ${message}`);
31
+ process.env.DEBUG && console.log(`${picocolors.blue('[RSDOCTOR DEBUG]')} ${message}`);
34
32
  }
35
33
  });
36
- const _timers = new Map();
34
+ let _timers = new Map();
37
35
  function time(label) {
38
- if (process.env.DEBUG !== Constants.RsdoctorProcessEnvDebugKey) return;
39
- if (_timers.has(label)) return;
40
- _timers.set(label, Date.now());
36
+ process.env.DEBUG === Constants.RsdoctorProcessEnvDebugKey && (_timers.has(label) || _timers.set(label, Date.now()));
41
37
  }
42
38
  function timeEnd(label) {
43
39
  if (process.env.DEBUG !== Constants.RsdoctorProcessEnvDebugKey) return;
44
- const start = _timers.get(label);
40
+ let start = _timers.get(label);
45
41
  if (null == start) return void logger.debug(`Timer '${label}' does not exist.`);
46
- const duration = Date.now() - start;
47
- logger.debug(`Timer '${label}' ended: ${duration}ms`);
48
- _timers.delete(label);
42
+ let duration = Date.now() - start;
43
+ logger.debug(`Timer '${label}' ended: ${duration}ms`), _timers.delete(label);
49
44
  }
50
45
  export { picocolors as chalk, debug, rsdoctorLogger as logger, time, timeEnd };
@@ -14,4 +14,3 @@ export declare class Document {
14
14
  /** Edit document data */
15
15
  edit(data: DocumentEditData): string | undefined;
16
16
  }
17
- //# sourceMappingURL=document.d.ts.map
@@ -1,4 +1,3 @@
1
1
  export * from './document';
2
2
  export * from './types';
3
3
  export * from './server';
4
- //# sourceMappingURL=index.d.ts.map
@@ -2,4 +2,3 @@ import { Document } from './document';
2
2
  /** Create Document */
3
3
  export declare function getDocument(content: string): Document;
4
4
  export declare function clearDocument(): void;
5
- //# sourceMappingURL=server.d.ts.map
@@ -29,4 +29,3 @@ export interface DocumentEditData {
29
29
  */
30
30
  newText?: string;
31
31
  }
32
- //# sourceMappingURL=types.d.ts.map
@@ -1,3 +1,2 @@
1
1
  export * from './document';
2
2
  export * from './parser';
3
- //# sourceMappingURL=index.d.ts.map
@@ -79,4 +79,3 @@ export declare const asserts: {
79
79
  readonly isBigIntLiteral: (node: unknown) => node is Node.BigIntLiteral;
80
80
  readonly isExportStatement: (node: unknown) => node is Node.ExportStatement;
81
81
  };
82
- //# sourceMappingURL=asserts.d.ts.map
@@ -2,4 +2,3 @@ export * from './asserts';
2
2
  export * from './parser';
3
3
  export * from './utils';
4
4
  export * from './types';
5
- //# sourceMappingURL=index.d.ts.map
@@ -116,4 +116,3 @@ export declare const parser: {
116
116
  parseExpressionAt: (input: string, pos: number, options: Options) => Node.ExpressionStatement;
117
117
  };
118
118
  };
119
- //# sourceMappingURL=parser.d.ts.map
@@ -28,4 +28,3 @@ declare module 'estree' {
28
28
  /** Export statement */
29
29
  type ExportStatement = Node.ExportAllDeclaration | Node.ExportDefaultDeclaration | Node.ExportNamedDeclaration;
30
30
  }
31
- //# sourceMappingURL=types.d.ts.map
@@ -28,4 +28,3 @@ export declare function isES5(code: string): boolean;
28
28
  export declare function isES6(code: string): boolean;
29
29
  /** Detect ECMA version. */
30
30
  export declare function detectECMAVersion(code: string): ECMAVersion;
31
- //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1,320 @@
1
+ "use strict";
2
+ let __rslib_import_meta_url__ = 'undefined' == typeof document ? new (require('url'.replace('', ''))).URL('file:' + __filename).href : document.currentScript && document.currentScript.src || new URL('main.js', document.baseURI).href;
3
+ var __webpack_require__ = {};
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key) && Object.defineProperty(exports1, key, {
6
+ enumerable: !0,
7
+ get: definition[key]
8
+ });
9
+ }, __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop), __webpack_require__.r = (exports1)=>{
10
+ 'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports1, Symbol.toStringTag, {
11
+ value: 'Module'
12
+ }), Object.defineProperty(exports1, '__esModule', {
13
+ value: !0
14
+ });
15
+ };
16
+ var __webpack_exports__ = {};
17
+ __webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, {
18
+ isES6: ()=>isES6,
19
+ getDocument: ()=>getDocument,
20
+ getIdentifierInExport: ()=>getIdentifierInExport,
21
+ getIdentifierInImport: ()=>getIdentifierInImport,
22
+ asserts: ()=>asserts,
23
+ canParse: ()=>canParse,
24
+ clearDocument: ()=>clearDocument,
25
+ isES5: ()=>isES5,
26
+ getDefaultImports: ()=>getDefaultImports,
27
+ ECMAVersion: ()=>types_ECMAVersion,
28
+ detectECMAVersion: ()=>detectECMAVersion,
29
+ isSameSemantics: ()=>isSameSemantics,
30
+ getIdentifierInDeclaration: ()=>getIdentifierInDeclaration,
31
+ getIdentifierInPattern: ()=>getIdentifierInPattern,
32
+ parser: ()=>parser,
33
+ Document: ()=>Document
34
+ });
35
+ var utils_namespaceObject = {};
36
+ __webpack_require__.r(utils_namespaceObject), __webpack_require__.d(utils_namespaceObject, {
37
+ canParse: ()=>canParse,
38
+ detectECMAVersion: ()=>detectECMAVersion,
39
+ getDefaultImports: ()=>getDefaultImports,
40
+ getIdentifierInDeclaration: ()=>getIdentifierInDeclaration,
41
+ getIdentifierInExport: ()=>getIdentifierInExport,
42
+ getIdentifierInImport: ()=>getIdentifierInImport,
43
+ getIdentifierInPattern: ()=>getIdentifierInPattern,
44
+ isES5: ()=>isES5,
45
+ isES6: ()=>isES6,
46
+ isSameSemantics: ()=>isSameSemantics
47
+ });
48
+ let external_lines_and_columns_namespaceObject = require("lines-and-columns");
49
+ function isUndefined(value) {
50
+ return void 0 === value;
51
+ }
52
+ function isNumber(value) {
53
+ return 'number' == typeof value && !Number.isNaN(value);
54
+ }
55
+ function isObject(value) {
56
+ return 'object' == typeof value && null !== value;
57
+ }
58
+ function isEmpty(value) {
59
+ return null == value || Array.isArray(value) && 0 === value.length || 'object' == typeof value && 0 === Object.keys(value).length;
60
+ }
61
+ function last(array) {
62
+ return array[array.length - 1];
63
+ }
64
+ function compact(array) {
65
+ return array.filter((item)=>null != item || !item);
66
+ }
67
+ function isNil(value) {
68
+ return null == value;
69
+ }
70
+ let isPlainObject = (obj)=>null !== obj && 'object' == typeof obj && Object.getPrototypeOf(obj) === Object.prototype, isString = (v)=>'string' == typeof v || !!v && 'object' == typeof v && !Array.isArray(v) && '[object String]' === ({}).toString.call(v);
71
+ function pick(obj, keys) {
72
+ let result = {};
73
+ for(let i = 0; i < keys.length; i++){
74
+ let key = keys[i];
75
+ Object.hasOwn(obj, key) && (result[key] = obj[key]);
76
+ }
77
+ return result;
78
+ }
79
+ class Document {
80
+ _text = '';
81
+ positionAt;
82
+ offsetAt;
83
+ constructor(content){
84
+ this._text, this._text = content, this.createFinder();
85
+ }
86
+ createFinder() {
87
+ let find = new external_lines_and_columns_namespaceObject.LinesAndColumns(this._text);
88
+ this.positionAt = (offset)=>{
89
+ offset >= this._text.length && (offset = this._text.length - 1), offset < 0 && (offset = 0);
90
+ let result = find.locationForIndex(offset);
91
+ if (result) return {
92
+ line: result.line + 1,
93
+ column: result.column
94
+ };
95
+ }, this.offsetAt = (position)=>find.indexForLocation({
96
+ line: position.line - 1,
97
+ column: position.column
98
+ }) ?? void 0;
99
+ }
100
+ getText(range) {
101
+ if (!range) return this._text;
102
+ let start = 'number' == typeof range.start ? range.start : this.offsetAt(range.start), end = 'number' == typeof range.end ? range.end : this.offsetAt(range.end);
103
+ if (isUndefined(start)) throw Error(`Location ${JSON.stringify(start)} is illegal`);
104
+ if (isUndefined(end)) throw Error(`Location ${JSON.stringify(end)} is illegal`);
105
+ return this._text.slice(start, end);
106
+ }
107
+ edit(data) {
108
+ let { _text: content } = this, startOffset = isNumber(data.start) ? data.start : this.offsetAt(data.start), endOffset = isNumber(data.end) ? data.end : this.offsetAt(data.end);
109
+ if (isUndefined(startOffset) || isUndefined(endOffset)) return;
110
+ let startTxt = content.substring(0, startOffset), endTxt = content.substring(endOffset, content.length);
111
+ return startTxt + data.newText + endTxt;
112
+ }
113
+ }
114
+ let store = new Map();
115
+ function getDocument(content) {
116
+ if (store.has(content)) return store.get(content);
117
+ let doc = new Document(content);
118
+ return store.set(content, doc), doc;
119
+ }
120
+ function clearDocument() {
121
+ store.clear();
122
+ }
123
+ function isSyntaxNode(node) {
124
+ return isObject(node) && 'type' in node;
125
+ }
126
+ function assertCreator(type) {
127
+ return (node)=>isSyntaxNode(node) && node.type === type;
128
+ }
129
+ let asserts = {
130
+ isProgram: assertCreator('Program'),
131
+ isEmptyStatement: assertCreator('EmptyStatement'),
132
+ isBlockStatement: assertCreator('BlockStatement'),
133
+ isStaticBlock: assertCreator('StaticBlock'),
134
+ isExpressionStatement: assertCreator('ExpressionStatement'),
135
+ isIfStatement: assertCreator('IfStatement'),
136
+ isLabeledStatement: assertCreator('LabeledStatement'),
137
+ isBreakStatement: assertCreator('BreakStatement'),
138
+ isContinueStatement: assertCreator('ContinueStatement'),
139
+ isWithStatement: assertCreator('WithStatement'),
140
+ isSwitchStatement: assertCreator('SwitchStatement'),
141
+ isReturnStatement: assertCreator('ReturnStatement'),
142
+ isThrowStatement: assertCreator('ThrowStatement'),
143
+ isTryStatement: assertCreator('TryStatement'),
144
+ isWhileStatement: assertCreator('WhileStatement'),
145
+ isDoWhileStatement: assertCreator('DoWhileStatement'),
146
+ isForStatement: assertCreator('ForStatement'),
147
+ isForInStatement: assertCreator('ForInStatement'),
148
+ isForOfStatement: assertCreator('ForOfStatement'),
149
+ isDebuggerStatement: assertCreator('DebuggerStatement'),
150
+ isFunctionDeclaration: assertCreator('FunctionDeclaration'),
151
+ isVariableDeclaration: assertCreator('VariableDeclaration'),
152
+ isVariableDeclarator: assertCreator('VariableDeclarator'),
153
+ isChainExpression: assertCreator('ChainExpression'),
154
+ isThisExpression: assertCreator('ThisExpression'),
155
+ isArrayExpression: assertCreator('ArrayExpression'),
156
+ isObjectExpression: assertCreator('ObjectExpression'),
157
+ isPrivateIdentifier: assertCreator('PrivateIdentifier'),
158
+ isProperty: assertCreator('Property'),
159
+ isPropertyDefinition: assertCreator('PropertyDefinition'),
160
+ isFunctionExpression: assertCreator('FunctionExpression'),
161
+ isSequenceExpression: assertCreator('SequenceExpression'),
162
+ isUnaryExpression: assertCreator('UnaryExpression'),
163
+ isBinaryExpression: assertCreator('BinaryExpression'),
164
+ isAssignmentExpression: assertCreator('AssignmentExpression'),
165
+ isUpdateExpression: assertCreator('UpdateExpression'),
166
+ isLogicalExpression: assertCreator('LogicalExpression'),
167
+ isConditionalExpression: assertCreator('ConditionalExpression'),
168
+ isNewExpression: assertCreator('NewExpression'),
169
+ isSwitchCase: assertCreator('SwitchCase'),
170
+ isCatchClause: assertCreator('CatchClause'),
171
+ isIdentifier: assertCreator('Identifier'),
172
+ isLiteral: assertCreator('Literal'),
173
+ isSuper: assertCreator('Super'),
174
+ isSpreadElement: assertCreator('SpreadElement'),
175
+ isArrowFunctionExpression: assertCreator('ArrowFunctionExpression'),
176
+ isYieldExpression: assertCreator('YieldExpression'),
177
+ isTemplateLiteral: assertCreator('TemplateLiteral'),
178
+ isTaggedTemplateExpression: assertCreator('TaggedTemplateExpression'),
179
+ isTemplateElement: assertCreator('TemplateElement'),
180
+ isObjectPattern: assertCreator('ObjectPattern'),
181
+ isArrayPattern: assertCreator('ArrayPattern'),
182
+ isRestElement: assertCreator('RestElement'),
183
+ isAssignmentPattern: assertCreator('AssignmentPattern'),
184
+ isClassBody: assertCreator('ClassBody'),
185
+ isClassDeclaration: assertCreator('ClassDeclaration'),
186
+ isClassExpression: assertCreator('ClassExpression'),
187
+ isMetaProperty: assertCreator('MetaProperty'),
188
+ isImportDeclaration: assertCreator('ImportDeclaration'),
189
+ isImportSpecifier: assertCreator('ImportSpecifier'),
190
+ isImportExpression: assertCreator('ImportExpression'),
191
+ isImportDefaultSpecifier: assertCreator('ImportDefaultSpecifier'),
192
+ isImportNamespaceSpecifier: assertCreator('ImportNamespaceSpecifier'),
193
+ isExportNamedDeclaration: assertCreator('ExportNamedDeclaration'),
194
+ isExportSpecifier: assertCreator('ExportSpecifier'),
195
+ isExportDefaultDeclaration: assertCreator('ExportDefaultDeclaration'),
196
+ isExportAllDeclaration: assertCreator('ExportAllDeclaration'),
197
+ isAwaitExpression: assertCreator('AwaitExpression'),
198
+ isMethodDefinition: assertCreator('MethodDefinition'),
199
+ isMemberExpression: assertCreator('MemberExpression'),
200
+ isComment: (node)=>isSyntaxNode(node) && ('Line' === node.type || 'Block' === node.type),
201
+ isDirective: (node)=>asserts.isExpressionStatement(node) && 'directive' in node,
202
+ isSimpleCallExpression: (node)=>isSyntaxNode(node) && 'CallExpression' === node.type,
203
+ isAssignmentProperty: (node)=>asserts.isProperty(node) && 'init' === node.kind,
204
+ isSimpleLiteral: (node)=>asserts.isLiteral(node) && !asserts.isRegExpLiteral(node) && !asserts.isBigIntLiteral(node),
205
+ isRegExpLiteral: (node)=>asserts.isLiteral(node) && 'regex' in node,
206
+ isBigIntLiteral: (node)=>asserts.isLiteral(node) && 'bigint' in node,
207
+ isExportStatement: (node)=>asserts.isExportAllDeclaration(node) || asserts.isExportDefaultDeclaration(node) || asserts.isExportNamedDeclaration(node)
208
+ }, external_acorn_namespaceObject = require("acorn"), external_acorn_import_attributes_namespaceObject = require("acorn-import-attributes"), external_acorn_walk_namespaceObject = require("acorn-walk");
209
+ var types_ECMAVersion = function(ECMAVersion) {
210
+ return ECMAVersion.ES5 = "ES5", ECMAVersion.ES6 = "ES6", ECMAVersion.ES7P = "ES7+", ECMAVersion;
211
+ }({});
212
+ function isSameSemantics(node1, node2) {
213
+ if (node1.type !== node2.type) return !1;
214
+ switch(node1.type){
215
+ case 'CallExpression':
216
+ return node1.arguments.length === node2.arguments.length && !!node1.optional == !!node2.optional && isSameSemantics(node1.callee, node2.callee) && node1.arguments.every((node, i)=>isSameSemantics(node, node2.arguments[i]));
217
+ case 'MemberExpression':
218
+ return node1.computed === node2.computed && !!node1.optional == !!node2.optional && isSameSemantics(node1.object, node2.object) && isSameSemantics(node1.property, node2.property);
219
+ case 'Identifier':
220
+ return node1.name === node2.name;
221
+ case 'Literal':
222
+ if (asserts.isSimpleLiteral(node1) && asserts.isSimpleLiteral(node2)) return node1.value === node2.value;
223
+ return node1.raw === node2.raw;
224
+ case 'ObjectExpression':
225
+ return node1.properties.length === node2.properties.length && node1.properties.every((prop, i)=>isSameSemantics(prop, node2.properties[i]));
226
+ case 'Property':
227
+ return node1.computed === node2.computed && node1.kind === node2.kind && node1.method === node2.method && isSameSemantics(node1.key, node2.key) && isSameSemantics(node1.value, node2.value);
228
+ default:
229
+ throw Error(`Unknown node type: ${node1.type}`);
230
+ }
231
+ }
232
+ function getDefaultImports(node) {
233
+ return node.body.filter((statement)=>{
234
+ if ('ImportDeclaration' !== statement.type) return !1;
235
+ let specifier = statement?.specifiers?.[0];
236
+ return specifier?.type === 'ImportDefaultSpecifier';
237
+ });
238
+ }
239
+ function getIdentifierInPattern(name, node) {
240
+ if (asserts.isIdentifier(node) && node.name === name) return node;
241
+ if (asserts.isObjectPattern(node)) for (let prop of node.properties){
242
+ if (asserts.isAssignmentProperty(prop)) return getIdentifierInPattern(name, prop.value);
243
+ if (asserts.isRestElement(prop)) return getIdentifierInPattern(name, prop);
244
+ }
245
+ if (asserts.isArrayPattern(node)) {
246
+ for (let el of node.elements)if (el) {
247
+ let result = getIdentifierInPattern(name, el);
248
+ if (result) return result;
249
+ }
250
+ }
251
+ return asserts.isRestElement(node) ? getIdentifierInPattern(name, node.argument) : asserts.isAssignmentPattern(node) ? getIdentifierInPattern(name, node.left) : void 0;
252
+ }
253
+ function getIdentifierInDeclaration(name, node) {
254
+ var node1;
255
+ return asserts.isFunctionDeclaration(node) || asserts.isClassDeclaration(node) ? (node1 = node, asserts.isIdentifier(node1.id) && node1.id.name === name ? node1.id : void 0) : asserts.isVariableDeclaration(node) ? node.declarations.find((item)=>getIdentifierInPattern(name, item.id))?.id : void 0;
256
+ }
257
+ function getIdentifierInImport(name, node) {
258
+ if (asserts.isImportDeclaration(node)) {
259
+ for (let specifier of node.specifiers ?? [])if (specifier.local.name === name) return specifier.local;
260
+ }
261
+ }
262
+ function getIdentifierInExport(name, node) {
263
+ if (asserts.isExportNamedDeclaration(node)) {
264
+ if (node.declaration) return getIdentifierInDeclaration(name, node.declaration);
265
+ for (let specifier of node.specifiers ?? [])if (specifier.exported.name === name) return specifier.exported;
266
+ }
267
+ if (asserts.isExportAllDeclaration(node) && node.exported && node.exported.name === name) return node.exported;
268
+ }
269
+ function canParse(code, ecmaVersion) {
270
+ try {
271
+ return (0, external_acorn_namespaceObject.parse)(code, {
272
+ ecmaVersion,
273
+ sourceType: 'number' == typeof ecmaVersion && ecmaVersion <= 5 ? "script" : 'module'
274
+ }), !0;
275
+ } catch (err) {
276
+ return !1;
277
+ }
278
+ }
279
+ function isES5(code) {
280
+ return canParse(code, 5);
281
+ }
282
+ function isES6(code) {
283
+ return canParse(code, 6);
284
+ }
285
+ function detectECMAVersion(code) {
286
+ return isES6(code) ? isES5(code) ? types_ECMAVersion.ES5 : types_ECMAVersion.ES6 : types_ECMAVersion.ES7P;
287
+ }
288
+ let acornParserInternal = external_acorn_namespaceObject.Parser.extend(external_acorn_import_attributes_namespaceObject.importAttributes), acornParserExport = external_acorn_namespaceObject.Parser.extend(external_acorn_import_attributes_namespaceObject.importAttributes), parser = {
289
+ walk: external_acorn_walk_namespaceObject,
290
+ parse: (input, options)=>acornParserExport.parse(input, options),
291
+ parseExpressionAt: (input, pos, options)=>acornParserExport.parseExpressionAt(input, pos, options),
292
+ extend: (...args)=>acornParserExport = acornParserExport.extend(...args),
293
+ asserts: asserts,
294
+ utils: utils_namespaceObject,
295
+ internal: {
296
+ parse: (input, options)=>acornParserInternal.parse(input, options),
297
+ parseExpressionAt: (input, pos, options)=>acornParserInternal.parseExpressionAt(input, pos, options)
298
+ }
299
+ };
300
+ for(var __webpack_i__ in exports.Document = __webpack_exports__.Document, exports.ECMAVersion = __webpack_exports__.ECMAVersion, exports.asserts = __webpack_exports__.asserts, exports.canParse = __webpack_exports__.canParse, exports.clearDocument = __webpack_exports__.clearDocument, exports.detectECMAVersion = __webpack_exports__.detectECMAVersion, exports.getDefaultImports = __webpack_exports__.getDefaultImports, exports.getDocument = __webpack_exports__.getDocument, exports.getIdentifierInDeclaration = __webpack_exports__.getIdentifierInDeclaration, exports.getIdentifierInExport = __webpack_exports__.getIdentifierInExport, exports.getIdentifierInImport = __webpack_exports__.getIdentifierInImport, exports.getIdentifierInPattern = __webpack_exports__.getIdentifierInPattern, exports.isES5 = __webpack_exports__.isES5, exports.isES6 = __webpack_exports__.isES6, exports.isSameSemantics = __webpack_exports__.isSameSemantics, exports.parser = __webpack_exports__.parser, __webpack_exports__)-1 === [
301
+ "Document",
302
+ "ECMAVersion",
303
+ "asserts",
304
+ "canParse",
305
+ "clearDocument",
306
+ "detectECMAVersion",
307
+ "getDefaultImports",
308
+ "getDocument",
309
+ "getIdentifierInDeclaration",
310
+ "getIdentifierInExport",
311
+ "getIdentifierInImport",
312
+ "getIdentifierInPattern",
313
+ "isES5",
314
+ "isES6",
315
+ "isSameSemantics",
316
+ "parser"
317
+ ].indexOf(__webpack_i__) && (exports[__webpack_i__] = __webpack_exports__[__webpack_i__]);
318
+ Object.defineProperty(exports, '__esModule', {
319
+ value: !0
320
+ });