@rspack/core 0.1.8 → 0.1.9

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 (86) hide show
  1. package/dist/RuleSetCompiler.d.ts +6 -0
  2. package/dist/RuleSetCompiler.d.ts.map +1 -0
  3. package/dist/RuleSetCompiler.js +10 -0
  4. package/dist/RuleSetCompiler.js.map +1 -0
  5. package/dist/compilation.d.ts +5 -0
  6. package/dist/compilation.d.ts.map +1 -1
  7. package/dist/compilation.js +10 -1
  8. package/dist/compilation.js.map +1 -1
  9. package/dist/compiler.d.ts +11 -0
  10. package/dist/compiler.d.ts.map +1 -1
  11. package/dist/compiler.js +28 -5
  12. package/dist/compiler.js.map +1 -1
  13. package/dist/config/adapter-rule-use.d.ts +64 -6
  14. package/dist/config/adapter-rule-use.d.ts.map +1 -1
  15. package/dist/config/adapter-rule-use.js +45 -392
  16. package/dist/config/adapter-rule-use.js.map +1 -1
  17. package/dist/config/adapter.d.ts +4 -2
  18. package/dist/config/adapter.d.ts.map +1 -1
  19. package/dist/config/adapter.js +69 -9
  20. package/dist/config/adapter.js.map +1 -1
  21. package/dist/config/builtins.d.ts +14 -0
  22. package/dist/config/builtins.d.ts.map +1 -1
  23. package/dist/config/builtins.js +24 -0
  24. package/dist/config/builtins.js.map +1 -1
  25. package/dist/config/defaults.d.ts.map +1 -1
  26. package/dist/config/defaults.js +92 -14
  27. package/dist/config/defaults.js.map +1 -1
  28. package/dist/config/normalization.d.ts.map +1 -1
  29. package/dist/config/normalization.js +13 -1
  30. package/dist/config/normalization.js.map +1 -1
  31. package/dist/config/schema.check.d.ts.map +1 -1
  32. package/dist/config/schema.check.js +1555 -1120
  33. package/dist/config/schema.check.js.map +1 -1
  34. package/dist/config/schema.d.ts +1001 -887
  35. package/dist/config/schema.js +91 -0
  36. package/dist/config/schema.js.map +1 -1
  37. package/dist/config/types.d.ts +49 -3
  38. package/dist/config/types.d.ts.map +1 -1
  39. package/dist/lib/Cache.d.ts +72 -0
  40. package/dist/lib/Cache.d.ts.map +1 -0
  41. package/dist/lib/Cache.js +131 -0
  42. package/dist/lib/Cache.js.map +1 -0
  43. package/dist/lib/CacheFacade.d.ts +192 -0
  44. package/dist/lib/CacheFacade.d.ts.map +1 -0
  45. package/dist/lib/CacheFacade.js +320 -0
  46. package/dist/lib/CacheFacade.js.map +1 -0
  47. package/dist/lib/HookWebpackError.d.ts +47 -0
  48. package/dist/lib/HookWebpackError.d.ts.map +1 -0
  49. package/dist/lib/HookWebpackError.js +83 -0
  50. package/dist/lib/HookWebpackError.js.map +1 -0
  51. package/dist/lib/WebpackError.d.ts +24 -0
  52. package/dist/lib/WebpackError.d.ts.map +1 -0
  53. package/dist/lib/WebpackError.js +35 -0
  54. package/dist/lib/WebpackError.js.map +1 -0
  55. package/dist/lib/cache/getLazyHashedEtag.d.ts +36 -0
  56. package/dist/lib/cache/getLazyHashedEtag.d.ts.map +1 -0
  57. package/dist/lib/cache/getLazyHashedEtag.js +74 -0
  58. package/dist/lib/cache/getLazyHashedEtag.js.map +1 -0
  59. package/dist/lib/cache/mergeEtags.d.ts +12 -0
  60. package/dist/lib/cache/mergeEtags.d.ts.map +1 -0
  61. package/dist/lib/cache/mergeEtags.js +72 -0
  62. package/dist/lib/cache/mergeEtags.js.map +1 -0
  63. package/dist/loader-runner/LoaderLoadingError.d.ts +5 -0
  64. package/dist/loader-runner/LoaderLoadingError.d.ts.map +1 -0
  65. package/dist/loader-runner/LoaderLoadingError.js +19 -0
  66. package/dist/loader-runner/LoaderLoadingError.js.map +1 -0
  67. package/dist/loader-runner/index.d.ts +18 -0
  68. package/dist/loader-runner/index.d.ts.map +1 -0
  69. package/dist/loader-runner/index.js +667 -0
  70. package/dist/loader-runner/index.js.map +1 -0
  71. package/dist/loader-runner/loadLoader.d.ts +3 -0
  72. package/dist/loader-runner/loadLoader.d.ts.map +1 -0
  73. package/dist/loader-runner/loadLoader.js +69 -0
  74. package/dist/loader-runner/loadLoader.js.map +1 -0
  75. package/dist/stats.d.ts.map +1 -1
  76. package/dist/stats.js +2 -2
  77. package/dist/stats.js.map +1 -1
  78. package/dist/util/fake.d.ts +1 -0
  79. package/dist/util/fake.d.ts.map +1 -1
  80. package/dist/util/fake.js +1 -0
  81. package/dist/util/fake.js.map +1 -1
  82. package/dist/util/index.d.ts +3 -0
  83. package/dist/util/index.d.ts.map +1 -1
  84. package/dist/util/index.js +28 -1
  85. package/dist/util/index.js.map +1 -1
  86. package/package.json +8 -8
@@ -5,17 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.isUseSimpleSourceMap = exports.isUseSourceMap = exports.createRawModuleRuleUses = void 0;
7
7
  const assert_1 = __importDefault(require("assert"));
8
- const path_1 = __importDefault(require("path"));
9
- const webpack_sources_1 = require("webpack-sources");
10
- const util_1 = require("../util");
11
- const createHash_1 = require("../util/createHash");
12
- const identifier_1 = require("../util/identifier");
13
- const memoize_1 = require("../util/memoize");
8
+ const loader_runner_1 = require("../loader-runner");
14
9
  const BUILTIN_LOADER_PREFIX = "builtin:";
15
10
  function createRawModuleRuleUses(uses, options) {
16
11
  const normalizeRuleSetUseItem = (item) => typeof item === "string" ? { loader: item } : item;
17
12
  const allUses = Array.isArray(uses)
18
- ? [...uses].reverse().map(normalizeRuleSetUseItem)
13
+ ? [...uses].map(normalizeRuleSetUseItem)
19
14
  : [normalizeRuleSetUseItem(uses)];
20
15
  return createRawModuleRuleUsesImpl(allUses, options, allUses);
21
16
  }
@@ -24,386 +19,53 @@ function createRawModuleRuleUsesImpl(uses, options, allUses) {
24
19
  if (!uses.length) {
25
20
  return [];
26
21
  }
27
- const index = uses.findIndex(use => typeof use.loader === "string" &&
28
- use.loader.startsWith(BUILTIN_LOADER_PREFIX));
29
- if (index < 0) {
30
- // cast to non-null since we know `uses` is not empty
31
- return [composeJsUse(uses, options, allUses)];
32
- }
33
- const before = uses.slice(0, index);
34
- const after = uses.slice(index + 1);
35
- return [
36
- composeJsUse(before, options, allUses),
37
- createBuiltinUse(uses[index]),
38
- ...createRawModuleRuleUsesImpl(after, options, allUses)
39
- ].filter((item) => Boolean(item));
40
- }
41
- function composeJsUse(uses, options, allUses) {
42
- if (!uses.length) {
43
- return null;
44
- }
45
- async function loader(data) {
46
- var _a, _b, _c, _d, _e;
47
- const compiler = options.compiler;
48
- const resolver = compiler.resolverFactory.get("normal");
49
- const moduleContext = path_1.default.dirname(data.resourcePath);
50
- let cacheable = data.cacheable;
51
- let content = data.content;
52
- let sourceMap = (_a = data.sourceMap) === null || _a === void 0 ? void 0 : _a.toString("utf-8");
53
- let additionalData = data.additionalData
54
- ? JSON.parse(data.additionalData.toString("utf-8"))
55
- : undefined;
56
- // Loader is executed from right to left
57
- for (const use of uses) {
58
- const loaderIndex = allUses.indexOf(use);
59
- let loaderResult;
60
- const p = new Promise((resolve, reject) => {
61
- var _a;
62
- let isDone = false;
63
- // Whether a `callback` or `async` is called
64
- let isSync = true;
65
- let isError = false; // internal error
66
- let reportedError = false;
67
- const fileDependencies = [];
68
- const contextDependencies = [];
69
- const missingDependencies = [];
70
- const buildDependencies = [];
71
- function callback(err, content, sourceMap, additionalData) {
72
- if (isDone) {
73
- if (reportedError)
74
- return; // ignore
75
- err = new Error("callback(): The callback was already called.");
76
- }
77
- isSync = false;
78
- isDone = true;
79
- if (err) {
80
- isError = true;
81
- reject(err);
82
- return;
83
- }
84
- resolve({
85
- cacheable,
86
- content,
87
- sourceMap,
88
- additionalData,
89
- fileDependencies,
90
- contextDependencies,
91
- missingDependencies,
92
- buildDependencies
93
- });
94
- }
95
- const getResolveContext = () => {
96
- // FIXME: resolve's fileDependencies will includes lots of dir, '/', etc.
97
- return {
98
- fileDependencies: {
99
- // @ts-expect-error
100
- add: d => {
101
- // loaderContext.addDependency(d)
102
- }
103
- },
104
- contextDependencies: {
105
- // @ts-expect-error
106
- add: d => {
107
- // loaderContext.addContextDependency(d)
108
- }
109
- },
110
- missingDependencies: {
111
- // @ts-expect-error
112
- add: d => {
113
- // loaderContext.addMissingDependency(d)
114
- }
115
- }
116
- };
117
- };
118
- const getAbsolutify = (0, memoize_1.memoize)(() => identifier_1.absolutify.bindCache(compiler.root));
119
- const getAbsolutifyInContext = (0, memoize_1.memoize)(() => identifier_1.absolutify.bindContextCache(moduleContext, compiler.root));
120
- const getContextify = (0, memoize_1.memoize)(() => identifier_1.contextify.bindCache(compiler.root));
121
- const getContextifyInContext = (0, memoize_1.memoize)(() => identifier_1.contextify.bindContextCache(moduleContext, compiler.root));
122
- const utils = {
123
- // @ts-expect-error
124
- absolutify: (context, request) => {
125
- return context === moduleContext
126
- ? getAbsolutifyInContext()(request)
127
- : getAbsolutify()(context, request);
128
- },
129
- // @ts-expect-error
130
- contextify: (context, request) => {
131
- return context === moduleContext
132
- ? getContextifyInContext()(request)
133
- : getContextify()(context, request);
134
- },
135
- // @ts-expect-error
136
- createHash: type => {
137
- return (0, createHash_1.createHash)(
138
- // @ts-expect-error hashFunction should also available in rust side, then we can make the type right
139
- type || compiler.compilation.outputOptions.hashFunction);
140
- }
141
- };
142
- const loaderContext = {
143
- version: 2,
144
- sourceMap: isUseSourceMap(options.devtool),
145
- resourcePath: data.resourcePath,
146
- resource: data.resource,
147
- // Return an empty string if there is no query or fragment
148
- resourceQuery: data.resourceQuery || "",
149
- resourceFragment: data.resourceFragment || "",
150
- loaderIndex,
151
- mode: compiler.options.mode,
152
- hot: (_a = compiler.options.devServer) === null || _a === void 0 ? void 0 : _a.hot,
153
- getOptions(schema) {
154
- let { options } = use;
155
- if (options === null || options === undefined) {
156
- options = {};
157
- }
158
- if (schema) {
159
- let name = "Loader";
160
- let baseDataPath = "options";
161
- let match;
162
- if (schema.title && (match = /^(.+) (.+)$/.exec(schema.title))) {
163
- [, name, baseDataPath] = match;
164
- }
165
- const { validate } = require("schema-utils");
166
- validate(schema, options, {
167
- name,
168
- baseDataPath
169
- });
170
- }
171
- return options;
172
- },
173
- get query() {
174
- return use.options && typeof use.options === "object"
175
- ? use.options
176
- : // deprecated usage so ignore the type
177
- use.query;
178
- },
179
- resolve(context, request, callback) {
180
- resolver.resolve({}, context, request, getResolveContext(), callback);
181
- },
182
- // @ts-expect-error
183
- getResolve(options) {
184
- const child = options ? resolver.withOptions(options) : resolver;
185
- return (context, request, callback) => {
186
- if (callback) {
187
- child.resolve({}, context, request, getResolveContext(), callback);
188
- }
189
- else {
190
- return new Promise((resolve, reject) => {
191
- child.resolve({}, context, request, getResolveContext(), (err, result) => {
192
- if (err)
193
- reject(err);
194
- else
195
- resolve(result);
196
- });
197
- });
198
- }
199
- };
200
- },
201
- getLogger(name) {
202
- return compiler.getInfrastructureLogger(() => [name, data.resource].filter(Boolean).join("|"));
203
- },
204
- cacheable(value = true) {
205
- cacheable = value;
206
- },
207
- // @ts-expect-error
208
- async() {
209
- if (isDone) {
210
- if (reportedError)
211
- return; // ignore
212
- reject(new Error("async(): The callback was already called."));
213
- }
214
- isSync = false;
215
- return callback;
216
- },
217
- callback,
218
- rootContext: options.context,
219
- context: moduleContext,
220
- emitError(error) {
221
- const title = "Module Error";
222
- const message = error instanceof Error ? (0, util_1.concatErrorMsgAndStack)(error) : error;
223
- compiler.compilation.pushDiagnostic("error", title, `${message}\n(from: ${use.loader})`);
224
- },
225
- emitWarning(warning) {
226
- const title = "Module Warning";
227
- const message = warning instanceof Error
228
- ? (0, util_1.concatErrorMsgAndStack)(warning)
229
- : warning;
230
- compiler.compilation.pushDiagnostic("warning", title, `${message}\n(from: ${use.loader})`);
231
- },
232
- emitFile(name, content, sourceMap, assetInfo) {
233
- let source;
234
- if (sourceMap) {
235
- if (typeof sourceMap === "string" &&
236
- (loaderContext.sourceMap ||
237
- isUseSimpleSourceMap(options.devtool))) {
238
- source = new webpack_sources_1.OriginalSource(content, (0, identifier_1.makePathsRelative)(moduleContext, sourceMap, compiler));
239
- }
240
- if (this.sourceMap) {
241
- source = new webpack_sources_1.SourceMapSource(content, // webpack-sources type declaration is wrong
242
- name, (0, identifier_1.makePathsRelative)(moduleContext, sourceMap, compiler) // webpack-sources type declaration is wrong
243
- );
244
- }
245
- }
246
- else {
247
- source = new webpack_sources_1.RawSource(content); // webpack-sources type declaration is wrong
248
- }
249
- // @ts-expect-error
250
- compiler.compilation.emitAsset(name, source, assetInfo);
251
- },
252
- fs: compiler.inputFileSystem,
253
- utils,
254
- addBuildDependency(file) {
255
- buildDependencies.push(file);
256
- },
257
- addDependency(file) {
258
- fileDependencies.push(file);
259
- },
260
- dependency(file) {
261
- fileDependencies.push(file);
262
- },
263
- addContextDependency(context) {
264
- contextDependencies.push(context);
265
- },
266
- addMissingDependency(missing) {
267
- missingDependencies.push(missing);
268
- },
269
- clearDependencies() {
270
- fileDependencies.length = 0;
271
- contextDependencies.length = 0;
272
- missingDependencies.length = 0;
273
- },
274
- getDependencies() {
275
- return fileDependencies.slice();
276
- },
277
- getContextDependencies() {
278
- return contextDependencies.slice();
279
- },
280
- getMissingDependencies() {
281
- return missingDependencies.slice();
282
- },
283
- _compiler: compiler,
284
- _compilation: compiler.compilation
285
- };
286
- let loader;
287
- try {
288
- const loaderPath = require.resolve(use.loader, {
289
- paths: [options.context]
290
- });
291
- const loaderModule = require(loaderPath);
292
- loader =
293
- typeof loaderModule === "function"
294
- ? loaderModule
295
- : loaderModule.default;
296
- }
297
- catch (err) {
298
- reject(err);
299
- return;
300
- }
301
- let result = undefined;
302
- try {
303
- result = loader.apply(loaderContext, [
304
- loader.raw ? Buffer.from(content) : content.toString("utf-8"),
305
- sourceMap,
306
- additionalData
307
- ]);
308
- if (isSync) {
309
- isDone = true;
310
- if (result === undefined) {
311
- resolve({
312
- content,
313
- buildDependencies,
314
- sourceMap,
315
- additionalData,
316
- cacheable,
317
- fileDependencies,
318
- contextDependencies,
319
- missingDependencies
320
- });
321
- return;
322
- }
323
- if ((0, util_1.isPromiseLike)(result)) {
324
- return result.then(function (result) {
325
- resolve({
326
- content: result,
327
- buildDependencies,
328
- sourceMap,
329
- additionalData,
330
- cacheable,
331
- fileDependencies,
332
- contextDependencies,
333
- missingDependencies
334
- });
335
- }, reject);
336
- }
337
- return resolve({
338
- content: result,
339
- buildDependencies,
340
- sourceMap,
341
- additionalData,
342
- cacheable,
343
- fileDependencies,
344
- contextDependencies,
345
- missingDependencies
346
- });
347
- }
348
- }
349
- catch (err) {
350
- if (isError) {
351
- reject(err);
352
- return;
353
- }
354
- if (isDone) {
355
- // loader is already "done", so we cannot use the callback function
356
- // for better debugging we print the error on the console
357
- // @ts-expect-error
358
- if (typeof err === "object" && err.stack)
359
- console.error(err.stack);
360
- else
361
- console.error(err);
362
- reject(err);
363
- return;
364
- }
365
- isDone = true;
366
- reportedError = true;
367
- reject(err);
368
- }
369
- });
370
- if ((loaderResult = await p)) {
371
- additionalData =
372
- (_b = (typeof loaderResult.additionalData === "string"
373
- ? JSON.parse(loaderResult.additionalData)
374
- : loaderResult.additionalData)) !== null && _b !== void 0 ? _b : additionalData;
375
- content = (_c = loaderResult.content) !== null && _c !== void 0 ? _c : content;
376
- sourceMap = (_d = loaderResult.sourceMap) !== null && _d !== void 0 ? _d : sourceMap;
377
- cacheable = (_e = loaderResult.cacheable) !== null && _e !== void 0 ? _e : cacheable;
378
- data.fileDependencies.push(...loaderResult.fileDependencies);
379
- data.contextDependencies.push(...loaderResult.contextDependencies);
380
- data.missingDependencies.push(...loaderResult.missingDependencies);
381
- data.buildDependencies.push(...loaderResult.buildDependencies);
382
- }
22
+ return uses.map(use => {
23
+ if (typeof use.loader === "string" &&
24
+ use.loader.startsWith(BUILTIN_LOADER_PREFIX)) {
25
+ return createBuiltinUse(use);
383
26
  }
384
27
  return {
385
- cacheable: cacheable,
386
- fileDependencies: data.fileDependencies,
387
- contextDependencies: data.contextDependencies,
388
- missingDependencies: data.missingDependencies,
389
- buildDependencies: data.buildDependencies,
390
- content: toBuffer(content),
391
- sourceMap: sourceMap
392
- ? toBuffer(typeof sourceMap === "string"
393
- ? sourceMap
394
- : JSON.stringify(sourceMap))
395
- : undefined,
396
- additionalData: additionalData
397
- ? toBuffer(JSON.stringify(additionalData))
398
- : undefined
28
+ jsLoader: {
29
+ identifier: resolveStringifyLoaders(use, options.compiler)
30
+ }
399
31
  };
400
- }
401
- return {
402
- jsLoader: {
403
- func: loader,
404
- name: uses.map(use => use.loader).join("!")
32
+ });
33
+ }
34
+ function resolveStringifyLoaders(use, compiler) {
35
+ const obj = (0, loader_runner_1.parsePathQueryFragment)(use.loader);
36
+ obj.path = require.resolve(obj.path, {
37
+ paths: [compiler.context]
38
+ });
39
+ let ident = null;
40
+ if (use.options === null)
41
+ obj.query = "";
42
+ else if (use.options === undefined)
43
+ obj.query = "";
44
+ else if (typeof use.options === "string")
45
+ obj.query = "?" + use.options;
46
+ else if (use.ident)
47
+ obj.query = "??" + (ident = use.ident);
48
+ else if (typeof use.options === "object" && use.options.ident)
49
+ obj.query = "??" + (ident = use.options.ident);
50
+ else if (typeof use.options === "object")
51
+ obj.query = "??" + (ident = generateRandomString(10));
52
+ else
53
+ obj.query = "?" + JSON.stringify(use.options);
54
+ if (ident) {
55
+ if (typeof use.options === "object") {
56
+ compiler.ruleSet.references.set(ident, use.options);
405
57
  }
406
- };
58
+ }
59
+ return obj.path + obj.query + obj.fragment;
60
+ }
61
+ function generateRandomString(length) {
62
+ let result = "";
63
+ const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
64
+ const charactersLength = characters.length;
65
+ for (let i = 0; i < length; i++) {
66
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
67
+ }
68
+ return result;
407
69
  }
408
70
  function createBuiltinUse(use) {
409
71
  var _a;
@@ -417,15 +79,6 @@ function createBuiltinUse(use) {
417
79
  options: JSON.stringify(use.options)
418
80
  };
419
81
  }
420
- const toBuffer = (bufLike) => {
421
- if (Buffer.isBuffer(bufLike)) {
422
- return bufLike;
423
- }
424
- else if (typeof bufLike === "string") {
425
- return Buffer.from(bufLike);
426
- }
427
- throw new Error("Buffer or string expected");
428
- };
429
82
  function isUseSourceMap(devtool) {
430
83
  return (devtool.includes("source-map") &&
431
84
  (devtool.includes("module") || !devtool.includes("cheap")));
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-rule-use.js","sourceRoot":"","sources":["../../src/config/adapter-rule-use.ts"],"names":[],"mappings":";;;;;;AAOA,oDAA4B;AAE5B,gDAAwB;AACxB,qDAKyB;AAGzB,kCAAgE;AAChE,mDAAgD;AAEhD,mDAA+E;AAC/E,6CAA0C;AAS1C,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAqGzC,SAAgB,uBAAuB,CACtC,IAAgB,EAChB,OAA4B;IAE5B,MAAM,uBAAuB,GAAG,CAC/B,IAAoB,EACO,EAAE,CAC7B,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC;QAClD,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,OAAO,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC;AAZD,0DAYC;AAED,SAAS,2BAA2B,CACnC,IAAgC,EAChC,OAA4B,EAC5B,OAAmC;IAEnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,CAAC;KACV;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAC3B,GAAG,CAAC,EAAE,CACL,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAC7C,CAAC;IACF,IAAI,KAAK,GAAG,CAAC,EAAE;QACd,qDAAqD;QACrD,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAE,CAAC,CAAC;KAC/C;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACpC,OAAO;QACN,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACtC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,GAAG,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;KACvD,CAAC,MAAM,CAAC,CAAC,IAAI,EAA4B,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,YAAY,CACpB,IAAgC,EAChC,OAA4B,EAC5B,OAAmC;IAEnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACjB,OAAO,IAAI,CAAC;KACZ;IAED,KAAK,UAAU,MAAM,CAAC,IAAqB;;QAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEtD,IAAI,SAAS,GAAY,IAAI,CAAC,SAAS,CAAC;QACxC,IAAI,OAAO,GAAoB,IAAI,CAAC,OAAO,CAAC;QAC5C,IAAI,SAAS,GACZ,MAAA,IAAI,CAAC,SAAS,0CAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,cAAc,GAA+B,IAAI,CAAC,cAAc;YACnE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnD,CAAC,CAAC,SAAS,CAAC;QAEb,wCAAwC;QACxC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACvB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAEzC,IAAI,YAA0B,CAAC;YAE/B,MAAM,CAAC,GAAG,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;gBACvD,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,4CAA4C;gBAC5C,IAAI,MAAM,GAAG,IAAI,CAAC;gBAClB,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,iBAAiB;gBACtC,IAAI,aAAa,GAAG,KAAK,CAAC;gBAC1B,MAAM,gBAAgB,GAAa,EAAE,CAAC;gBACtC,MAAM,mBAAmB,GAAa,EAAE,CAAC;gBACzC,MAAM,mBAAmB,GAAa,EAAE,CAAC;gBACzC,MAAM,iBAAiB,GAAa,EAAE,CAAC;gBAEvC,SAAS,QAAQ,CAChB,GAAiB,EACjB,OAAwB,EACxB,SAA8B,EAC9B,cAA+B;oBAE/B,IAAI,MAAM,EAAE;wBACX,IAAI,aAAa;4BAAE,OAAO,CAAC,SAAS;wBACpC,GAAG,GAAG,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;qBAChE;oBACD,MAAM,GAAG,KAAK,CAAC;oBACf,MAAM,GAAG,IAAI,CAAC;oBAEd,IAAI,GAAG,EAAE;wBACR,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM,CAAC,GAAG,CAAC,CAAC;wBACZ,OAAO;qBACP;oBAED,OAAO,CAAC;wBACP,SAAS;wBACT,OAAO;wBACP,SAAS;wBACT,cAAc;wBACd,gBAAgB;wBAChB,mBAAmB;wBACnB,mBAAmB;wBACnB,iBAAiB;qBACjB,CAAC,CAAC;gBACJ,CAAC;gBAED,MAAM,iBAAiB,GAAG,GAAG,EAAE;oBAC9B,yEAAyE;oBACzE,OAAO;wBACN,gBAAgB,EAAE;4BACjB,mBAAmB;4BACnB,GAAG,EAAE,CAAC,CAAC,EAAE;gCACR,iCAAiC;4BAClC,CAAC;yBACD;wBACD,mBAAmB,EAAE;4BACpB,mBAAmB;4BACnB,GAAG,EAAE,CAAC,CAAC,EAAE;gCACR,wCAAwC;4BACzC,CAAC;yBACD;wBACD,mBAAmB,EAAE;4BACpB,mBAAmB;4BACnB,GAAG,EAAE,CAAC,CAAC,EAAE;gCACR,wCAAwC;4BACzC,CAAC;yBACD;qBACD,CAAC;gBACH,CAAC,CAAC;gBAEF,MAAM,aAAa,GAAG,IAAA,iBAAO,EAAC,GAAG,EAAE,CAClC,uBAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CACnC,CAAC;gBACF,MAAM,sBAAsB,GAAG,IAAA,iBAAO,EAAC,GAAG,EAAE,CAC3C,uBAAU,CAAC,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,CACzD,CAAC;gBACF,MAAM,aAAa,GAAG,IAAA,iBAAO,EAAC,GAAG,EAAE,CAClC,uBAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CACnC,CAAC;gBACF,MAAM,sBAAsB,GAAG,IAAA,iBAAO,EAAC,GAAG,EAAE,CAC3C,uBAAU,CAAC,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,CACzD,CAAC;gBACF,MAAM,KAAK,GAAG;oBACb,mBAAmB;oBACnB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;wBAChC,OAAO,OAAO,KAAK,aAAa;4BAC/B,CAAC,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC;4BACnC,CAAC,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACtC,CAAC;oBACD,mBAAmB;oBACnB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;wBAChC,OAAO,OAAO,KAAK,aAAa;4BAC/B,CAAC,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC;4BACnC,CAAC,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACtC,CAAC;oBACD,mBAAmB;oBACnB,UAAU,EAAE,IAAI,CAAC,EAAE;wBAClB,OAAO,IAAA,uBAAU;wBAChB,oGAAoG;wBACpG,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CACvD,CAAC;oBACH,CAAC;iBACD,CAAC;gBAEF,MAAM,aAAa,GAAkB;oBACpC,OAAO,EAAE,CAAC;oBACV,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;oBAC1C,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,0DAA0D;oBAC1D,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;oBACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,EAAE;oBAC7C,WAAW;oBACX,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;oBAC3B,GAAG,EAAE,MAAA,QAAQ,CAAC,OAAO,CAAC,SAAS,0CAAE,GAAG;oBACpC,UAAU,CAAC,MAAM;wBAChB,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;wBAEtB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;4BAC9C,OAAO,GAAG,EAAE,CAAC;yBACb;wBAED,IAAI,MAAM,EAAE;4BACX,IAAI,IAAI,GAAG,QAAQ,CAAC;4BACpB,IAAI,YAAY,GAAG,SAAS,CAAC;4BAC7B,IAAI,KAAK,CAAC;4BACV,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gCAC/D,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC;6BAC/B;4BACD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;4BAC7C,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE;gCACzB,IAAI;gCACJ,YAAY;6BACZ,CAAC,CAAC;yBACH;wBAED,OAAO,OAAO,CAAC;oBAChB,CAAC;oBACD,IAAI,KAAK;wBACR,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;4BACpD,CAAC,CAAC,GAAG,CAAC,OAAO;4BACb,CAAC,CAAC,sCAAsC;gCACrC,GAAW,CAAC,KAAK,CAAC;oBACvB,CAAC;oBACD,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ;wBACjC,QAAQ,CAAC,OAAO,CACf,EAAE,EACF,OAAO,EACP,OAAO,EACP,iBAAiB,EAAE,EACnB,QAAQ,CACR,CAAC;oBACH,CAAC;oBACD,mBAAmB;oBACnB,UAAU,CAAC,OAAO;wBACjB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;wBACjE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;4BACrC,IAAI,QAAQ,EAAE;gCACb,KAAK,CAAC,OAAO,CACZ,EAAE,EACF,OAAO,EACP,OAAO,EACP,iBAAiB,EAAE,EACnB,QAAQ,CACR,CAAC;6BACF;iCAAM;gCACN,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oCACtC,KAAK,CAAC,OAAO,CACZ,EAAE,EACF,OAAO,EACP,OAAO,EACP,iBAAiB,EAAE,EACnB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;wCACf,IAAI,GAAG;4CAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;4CAChB,OAAO,CAAC,MAAM,CAAC,CAAC;oCACtB,CAAC,CACD,CAAC;gCACH,CAAC,CAAC,CAAC;6BACH;wBACF,CAAC,CAAC;oBACH,CAAC;oBACD,SAAS,CAAC,IAAI;wBACb,OAAO,QAAQ,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAC5C,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAC/C,CAAC;oBACH,CAAC;oBACD,SAAS,CAAC,KAAK,GAAG,IAAI;wBACrB,SAAS,GAAG,KAAK,CAAC;oBACnB,CAAC;oBACD,mBAAmB;oBACnB,KAAK;wBACJ,IAAI,MAAM,EAAE;4BACX,IAAI,aAAa;gCAAE,OAAO,CAAC,SAAS;4BACpC,MAAM,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;yBAC/D;wBACD,MAAM,GAAG,KAAK,CAAC;wBACf,OAAO,QAAQ,CAAC;oBACjB,CAAC;oBACD,QAAQ;oBACR,WAAW,EAAE,OAAO,CAAC,OAAO;oBAC5B,OAAO,EAAE,aAAa;oBACtB,SAAS,CAAC,KAAK;wBACd,MAAM,KAAK,GAAG,cAAc,CAAC;wBAC7B,MAAM,OAAO,GACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,IAAA,6BAAsB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBAChE,QAAQ,CAAC,WAAW,CAAC,cAAc,CAClC,OAAO,EACP,KAAK,EACL,GAAG,OAAO,YAAY,GAAG,CAAC,MAAM,GAAG,CACnC,CAAC;oBACH,CAAC;oBACD,WAAW,CAAC,OAAO;wBAClB,MAAM,KAAK,GAAG,gBAAgB,CAAC;wBAC/B,MAAM,OAAO,GACZ,OAAO,YAAY,KAAK;4BACvB,CAAC,CAAC,IAAA,6BAAsB,EAAC,OAAO,CAAC;4BACjC,CAAC,CAAC,OAAO,CAAC;wBACZ,QAAQ,CAAC,WAAW,CAAC,cAAc,CAClC,SAAS,EACT,KAAK,EACL,GAAG,OAAO,YAAY,GAAG,CAAC,MAAM,GAAG,CACnC,CAAC;oBACH,CAAC;oBACD,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,SAAU,EAAE,SAAU;wBAC7C,IAAI,MAAc,CAAC;wBACnB,IAAI,SAAS,EAAE;4BACd,IACC,OAAO,SAAS,KAAK,QAAQ;gCAC7B,CAAC,aAAa,CAAC,SAAS;oCACvB,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EACtC;gCACD,MAAM,GAAG,IAAI,gCAAc,CAC1B,OAAO,EACP,IAAA,8BAAiB,EAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,CACrD,CAAC;6BACF;4BAED,IAAI,IAAI,CAAC,SAAS,EAAE;gCACnB,MAAM,GAAG,IAAI,iCAAe,CAC3B,OAAc,EAAE,4CAA4C;gCAC5D,IAAI,EACJ,IAAA,8BAAiB,EAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAQ,CAAC,4CAA4C;iCACzG,CAAC;6BACF;yBACD;6BAAM;4BACN,MAAM,GAAG,IAAI,2BAAS,CAAC,OAAc,CAAC,CAAC,CAAC,4CAA4C;yBACpF;wBACD,mBAAmB;wBACnB,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;oBACzD,CAAC;oBACD,EAAE,EAAE,QAAQ,CAAC,eAAe;oBAC5B,KAAK;oBACL,kBAAkB,CAAC,IAAI;wBACtB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC;oBACD,aAAa,CAAC,IAAI;wBACjB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;oBACD,UAAU,CAAC,IAAI;wBACd,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;oBACD,oBAAoB,CAAC,OAAO;wBAC3B,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACnC,CAAC;oBACD,oBAAoB,CAAC,OAAO;wBAC3B,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACnC,CAAC;oBACD,iBAAiB;wBAChB,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC5B,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC/B,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;oBAChC,CAAC;oBACD,eAAe;wBACd,OAAO,gBAAgB,CAAC,KAAK,EAAE,CAAC;oBACjC,CAAC;oBACD,sBAAsB;wBACrB,OAAO,mBAAmB,CAAC,KAAK,EAAE,CAAC;oBACpC,CAAC;oBACD,sBAAsB;wBACrB,OAAO,mBAAmB,CAAC,KAAK,EAAE,CAAC;oBACpC,CAAC;oBACD,SAAS,EAAE,QAAQ;oBACnB,YAAY,EAAE,QAAQ,CAAC,WAAW;iBAClC,CAAC;gBAEF,IAAI,MAAM,CAAC;gBACX,IAAI;oBACH,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;wBAC9C,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;qBACxB,CAAC,CAAC;oBACH,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;oBACzC,MAAM;wBACL,OAAO,YAAY,KAAK,UAAU;4BACjC,CAAC,CAAC,YAAY;4BACd,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC;iBACzB;gBAAC,OAAO,GAAG,EAAE;oBACb,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;iBACP;gBAED,IAAI,MAAM,GACT,SAAS,CAAC;gBACX,IAAI;oBACH,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE;wBACpC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAC7D,SAAS;wBACT,cAAc;qBACd,CAAC,CAAC;oBACH,IAAI,MAAM,EAAE;wBACX,MAAM,GAAG,IAAI,CAAC;wBACd,IAAI,MAAM,KAAK,SAAS,EAAE;4BACzB,OAAO,CAAC;gCACP,OAAO;gCACP,iBAAiB;gCACjB,SAAS;gCACT,cAAc;gCACd,SAAS;gCACT,gBAAgB;gCAChB,mBAAmB;gCACnB,mBAAmB;6BACnB,CAAC,CAAC;4BACH,OAAO;yBACP;wBACD,IAAI,IAAA,oBAAa,EAAC,MAAM,CAAC,EAAE;4BAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM;gCAClC,OAAO,CAAC;oCACP,OAAO,EAAE,MAAM;oCACf,iBAAiB;oCACjB,SAAS;oCACT,cAAc;oCACd,SAAS;oCACT,gBAAgB;oCAChB,mBAAmB;oCACnB,mBAAmB;iCACnB,CAAC,CAAC;4BACJ,CAAC,EAAE,MAAM,CAAC,CAAC;yBACX;wBACD,OAAO,OAAO,CAAC;4BACd,OAAO,EAAE,MAAM;4BACf,iBAAiB;4BACjB,SAAS;4BACT,cAAc;4BACd,SAAS;4BACT,gBAAgB;4BAChB,mBAAmB;4BACnB,mBAAmB;yBACnB,CAAC,CAAC;qBACH;iBACD;gBAAC,OAAO,GAAG,EAAE;oBACb,IAAI,OAAO,EAAE;wBACZ,MAAM,CAAC,GAAG,CAAC,CAAC;wBACZ,OAAO;qBACP;oBACD,IAAI,MAAM,EAAE;wBACX,mEAAmE;wBACnE,yDAAyD;wBACzD,mBAAmB;wBACnB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK;4BAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;4BAC9D,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACxB,MAAM,CAAC,GAAG,CAAC,CAAC;wBACZ,OAAO;qBACP;oBACD,MAAM,GAAG,IAAI,CAAC;oBACd,aAAa,GAAG,IAAI,CAAC;oBACrB,MAAM,CAAC,GAAG,CAAC,CAAC;iBACZ;YACF,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,EAAE;gBAC7B,cAAc;oBACb,MAAA,CAAC,OAAO,YAAY,CAAC,cAAc,KAAK,QAAQ;wBAC/C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC;wBACzC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,mCAAI,cAAc,CAAC;gBACnD,OAAO,GAAG,MAAA,YAAY,CAAC,OAAO,mCAAI,OAAO,CAAC;gBAC1C,SAAS,GAAG,MAAA,YAAY,CAAC,SAAS,mCAAI,SAAS,CAAC;gBAChD,SAAS,GAAG,MAAA,YAAY,CAAC,SAAS,mCAAI,SAAS,CAAC;gBAEhD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;gBAC7D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;gBACnE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;gBACnE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;aAC/D;SACD;QAED,OAAO;YACN,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;YAC1B,SAAS,EAAE,SAAS;gBACnB,CAAC,CAAC,QAAQ,CACR,OAAO,SAAS,KAAK,QAAQ;oBAC5B,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAC3B;gBACH,CAAC,CAAC,SAAS;YACZ,cAAc,EAAE,cAAc;gBAC7B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBAC1C,CAAC,CAAC,SAAS;SACZ,CAAC;IACH,CAAC;IAED,OAAO;QACN,QAAQ,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SAC3C;KACD,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAA6B;;IACtD,IAAA,gBAAM,EACL,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC7B,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAC7C,CAAC;IAEF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,qBAAqB,aAAa,EAAE;QACzD,OAAC,GAAG,CAAC,OAAO,oCAAX,GAAG,CAAC,OAAO,GAAK,EAAS,EAAC,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CACtD,iBAAiB,OAAO,CAAC,QAAQ,IAChC,OAAO,CAAC,IACT,yCACC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EACzC,EAAE,CACF,CAAC;KACF;IAED,OAAO;QACN,aAAa,EAAE,GAAG,CAAC,MAAM;QACzB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;KACpC,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,OAAwB,EAAU,EAAE;IACrD,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC7B,OAAO,OAAO,CAAC;KACf;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC5B;IAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,SAAgB,cAAc,CAAC,OAA8B;IAC5D,OAAO,CACN,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAC1D,CAAC;AACH,CAAC;AALD,wCAKC;AAED,SAAgB,oBAAoB,CAAC,OAA8B;IAClE,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACnE,CAAC;AAFD,oDAEC"}
1
+ {"version":3,"file":"adapter-rule-use.js","sourceRoot":"","sources":["../../src/config/adapter-rule-use.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import { RawOptions } from "@rspack/binding";
1
+ import { RawOptions, RawBannerConditions, RawBannerCondition } from "@rspack/binding";
2
2
  import { Compiler } from "../compiler";
3
- import { RspackOptionsNormalized } from "./types";
3
+ import { BannerConditions, BannerCondition, RspackOptionsNormalized } from "./types";
4
4
  export declare const getRawOptions: (options: RspackOptionsNormalized, compiler: Compiler) => RawOptions;
5
+ export declare function getBannerCondition(condition: BannerCondition): RawBannerCondition;
6
+ export declare function getBannerConditions(condition?: BannerConditions): RawBannerConditions | undefined;
5
7
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/config/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,UAAU,EAGV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,OAAO,EAeN,uBAAuB,EAOvB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,aAAa,YAChB,uBAAuB,YACtB,QAAQ,KAChB,UAkDF,CAAC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/config/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,UAAU,EAGV,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,OAAO,EACN,gBAAgB,EAChB,eAAe,EAef,uBAAuB,EAOvB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,aAAa,YAChB,uBAAuB,YACtB,QAAQ,KAChB,UAkDF,CAAC;AAmPF,wBAAgB,kBAAkB,CACjC,SAAS,EAAE,eAAe,GACxB,kBAAkB,CAcpB;AAED,wBAAgB,mBAAmB,CAClC,SAAS,CAAC,EAAE,gBAAgB,GAC1B,mBAAmB,GAAG,SAAS,CAWjC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getRawOptions = void 0;
6
+ exports.getBannerConditions = exports.getBannerCondition = exports.getRawOptions = void 0;
7
7
  const assert_1 = __importDefault(require("assert"));
8
8
  const stats_1 = require("../stats");
9
9
  const util_1 = require("../util");
@@ -115,7 +115,9 @@ function getRawOutput(output) {
115
115
  clean: output.clean,
116
116
  assetModuleFilename: output.assetModuleFilename,
117
117
  filename: output.filename,
118
+ chunkFormat: output.chunkFormat === false ? undefined : output.chunkFormat,
118
119
  chunkFilename: output.chunkFilename,
120
+ chunkLoading: output.chunkLoading === false ? undefined : output.chunkLoading,
119
121
  crossOriginLoading: getRawCrossOriginLoading(output.crossOriginLoading),
120
122
  cssFilename: output.cssFilename,
121
123
  cssChunkFilename: output.cssChunkFilename,
@@ -130,7 +132,9 @@ function getRawOutput(output) {
130
132
  module: output.module,
131
133
  wasmLoading: wasmLoading === false ? "false" : wasmLoading,
132
134
  enabledWasmLoadingTypes: output.enabledWasmLoadingTypes,
133
- webassemblyModuleFilename: output.webassemblyModuleFilename
135
+ enabledChunkLoadingTypes: output.enabledChunkLoadingTypes,
136
+ webassemblyModuleFilename: output.webassemblyModuleFilename,
137
+ trustedTypes: output.trustedTypes
134
138
  };
135
139
  }
136
140
  function getRawExternalsPresets(presets) {
@@ -209,7 +213,8 @@ const getRawModuleRule = (rule, options) => {
209
213
  resolve: rule.resolve ? getRawResolve(rule.resolve) : undefined,
210
214
  oneOf: rule.oneOf
211
215
  ? rule.oneOf.map(i => getRawModuleRule(i, options))
212
- : undefined
216
+ : undefined,
217
+ enforce: rule.enforce
213
218
  };
214
219
  };
215
220
  function getRawRuleSetCondition(condition) {
@@ -245,6 +250,34 @@ function getRawRuleSetCondition(condition) {
245
250
  }
246
251
  throw new Error("unreachable: condition should be one of string, RegExp, Array, Object");
247
252
  }
253
+ function getBannerCondition(condition) {
254
+ if (typeof condition === "string") {
255
+ return {
256
+ type: "string",
257
+ stringMatcher: condition
258
+ };
259
+ }
260
+ if (condition instanceof RegExp) {
261
+ return {
262
+ type: "regexp",
263
+ regexpMatcher: condition.source
264
+ };
265
+ }
266
+ throw new Error("unreachable: condition should be one of string, RegExp");
267
+ }
268
+ exports.getBannerCondition = getBannerCondition;
269
+ function getBannerConditions(condition) {
270
+ if (!condition)
271
+ return undefined;
272
+ if (Array.isArray(condition)) {
273
+ return {
274
+ type: "array",
275
+ arrayMatcher: condition.map(i => getBannerCondition(i))
276
+ };
277
+ }
278
+ return getBannerCondition(condition);
279
+ }
280
+ exports.getBannerConditions = getBannerConditions;
248
281
  function getRawRuleSetLogicalConditions(logical) {
249
282
  return {
250
283
  and: logical.and
@@ -262,11 +295,37 @@ function getRawExternals(externals) {
262
295
  else if (item instanceof RegExp) {
263
296
  return { type: "regexp", regexpPayload: item.source };
264
297
  }
298
+ else if (typeof item === "function") {
299
+ return {
300
+ type: "function",
301
+ fnPayload: async (ctx) => {
302
+ return await new Promise((resolve, reject) => {
303
+ const promise = item(ctx, (err, result, type) => {
304
+ if (err)
305
+ reject(err);
306
+ resolve({
307
+ result: getRawExternalItemValueFormFnResult(result),
308
+ external_type: type
309
+ });
310
+ });
311
+ if (promise && promise.then) {
312
+ promise.then(result => resolve({
313
+ result: getRawExternalItemValueFormFnResult(result),
314
+ external_type: undefined
315
+ }), e => reject(e));
316
+ }
317
+ });
318
+ }
319
+ };
320
+ }
265
321
  return {
266
322
  type: "object",
267
323
  objectPayload: Object.fromEntries(Object.entries(item).map(([k, v]) => [k, getRawExternalItemValue(v)]))
268
324
  };
269
325
  }
326
+ function getRawExternalItemValueFormFnResult(result) {
327
+ return result === undefined ? result : getRawExternalItemValue(result);
328
+ }
270
329
  function getRawExternalItemValue(value) {
271
330
  if (typeof value === "string") {
272
331
  return { type: "string", stringPayload: value };
@@ -338,14 +397,16 @@ function getRawSnapshotOptions(snapshot) {
338
397
  };
339
398
  }
340
399
  function getRawExperiments(experiments) {
341
- const { lazyCompilation, incrementalRebuild, asyncWebAssembly } = experiments;
400
+ const { lazyCompilation, incrementalRebuild, asyncWebAssembly, newSplitChunks } = experiments;
342
401
  (0, assert_1.default)(!(0, util_1.isNil)(lazyCompilation) &&
343
402
  !(0, util_1.isNil)(incrementalRebuild) &&
344
- !(0, util_1.isNil)(asyncWebAssembly));
403
+ !(0, util_1.isNil)(asyncWebAssembly) &&
404
+ !(0, util_1.isNil)(newSplitChunks));
345
405
  return {
346
406
  lazyCompilation,
347
407
  incrementalRebuild,
348
- asyncWebAssembly
408
+ asyncWebAssembly,
409
+ newSplitChunks
349
410
  };
350
411
  }
351
412
  function getRawNode(node) {
@@ -360,11 +421,10 @@ function getRawNode(node) {
360
421
  };
361
422
  }
362
423
  function getRawStats(stats) {
363
- var _a, _b;
424
+ var _a;
364
425
  const statsOptions = (0, stats_1.normalizeStatsPreset)(stats);
365
426
  return {
366
- colors: (_a = statsOptions.colors) !== null && _a !== void 0 ? _a : false,
367
- reasons: (_b = statsOptions.reasons) !== null && _b !== void 0 ? _b : false
427
+ colors: (_a = statsOptions.colors) !== null && _a !== void 0 ? _a : false
368
428
  };
369
429
  }
370
430
  //# sourceMappingURL=adapter.js.map