@rspack/core 0.2.2 → 0.2.3

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 (74) hide show
  1. package/dist/compilation.d.ts +22 -13
  2. package/dist/compilation.d.ts.map +1 -1
  3. package/dist/compilation.js +26 -24
  4. package/dist/compilation.js.map +1 -1
  5. package/dist/compiler.d.ts.map +1 -1
  6. package/dist/compiler.js +20 -6
  7. package/dist/compiler.js.map +1 -1
  8. package/dist/config/adapter.js +5 -3
  9. package/dist/config/adapter.js.map +1 -1
  10. package/dist/config/defaults.d.ts.map +1 -1
  11. package/dist/config/defaults.js +47 -35
  12. package/dist/config/defaults.js.map +1 -1
  13. package/dist/config/normalization.js +3 -1
  14. package/dist/config/normalization.js.map +1 -1
  15. package/dist/config/types.d.ts +9 -3
  16. package/dist/config/types.d.ts.map +1 -1
  17. package/dist/config/zod/entry.d.ts +5 -2
  18. package/dist/config/zod/entry.d.ts.map +1 -1
  19. package/dist/config/zod/entry.js +6 -0
  20. package/dist/config/zod/entry.js.map +1 -1
  21. package/dist/config/zod/index.d.ts +39 -25
  22. package/dist/config/zod/index.d.ts.map +1 -1
  23. package/dist/config/zod/optimization/index.d.ts +7 -0
  24. package/dist/config/zod/optimization/index.d.ts.map +1 -1
  25. package/dist/config/zod/optimization/split-chunks.d.ts +8 -0
  26. package/dist/config/zod/optimization/split-chunks.d.ts.map +1 -1
  27. package/dist/config/zod/optimization/split-chunks.js +1 -0
  28. package/dist/config/zod/optimization/split-chunks.js.map +1 -1
  29. package/dist/config/zod/output.d.ts +8 -8
  30. package/dist/config/zod/target.d.ts +1 -1
  31. package/dist/config/zod/target.d.ts.map +1 -1
  32. package/dist/config/zod/target.js +3 -0
  33. package/dist/config/zod/target.js.map +1 -1
  34. package/dist/index.d.ts +3 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +5 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/lib/BannerPlugin.d.ts +22 -0
  39. package/dist/lib/BannerPlugin.d.ts.map +1 -0
  40. package/dist/lib/BannerPlugin.js +102 -0
  41. package/dist/lib/BannerPlugin.js.map +1 -0
  42. package/dist/lib/ModuleFilenameHelpers.d.ts +7 -0
  43. package/dist/lib/ModuleFilenameHelpers.d.ts.map +1 -0
  44. package/dist/lib/ModuleFilenameHelpers.js +46 -0
  45. package/dist/lib/ModuleFilenameHelpers.js.map +1 -0
  46. package/dist/lib/Template.d.ts +194 -0
  47. package/dist/lib/Template.d.ts.map +1 -0
  48. package/dist/lib/Template.js +383 -0
  49. package/dist/lib/Template.js.map +1 -0
  50. package/dist/lib/util/create-schema-validation.d.ts +3 -0
  51. package/dist/lib/util/create-schema-validation.d.ts.map +1 -0
  52. package/dist/lib/util/create-schema-validation.js +20 -0
  53. package/dist/lib/util/create-schema-validation.js.map +1 -0
  54. package/dist/lib/util/memoize.d.ts +13 -0
  55. package/dist/lib/util/memoize.d.ts.map +1 -0
  56. package/dist/lib/util/memoize.js +30 -0
  57. package/dist/lib/util/memoize.js.map +1 -0
  58. package/dist/schemas/plugins/BannerPlugin.check.d.ts +11 -0
  59. package/dist/schemas/plugins/BannerPlugin.check.d.ts.map +1 -0
  60. package/dist/schemas/plugins/BannerPlugin.check.js +311 -0
  61. package/dist/schemas/plugins/BannerPlugin.check.js.map +1 -0
  62. package/dist/util/MergeCaller.d.ts +4 -4
  63. package/dist/util/MergeCaller.d.ts.map +1 -1
  64. package/dist/util/MergeCaller.js +2 -2
  65. package/dist/util/MergeCaller.js.map +1 -1
  66. package/dist/util/fake.d.ts +1 -1
  67. package/dist/util/fake.d.ts.map +1 -1
  68. package/dist/util/fake.js +10 -4
  69. package/dist/util/fake.js.map +1 -1
  70. package/dist/util/normalization.d.ts +6 -0
  71. package/dist/util/normalization.d.ts.map +1 -0
  72. package/dist/util/normalization.js +10 -0
  73. package/dist/util/normalization.js.map +1 -0
  74. package/package.json +8 -8
@@ -0,0 +1,383 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const { ConcatSource, PrefixSource } = require("webpack-sources");
7
+ /** @typedef {import("webpack-sources").Source} Source */
8
+ /** @typedef {import("../declarations/WebpackOptions").Output} OutputOptions */
9
+ /** @typedef {import("./Chunk")} Chunk */
10
+ /** @typedef {import("./ChunkGraph")} ChunkGraph */
11
+ /** @typedef {import("./CodeGenerationResults")} CodeGenerationResults */
12
+ /** @typedef {import("./Compilation").AssetInfo} AssetInfo */
13
+ /** @typedef {import("./Compilation").PathData} PathData */
14
+ /** @typedef {import("./DependencyTemplates")} DependencyTemplates */
15
+ /** @typedef {import("./Module")} Module */
16
+ /** @typedef {import("./ModuleGraph")} ModuleGraph */
17
+ /** @typedef {import("./ModuleTemplate")} ModuleTemplate */
18
+ /** @typedef {import("./RuntimeModule")} RuntimeModule */
19
+ /** @typedef {import("./RuntimeTemplate")} RuntimeTemplate */
20
+ /** @typedef {import("./javascript/JavascriptModulesPlugin").ChunkRenderContext} ChunkRenderContext */
21
+ /** @typedef {import("./javascript/JavascriptModulesPlugin").RenderContext} RenderContext */
22
+ const START_LOWERCASE_ALPHABET_CODE = "a".charCodeAt(0);
23
+ const START_UPPERCASE_ALPHABET_CODE = "A".charCodeAt(0);
24
+ const DELTA_A_TO_Z = "z".charCodeAt(0) - START_LOWERCASE_ALPHABET_CODE + 1;
25
+ const NUMBER_OF_IDENTIFIER_START_CHARS = DELTA_A_TO_Z * 2 + 2; // a-z A-Z _ $
26
+ const NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS = NUMBER_OF_IDENTIFIER_START_CHARS + 10; // a-z A-Z _ $ 0-9
27
+ const FUNCTION_CONTENT_REGEX = /^function\s?\(\)\s?\{\r?\n?|\r?\n?\}$/g;
28
+ const INDENT_MULTILINE_REGEX = /^\t/gm;
29
+ const LINE_SEPARATOR_REGEX = /\r?\n/g;
30
+ const IDENTIFIER_NAME_REPLACE_REGEX = /^([^a-zA-Z$_])/;
31
+ const IDENTIFIER_ALPHA_NUMERIC_NAME_REPLACE_REGEX = /[^a-zA-Z0-9$]+/g;
32
+ const COMMENT_END_REGEX = /\*\//g;
33
+ const PATH_NAME_NORMALIZE_REPLACE_REGEX = /[^a-zA-Z0-9_!§$()=\-^°]+/g;
34
+ const MATCH_PADDED_HYPHENS_REPLACE_REGEX = /^-|-$/g;
35
+ /**
36
+ * @typedef {Object} RenderManifestOptions
37
+ * @property {Chunk} chunk the chunk used to render
38
+ * @property {string} hash
39
+ * @property {string} fullHash
40
+ * @property {OutputOptions} outputOptions
41
+ * @property {CodeGenerationResults} codeGenerationResults
42
+ * @property {{javascript: ModuleTemplate}} moduleTemplates
43
+ * @property {DependencyTemplates} dependencyTemplates
44
+ * @property {RuntimeTemplate} runtimeTemplate
45
+ * @property {ModuleGraph} moduleGraph
46
+ * @property {ChunkGraph} chunkGraph
47
+ */
48
+ /** @typedef {RenderManifestEntryTemplated | RenderManifestEntryStatic} RenderManifestEntry */
49
+ /**
50
+ * @typedef {Object} RenderManifestEntryTemplated
51
+ * @property {function(): Source} render
52
+ * @property {string | function(PathData, AssetInfo=): string} filenameTemplate
53
+ * @property {PathData=} pathOptions
54
+ * @property {AssetInfo=} info
55
+ * @property {string} identifier
56
+ * @property {string=} hash
57
+ * @property {boolean=} auxiliary
58
+ */
59
+ /**
60
+ * @typedef {Object} RenderManifestEntryStatic
61
+ * @property {function(): Source} render
62
+ * @property {string} filename
63
+ * @property {AssetInfo} info
64
+ * @property {string} identifier
65
+ * @property {string=} hash
66
+ * @property {boolean=} auxiliary
67
+ */
68
+ /**
69
+ * @typedef {Object} HasId
70
+ * @property {number | string} id
71
+ */
72
+ /**
73
+ * @typedef {function(Module, number): boolean} ModuleFilterPredicate
74
+ */
75
+ class Template {
76
+ /**
77
+ *
78
+ * @param {Function} fn a runtime function (.runtime.js) "template"
79
+ * @returns {string} the updated and normalized function string
80
+ */
81
+ static getFunctionContent(fn) {
82
+ return fn
83
+ .toString()
84
+ .replace(FUNCTION_CONTENT_REGEX, "")
85
+ .replace(INDENT_MULTILINE_REGEX, "")
86
+ .replace(LINE_SEPARATOR_REGEX, "\n");
87
+ }
88
+ /**
89
+ * @param {string} str the string converted to identifier
90
+ * @returns {string} created identifier
91
+ */
92
+ static toIdentifier(str) {
93
+ if (typeof str !== "string")
94
+ return "";
95
+ return str
96
+ .replace(IDENTIFIER_NAME_REPLACE_REGEX, "_$1")
97
+ .replace(IDENTIFIER_ALPHA_NUMERIC_NAME_REPLACE_REGEX, "_");
98
+ }
99
+ /**
100
+ *
101
+ * @param {string} str string to be converted to commented in bundle code
102
+ * @returns {string} returns a commented version of string
103
+ */
104
+ static toComment(str) {
105
+ if (!str)
106
+ return "";
107
+ return `/*! ${str.replace(COMMENT_END_REGEX, "* /")} */`;
108
+ }
109
+ /**
110
+ *
111
+ * @param {string} str string to be converted to "normal comment"
112
+ * @returns {string} returns a commented version of string
113
+ */
114
+ static toNormalComment(str) {
115
+ if (!str)
116
+ return "";
117
+ return `/* ${str.replace(COMMENT_END_REGEX, "* /")} */`;
118
+ }
119
+ /**
120
+ * @param {string} str string path to be normalized
121
+ * @returns {string} normalized bundle-safe path
122
+ */
123
+ static toPath(str) {
124
+ if (typeof str !== "string")
125
+ return "";
126
+ return str
127
+ .replace(PATH_NAME_NORMALIZE_REPLACE_REGEX, "-")
128
+ .replace(MATCH_PADDED_HYPHENS_REPLACE_REGEX, "");
129
+ }
130
+ // map number to a single character a-z, A-Z or multiple characters if number is too big
131
+ /**
132
+ * @param {number} n number to convert to ident
133
+ * @returns {string} returns single character ident
134
+ */
135
+ static numberToIdentifier(n) {
136
+ if (n >= NUMBER_OF_IDENTIFIER_START_CHARS) {
137
+ // use multiple letters
138
+ return (Template.numberToIdentifier(n % NUMBER_OF_IDENTIFIER_START_CHARS) +
139
+ Template.numberToIdentifierContinuation(Math.floor(n / NUMBER_OF_IDENTIFIER_START_CHARS)));
140
+ }
141
+ // lower case
142
+ if (n < DELTA_A_TO_Z) {
143
+ return String.fromCharCode(START_LOWERCASE_ALPHABET_CODE + n);
144
+ }
145
+ n -= DELTA_A_TO_Z;
146
+ // upper case
147
+ if (n < DELTA_A_TO_Z) {
148
+ return String.fromCharCode(START_UPPERCASE_ALPHABET_CODE + n);
149
+ }
150
+ if (n === DELTA_A_TO_Z)
151
+ return "_";
152
+ return "$";
153
+ }
154
+ /**
155
+ * @param {number} n number to convert to ident
156
+ * @returns {string} returns single character ident
157
+ */
158
+ static numberToIdentifierContinuation(n) {
159
+ if (n >= NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS) {
160
+ // use multiple letters
161
+ return (Template.numberToIdentifierContinuation(n % NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS) +
162
+ Template.numberToIdentifierContinuation(Math.floor(n / NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS)));
163
+ }
164
+ // lower case
165
+ if (n < DELTA_A_TO_Z) {
166
+ return String.fromCharCode(START_LOWERCASE_ALPHABET_CODE + n);
167
+ }
168
+ n -= DELTA_A_TO_Z;
169
+ // upper case
170
+ if (n < DELTA_A_TO_Z) {
171
+ return String.fromCharCode(START_UPPERCASE_ALPHABET_CODE + n);
172
+ }
173
+ n -= DELTA_A_TO_Z;
174
+ // numbers
175
+ if (n < 10) {
176
+ return `${n}`;
177
+ }
178
+ if (n === 10)
179
+ return "_";
180
+ return "$";
181
+ }
182
+ /**
183
+ *
184
+ * @param {string | string[]} s string to convert to identity
185
+ * @returns {string} converted identity
186
+ */
187
+ static indent(s) {
188
+ if (Array.isArray(s)) {
189
+ return s.map(Template.indent).join("\n");
190
+ }
191
+ else {
192
+ const str = s.trimEnd();
193
+ if (!str)
194
+ return "";
195
+ const ind = str[0] === "\n" ? "" : "\t";
196
+ return ind + str.replace(/\n([^\n])/g, "\n\t$1");
197
+ }
198
+ }
199
+ /**
200
+ *
201
+ * @param {string|string[]} s string to create prefix for
202
+ * @param {string} prefix prefix to compose
203
+ * @returns {string} returns new prefix string
204
+ */
205
+ static prefix(s, prefix) {
206
+ const str = Template.asString(s).trim();
207
+ if (!str)
208
+ return "";
209
+ const ind = str[0] === "\n" ? "" : prefix;
210
+ return ind + str.replace(/\n([^\n])/g, "\n" + prefix + "$1");
211
+ }
212
+ /**
213
+ *
214
+ * @param {string|string[]} str string or string collection
215
+ * @returns {string} returns a single string from array
216
+ */
217
+ static asString(str) {
218
+ if (Array.isArray(str)) {
219
+ return str.join("\n");
220
+ }
221
+ return str;
222
+ }
223
+ /**
224
+ * @typedef {Object} WithId
225
+ * @property {string|number} id
226
+ */
227
+ /**
228
+ * @param {WithId[]} modules a collection of modules to get array bounds for
229
+ * @returns {[number, number] | false} returns the upper and lower array bounds
230
+ * or false if not every module has a number based id
231
+ */
232
+ static getModulesArrayBounds(modules) {
233
+ let maxId = -Infinity;
234
+ let minId = Infinity;
235
+ for (const module of modules) {
236
+ const moduleId = module.id;
237
+ if (typeof moduleId !== "number")
238
+ return false;
239
+ if (maxId < moduleId)
240
+ maxId = moduleId;
241
+ if (minId > moduleId)
242
+ minId = moduleId;
243
+ }
244
+ if (minId < 16 + ("" + minId).length) {
245
+ // add minId x ',' instead of 'Array(minId).concat(…)'
246
+ minId = 0;
247
+ }
248
+ // start with -1 because the first module needs no comma
249
+ let objectOverhead = -1;
250
+ for (const module of modules) {
251
+ // module id + colon + comma
252
+ objectOverhead += `${module.id}`.length + 2;
253
+ }
254
+ // number of commas, or when starting non-zero the length of Array(minId).concat()
255
+ const arrayOverhead = minId === 0 ? maxId : 16 + `${minId}`.length + maxId;
256
+ return arrayOverhead < objectOverhead ? [minId, maxId] : false;
257
+ }
258
+ /**
259
+ * @param {ChunkRenderContext} renderContext render context
260
+ * @param {Module[]} modules modules to render (should be ordered by identifier)
261
+ * @param {function(Module): Source} renderModule function to render a module
262
+ * @param {string=} prefix applying prefix strings
263
+ * @returns {Source} rendered chunk modules in a Source object
264
+ */
265
+ static renderChunkModules(renderContext, modules, renderModule, prefix = "") {
266
+ const { chunkGraph } = renderContext;
267
+ var source = new ConcatSource();
268
+ if (modules.length === 0) {
269
+ return null;
270
+ }
271
+ /** @type {{id: string|number, source: Source|string}[]} */
272
+ const allModules = modules.map(module => {
273
+ return {
274
+ id: chunkGraph.getModuleId(module),
275
+ source: renderModule(module) || "false"
276
+ };
277
+ });
278
+ const bounds = Template.getModulesArrayBounds(allModules);
279
+ if (bounds) {
280
+ // Render a spare array
281
+ const minId = bounds[0];
282
+ const maxId = bounds[1];
283
+ if (minId !== 0) {
284
+ source.add(`Array(${minId}).concat(`);
285
+ }
286
+ source.add("[\n");
287
+ /** @type {Map<string|number, {id: string|number, source: Source|string}>} */
288
+ const modules = new Map();
289
+ for (const module of allModules) {
290
+ modules.set(module.id, module);
291
+ }
292
+ for (let idx = minId; idx <= maxId; idx++) {
293
+ const module = modules.get(idx);
294
+ if (idx !== minId) {
295
+ source.add(",\n");
296
+ }
297
+ source.add(`/* ${idx} */`);
298
+ if (module) {
299
+ source.add("\n");
300
+ source.add(module.source);
301
+ }
302
+ }
303
+ source.add("\n" + prefix + "]");
304
+ if (minId !== 0) {
305
+ source.add(")");
306
+ }
307
+ }
308
+ else {
309
+ // Render an object
310
+ source.add("{\n");
311
+ for (let i = 0; i < allModules.length; i++) {
312
+ const module = allModules[i];
313
+ if (i !== 0) {
314
+ source.add(",\n");
315
+ }
316
+ source.add(`\n/***/ ${JSON.stringify(module.id)}:\n`);
317
+ source.add(module.source);
318
+ }
319
+ source.add(`\n\n${prefix}}`);
320
+ }
321
+ return source;
322
+ }
323
+ /**
324
+ * @param {RuntimeModule[]} runtimeModules array of runtime modules in order
325
+ * @param {RenderContext & { codeGenerationResults?: CodeGenerationResults }} renderContext render context
326
+ * @returns {Source} rendered runtime modules in a Source object
327
+ */
328
+ static renderRuntimeModules(runtimeModules, renderContext) {
329
+ const source = new ConcatSource();
330
+ for (const module of runtimeModules) {
331
+ const codeGenerationResults = renderContext.codeGenerationResults;
332
+ let runtimeSource;
333
+ if (codeGenerationResults) {
334
+ runtimeSource = codeGenerationResults.getSource(module, renderContext.chunk.runtime, "runtime");
335
+ }
336
+ else {
337
+ const codeGenResult = module.codeGeneration({
338
+ chunkGraph: renderContext.chunkGraph,
339
+ dependencyTemplates: renderContext.dependencyTemplates,
340
+ moduleGraph: renderContext.moduleGraph,
341
+ runtimeTemplate: renderContext.runtimeTemplate,
342
+ runtime: renderContext.chunk.runtime,
343
+ codeGenerationResults
344
+ });
345
+ if (!codeGenResult)
346
+ continue;
347
+ runtimeSource = codeGenResult.sources.get("runtime");
348
+ }
349
+ if (runtimeSource) {
350
+ source.add(Template.toNormalComment(module.identifier()) + "\n");
351
+ if (!module.shouldIsolate()) {
352
+ source.add(runtimeSource);
353
+ source.add("\n\n");
354
+ }
355
+ else if (renderContext.runtimeTemplate.supportsArrowFunction()) {
356
+ source.add("(() => {\n");
357
+ source.add(new PrefixSource("\t", runtimeSource));
358
+ source.add("\n})();\n\n");
359
+ }
360
+ else {
361
+ source.add("!function() {\n");
362
+ source.add(new PrefixSource("\t", runtimeSource));
363
+ source.add("\n}();\n\n");
364
+ }
365
+ }
366
+ }
367
+ return source;
368
+ }
369
+ /**
370
+ * @param {RuntimeModule[]} runtimeModules array of runtime modules in order
371
+ * @param {RenderContext} renderContext render context
372
+ * @returns {Source} rendered chunk runtime modules in a Source object
373
+ */
374
+ static renderChunkRuntimeModules(runtimeModules, renderContext) {
375
+ return new PrefixSource("/******/ ", new ConcatSource("function(__webpack_require__) { // webpackRuntimeModules\n", this.renderRuntimeModules(runtimeModules, renderContext), "}\n"));
376
+ }
377
+ }
378
+ module.exports = Template;
379
+ module.exports.NUMBER_OF_IDENTIFIER_START_CHARS =
380
+ NUMBER_OF_IDENTIFIER_START_CHARS;
381
+ module.exports.NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS =
382
+ NUMBER_OF_IDENTIFIER_CONTINUATION_CHARS;
383
+ //# sourceMappingURL=Template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Template.js","sourceRoot":"","sources":["../../src/lib/Template.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export = createSchemaValidation;
2
+ declare function createSchemaValidation(check: any, getSchema: any, options: any): (value: any) => void;
3
+ //# sourceMappingURL=create-schema-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-schema-validation.d.ts","sourceRoot":"","sources":["../../../src/lib/util/create-schema-validation.js"],"names":[],"mappings":";AAWA,wGAcC"}
@@ -0,0 +1,20 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ Author Tobias Koppers @sokra
4
+ */
5
+ "use strict";
6
+ const memoize = require("./memoize");
7
+ const getValidate = memoize(() => require("schema-utils").validate);
8
+ const createSchemaValidation = (check, getSchema, options) => {
9
+ getSchema = memoize(getSchema);
10
+ return value => {
11
+ if (check && !check(value)) {
12
+ getValidate()(getSchema(), value, options);
13
+ if (check) {
14
+ require("util").deprecate(() => { }, "webpack bug: Pre-compiled schema reports error while real schema is happy. This has performance drawbacks.", "DEP_WEBPACK_PRE_COMPILED_SCHEMA_INVALID")();
15
+ }
16
+ }
17
+ };
18
+ };
19
+ module.exports = createSchemaValidation;
20
+ //# sourceMappingURL=create-schema-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-schema-validation.js","sourceRoot":"","sources":["../../../src/lib/util/create-schema-validation.js"],"names":[],"mappings":"AAAA;;;EAGE;AAEF,YAAY,CAAC;AAEb,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAErC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEpE,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IAC5D,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,EAAE;QACd,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC3B,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAI,KAAK,EAAE;gBACV,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CACxB,GAAG,EAAE,GAAE,CAAC,EACR,4GAA4G,EAC5G,yCAAyC,CACzC,EAAE,CAAC;aACJ;SACD;IACF,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG,sBAAsB,CAAC"}
@@ -0,0 +1,13 @@
1
+ export = memoize;
2
+ /** @template T @typedef {function(): T} FunctionReturning */
3
+ /**
4
+ * @template T
5
+ * @param {FunctionReturning<T>} fn memorized function
6
+ * @returns {FunctionReturning<T>} new function
7
+ */
8
+ declare function memoize<T>(fn: FunctionReturning<T>): FunctionReturning<T>;
9
+ declare namespace memoize {
10
+ export { FunctionReturning };
11
+ }
12
+ type FunctionReturning<T> = () => T;
13
+ //# sourceMappingURL=memoize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoize.d.ts","sourceRoot":"","sources":["../../../src/lib/util/memoize.js"],"names":[],"mappings":";AAMA,6DAA6D;AAE7D;;;;GAIG;AACH,4EAgBC;;;;kCAvBqC,CAAC"}
@@ -0,0 +1,30 @@
1
+ /*
2
+ MIT License http://www.opensource.org/licenses/mit-license.php
3
+ */
4
+ "use strict";
5
+ /** @template T @typedef {function(): T} FunctionReturning */
6
+ /**
7
+ * @template T
8
+ * @param {FunctionReturning<T>} fn memorized function
9
+ * @returns {FunctionReturning<T>} new function
10
+ */
11
+ const memoize = fn => {
12
+ let cache = false;
13
+ /** @type {T} */
14
+ let result = undefined;
15
+ return () => {
16
+ if (cache) {
17
+ return result;
18
+ }
19
+ else {
20
+ result = fn();
21
+ cache = true;
22
+ // Allow to clean up memory for fn
23
+ // and all dependent resources
24
+ fn = undefined;
25
+ return result;
26
+ }
27
+ };
28
+ };
29
+ module.exports = memoize;
30
+ //# sourceMappingURL=memoize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../src/lib/util/memoize.js"],"names":[],"mappings":"AAAA;;EAEE;AAEF,YAAY,CAAC;AAEb,6DAA6D;AAE7D;;;;GAIG;AACH,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE;IACpB,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,gBAAgB;IAChB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,GAAG,EAAE;QACX,IAAI,KAAK,EAAE;YACV,OAAO,MAAM,CAAC;SACd;aAAM;YACN,MAAM,GAAG,EAAE,EAAE,CAAC;YACd,KAAK,GAAG,IAAI,CAAC;YACb,kCAAkC;YAClC,8BAA8B;YAC9B,EAAE,GAAG,SAAS,CAAC;YACf,OAAO,MAAM,CAAC;SACd;IACF,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC"}
@@ -0,0 +1,11 @@
1
+ export = t;
2
+ declare function t(l: any, { instancePath: e, parentData: s, parentDataProperty: a, rootData: r }?: {
3
+ instancePath?: string | undefined;
4
+ parentData: any;
5
+ parentDataProperty: any;
6
+ rootData?: any;
7
+ }): any;
8
+ declare namespace t {
9
+ export { t as default };
10
+ }
11
+ //# sourceMappingURL=BannerPlugin.check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BannerPlugin.check.d.ts","sourceRoot":"","sources":["../../../src/schemas/plugins/BannerPlugin.check.js"],"names":[],"mappings":";AAgHA;;;;;QAqNC"}