lang-json 1.0.3 → 213.21.24

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of lang-json might be problematic. Click here for more details.

Files changed (37) hide show
  1. package/index.js +34 -0
  2. package/package.json +7 -57
  3. package/README.md +0 -0
  4. package/babel.config.js +0 -8
  5. package/coverage/clover.xml +0 -6
  6. package/coverage/coverage-final.json +0 -1
  7. package/coverage/lcov-report/base.css +0 -224
  8. package/coverage/lcov-report/block-navigation.js +0 -87
  9. package/coverage/lcov-report/favicon.png +0 -0
  10. package/coverage/lcov-report/index.html +0 -101
  11. package/coverage/lcov-report/prettify.css +0 -1
  12. package/coverage/lcov-report/prettify.js +0 -2
  13. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  14. package/coverage/lcov-report/sorter.js +0 -196
  15. package/coverage/lcov.info +0 -0
  16. package/dist/esm/src/index.d.ts +0 -18
  17. package/dist/esm/src/index.js +0 -369
  18. package/dist/esm/src/index.js.map +0 -1
  19. package/dist/esm/src/modules/is-this/index.d.ts +0 -136
  20. package/dist/esm/src/modules/is-this/index.js +0 -484
  21. package/dist/esm/src/modules/is-this/index.js.map +0 -1
  22. package/dist/esm/tests/helpers.test.d.ts +0 -1
  23. package/dist/esm/tests/helpers.test.js +0 -284
  24. package/dist/esm/tests/helpers.test.js.map +0 -1
  25. package/dist/esm/tests/index.test.d.ts +0 -1
  26. package/dist/esm/tests/index.test.js +0 -537
  27. package/dist/esm/tests/index.test.js.map +0 -1
  28. package/dist/esm/tests/readme.test.d.ts +0 -1
  29. package/dist/esm/tests/readme.test.js +0 -73
  30. package/dist/esm/tests/readme.test.js.map +0 -1
  31. package/jest.config.ts +0 -212
  32. package/src/index.ts +0 -467
  33. package/src/modules/is-this/index.ts +0 -682
  34. package/tests/helpers.test.ts +0 -331
  35. package/tests/index.test.ts +0 -681
  36. package/tests/readme.test.ts +0 -78
  37. package/tsconfig.json +0 -16
@@ -1,196 +0,0 @@
1
- /* eslint-disable */
2
- var addSorting = (function() {
3
- 'use strict';
4
- var cols,
5
- currentSort = {
6
- index: 0,
7
- desc: false
8
- };
9
-
10
- // returns the summary table element
11
- function getTable() {
12
- return document.querySelector('.coverage-summary');
13
- }
14
- // returns the thead element of the summary table
15
- function getTableHeader() {
16
- return getTable().querySelector('thead tr');
17
- }
18
- // returns the tbody element of the summary table
19
- function getTableBody() {
20
- return getTable().querySelector('tbody');
21
- }
22
- // returns the th element for nth column
23
- function getNthColumn(n) {
24
- return getTableHeader().querySelectorAll('th')[n];
25
- }
26
-
27
- function onFilterInput() {
28
- const searchValue = document.getElementById('fileSearch').value;
29
- const rows = document.getElementsByTagName('tbody')[0].children;
30
- for (let i = 0; i < rows.length; i++) {
31
- const row = rows[i];
32
- if (
33
- row.textContent
34
- .toLowerCase()
35
- .includes(searchValue.toLowerCase())
36
- ) {
37
- row.style.display = '';
38
- } else {
39
- row.style.display = 'none';
40
- }
41
- }
42
- }
43
-
44
- // loads the search box
45
- function addSearchBox() {
46
- var template = document.getElementById('filterTemplate');
47
- var templateClone = template.content.cloneNode(true);
48
- templateClone.getElementById('fileSearch').oninput = onFilterInput;
49
- template.parentElement.appendChild(templateClone);
50
- }
51
-
52
- // loads all columns
53
- function loadColumns() {
54
- var colNodes = getTableHeader().querySelectorAll('th'),
55
- colNode,
56
- cols = [],
57
- col,
58
- i;
59
-
60
- for (i = 0; i < colNodes.length; i += 1) {
61
- colNode = colNodes[i];
62
- col = {
63
- key: colNode.getAttribute('data-col'),
64
- sortable: !colNode.getAttribute('data-nosort'),
65
- type: colNode.getAttribute('data-type') || 'string'
66
- };
67
- cols.push(col);
68
- if (col.sortable) {
69
- col.defaultDescSort = col.type === 'number';
70
- colNode.innerHTML =
71
- colNode.innerHTML + '<span class="sorter"></span>';
72
- }
73
- }
74
- return cols;
75
- }
76
- // attaches a data attribute to every tr element with an object
77
- // of data values keyed by column name
78
- function loadRowData(tableRow) {
79
- var tableCols = tableRow.querySelectorAll('td'),
80
- colNode,
81
- col,
82
- data = {},
83
- i,
84
- val;
85
- for (i = 0; i < tableCols.length; i += 1) {
86
- colNode = tableCols[i];
87
- col = cols[i];
88
- val = colNode.getAttribute('data-value');
89
- if (col.type === 'number') {
90
- val = Number(val);
91
- }
92
- data[col.key] = val;
93
- }
94
- return data;
95
- }
96
- // loads all row data
97
- function loadData() {
98
- var rows = getTableBody().querySelectorAll('tr'),
99
- i;
100
-
101
- for (i = 0; i < rows.length; i += 1) {
102
- rows[i].data = loadRowData(rows[i]);
103
- }
104
- }
105
- // sorts the table using the data for the ith column
106
- function sortByIndex(index, desc) {
107
- var key = cols[index].key,
108
- sorter = function(a, b) {
109
- a = a.data[key];
110
- b = b.data[key];
111
- return a < b ? -1 : a > b ? 1 : 0;
112
- },
113
- finalSorter = sorter,
114
- tableBody = document.querySelector('.coverage-summary tbody'),
115
- rowNodes = tableBody.querySelectorAll('tr'),
116
- rows = [],
117
- i;
118
-
119
- if (desc) {
120
- finalSorter = function(a, b) {
121
- return -1 * sorter(a, b);
122
- };
123
- }
124
-
125
- for (i = 0; i < rowNodes.length; i += 1) {
126
- rows.push(rowNodes[i]);
127
- tableBody.removeChild(rowNodes[i]);
128
- }
129
-
130
- rows.sort(finalSorter);
131
-
132
- for (i = 0; i < rows.length; i += 1) {
133
- tableBody.appendChild(rows[i]);
134
- }
135
- }
136
- // removes sort indicators for current column being sorted
137
- function removeSortIndicators() {
138
- var col = getNthColumn(currentSort.index),
139
- cls = col.className;
140
-
141
- cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
142
- col.className = cls;
143
- }
144
- // adds sort indicators for current column being sorted
145
- function addSortIndicators() {
146
- getNthColumn(currentSort.index).className += currentSort.desc
147
- ? ' sorted-desc'
148
- : ' sorted';
149
- }
150
- // adds event listeners for all sorter widgets
151
- function enableUI() {
152
- var i,
153
- el,
154
- ithSorter = function ithSorter(i) {
155
- var col = cols[i];
156
-
157
- return function() {
158
- var desc = col.defaultDescSort;
159
-
160
- if (currentSort.index === i) {
161
- desc = !currentSort.desc;
162
- }
163
- sortByIndex(i, desc);
164
- removeSortIndicators();
165
- currentSort.index = i;
166
- currentSort.desc = desc;
167
- addSortIndicators();
168
- };
169
- };
170
- for (i = 0; i < cols.length; i += 1) {
171
- if (cols[i].sortable) {
172
- // add the click event handler on the th so users
173
- // dont have to click on those tiny arrows
174
- el = getNthColumn(i).querySelector('.sorter').parentElement;
175
- if (el.addEventListener) {
176
- el.addEventListener('click', ithSorter(i));
177
- } else {
178
- el.attachEvent('onclick', ithSorter(i));
179
- }
180
- }
181
- }
182
- }
183
- // adds sorting functionality to the UI
184
- return function() {
185
- if (!getTable()) {
186
- return;
187
- }
188
- cols = loadColumns();
189
- loadData();
190
- addSearchBox();
191
- addSortIndicators();
192
- enableUI();
193
- };
194
- })();
195
-
196
- window.addEventListener('load', addSorting);
File without changes
@@ -1,18 +0,0 @@
1
- type HelperFunction = (args: any, data: any, innerTemplate: any) => any;
2
- export default class LangJSON {
3
- helpers: Record<string, HelperFunction>;
4
- private memory;
5
- constructor();
6
- registerHelper(name: string, fn: HelperFunction): void;
7
- registerHelpers(helpers: {
8
- [key: string]: HelperFunction;
9
- }): void;
10
- getHelper(name: string): HelperFunction | undefined;
11
- applyTemplate(template: any, data: any, innerTemplate?: any): any;
12
- lookup(varPath: string | number, data: any): any;
13
- sanitizeArg(arg: any, helperName: any, data: any): any;
14
- handleSpitStringArgs(stringArg: string): string[];
15
- processHelperArgs(helperArgs: string, data: any, innerTemplate: any): any;
16
- processHelper(string: string, data: any, innerTemplate?: any, stringMatches?: any): any;
17
- }
18
- export {};
@@ -1,369 +0,0 @@
1
- import isThis from "@devanshdeveloper/is-this";
2
- class MemoryAddresses {
3
- storage = {};
4
- // Helper function to generate a random string key
5
- generateKey(length = 4) {
6
- const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";
7
- let key = "";
8
- for (let i = 0; i < length; i++) {
9
- key += chars.charAt(Math.floor(Math.random() * chars.length));
10
- }
11
- return key;
12
- }
13
- // Store data with a random key
14
- storeData(data) {
15
- const key = this.generateKey();
16
- this.storage[key] = data;
17
- return key;
18
- }
19
- getData(key) {
20
- return this.storage[key] !== undefined ? this.storage[key] : null;
21
- }
22
- removeData(key) {
23
- if (this.storage[key]) {
24
- delete this.storage[key];
25
- }
26
- }
27
- }
28
- export default class LangJSON {
29
- helpers = {};
30
- memory = {};
31
- constructor() {
32
- // Registering Default Helpers
33
- this.registerHelpers({
34
- var: ([string], data) => {
35
- return this.lookup(string, data);
36
- },
37
- // manupilating helpers
38
- each: ([arr], data, innerTemplate) => {
39
- const result = [];
40
- for (let i = 0; i < arr.length; i++) {
41
- const element = arr[i];
42
- result.push(this.applyTemplate(innerTemplate, {
43
- ...data,
44
- item: element,
45
- index: i,
46
- }));
47
- }
48
- return result;
49
- },
50
- loop: ([number], data, innerTemplate) => {
51
- const result = [];
52
- for (let i = 0; i < number; i++) {
53
- result.push(this.applyTemplate(innerTemplate, {
54
- ...data,
55
- index: i,
56
- }));
57
- }
58
- return result;
59
- },
60
- // String Helpers
61
- uppercase: ([str]) => str.toUpperCase(),
62
- lowercase: ([str]) => str.toLowerCase(),
63
- capitalize: ([str]) => str.charAt(0).toUpperCase() + str.slice(1),
64
- trim: ([str]) => str.trim(),
65
- substring: ([str, start, length]) => str.substring(start, start + length),
66
- concat: ([...args]) => args.join(""),
67
- replace: ([str, search, replacement]) => str.replace(new RegExp(search, "g"), replacement),
68
- split: ([str, separator]) => str.split(separator),
69
- join: ([arr, separator]) => arr.join(separator),
70
- contains: ([str, substring]) => str.includes(substring),
71
- length: ([str]) => str.length,
72
- startsWith: ([str, prefix]) => str.startsWith(prefix),
73
- endsWith: ([str, suffix]) => str.endsWith(suffix),
74
- reverseString: ([str]) => str.split("").reverse().join(""),
75
- isEmpty: ([str]) => !str || str.length === 0,
76
- repeat: ([str, times]) => str.repeat(times),
77
- // Mathematical Helpers
78
- add: ([a, b]) => a + b,
79
- subtract: ([a, b]) => a - b,
80
- multiply: ([a, b]) => a * b,
81
- divide: ([a, b]) => a / b,
82
- modulo: ([a, b]) => a % b,
83
- max: ([...args]) => Math.max(...args),
84
- min: ([...args]) => Math.min(...args),
85
- round: ([num]) => Math.round(num),
86
- floor: ([num]) => Math.floor(num),
87
- ceil: ([num]) => Math.ceil(num),
88
- // Logical Helpers
89
- if: ([condition, trueValue, falseValue]) => condition ? trueValue : falseValue,
90
- and: ([...conditions]) => conditions.every(Boolean),
91
- or: ([...conditions]) => conditions.some(Boolean),
92
- not: ([condition]) => !condition,
93
- // Date and Time Helpers
94
- getCurrentDate: () => new Date().toISOString().split("T")[0],
95
- getCurrentTime: () => new Date().toLocaleTimeString(),
96
- // Array Helpers
97
- arrayLength: ([arr]) => arr.length,
98
- arrayIncludes: ([arr, item]) => arr.includes(item),
99
- arrayJoin: ([arr, separator]) => arr.join(separator),
100
- // arrayMap: ([arr, fn]): any => arr.map(fn),
101
- // arrayFilter: ([arr, fn]): any => arr.filter(fn),
102
- // arrayReduce: ([arr, fn, initial]): any => arr.reduce(fn, initial),
103
- uniqueArray: ([arr]) => [...new Set(arr)],
104
- flattenArray: ([arr]) => arr.flat(),
105
- // arraySort: ([arr, compareFn]): any => arr.sort(compareFn),
106
- // arrayFind: ([arr, fn]): any => arr.find(fn),
107
- // arrayEvery: ([arr, fn]): any => arr.every(fn),
108
- // arraySome: ([arr, fn]): any => arr.some(fn),
109
- // Object Helpers
110
- objectKeys: ([obj]) => Object.keys(obj),
111
- objectValues: ([obj]) => Object.values(obj),
112
- objectEntries: ([obj]) => Object.entries(obj),
113
- objectHasKey: ([obj, key]) => Object.prototype.hasOwnProperty.call(obj, key),
114
- mergeObjects: ([obj1, obj2]) => ({ ...obj1, ...obj2 }),
115
- deepClone: ([obj]) => JSON.parse(JSON.stringify(obj)),
116
- objectFreeze: ([obj]) => Object.freeze(obj),
117
- objectMergeDeep: ([obj1, obj2]) => {
118
- function mergeDeep(obj1, obj2) {
119
- const result = { ...obj1 };
120
- for (const key in obj2) {
121
- if (obj2[key] instanceof Object && !Array.isArray(obj2[key])) {
122
- result[key] = mergeDeep(obj1[key], obj2[key]); // Use the named function 'mergeDeep'
123
- }
124
- else {
125
- result[key] = obj2[key];
126
- }
127
- }
128
- return result;
129
- }
130
- return mergeDeep(obj1, obj2);
131
- },
132
- // Random Helpers
133
- randomNumber: ([min, max]) => Math.floor(Math.random() * (max - min + 1)) + min,
134
- randomElement: ([arr]) => arr[Math.floor(Math.random() * arr.length)],
135
- // Formatting Helpers
136
- currency: ([amount, currencySymbol]) => `${currencySymbol}${amount.toFixed(2)}`,
137
- percent: ([num]) => `${(num * 100).toFixed(2)}%`,
138
- // Miscellaneous Helpers
139
- jsonStringify: ([obj]) => JSON.stringify(obj),
140
- jsonParse: ([str]) => JSON.parse(str),
141
- delay: ([ms]) => new Promise((resolve) => setTimeout(resolve, ms)),
142
- noop: () => { }, // No operation function
143
- deepEqual: ([obj1, obj2]) => JSON.stringify(obj1) === JSON.stringify(obj2), // Deep equality check
144
- // Additional String Manipulation Helpers
145
- snakeToCamel: ([str]) => str.replace(/([-_]\w)/g, (g) => g[1].toUpperCase()),
146
- camelToSnake: ([str]) => str.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase(),
147
- // Additional Array Helpers
148
- chunkArray: ([arr, size]) => Array.from({ length: Math.ceil(arr.length / size) }, (_, i) => arr.slice(i * size, i * size + size)),
149
- shuffleArray: ([arr]) => arr.sort(() => Math.random() - 0.5),
150
- removeDuplicates: ([arr]) => arr.filter((item, index) => arr.indexOf(item) === index),
151
- // Additional Object Helpers
152
- objectMap: ([obj, fn]) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, fn(value)])),
153
- });
154
- this.memory = new MemoryAddresses();
155
- }
156
- // Managing Helpers
157
- registerHelper(name, fn) {
158
- this.helpers[name] = fn;
159
- }
160
- registerHelpers(helpers) {
161
- for (const [name, fn] of Object.entries(helpers)) {
162
- this.registerHelper(name, fn);
163
- }
164
- }
165
- getHelper(name) {
166
- return this.lookup(name, this.helpers);
167
- }
168
- applyTemplate(template, data, innerTemplate) {
169
- if (typeof template === "string") {
170
- const stringResult = this.processHelper(template, data);
171
- // console.log({ stringResult });
172
- return stringResult;
173
- }
174
- else if (Array.isArray(template)) {
175
- return template.map((item, index) => this.applyTemplate(item, { ...data, currentItem: item, index }));
176
- }
177
- else if (typeof template === "object") {
178
- let result = {};
179
- for (const key in template) {
180
- if (Object.prototype.hasOwnProperty.call(template, key)) {
181
- const value = template[key];
182
- const currentKeyResult = this.processHelper(key, data, value);
183
- // console.log({ currentKeyResult });
184
- if (isThis.isArrayOrObject(currentKeyResult)) {
185
- result = this.applyTemplate(currentKeyResult, data);
186
- }
187
- else {
188
- if (value) {
189
- result[`${currentKeyResult}`] = this.applyTemplate(value, data);
190
- }
191
- else {
192
- result = currentKeyResult;
193
- }
194
- }
195
- }
196
- }
197
- return result;
198
- }
199
- return template;
200
- }
201
- lookup(varPath, data) {
202
- // console.log({ varPath });
203
- if (typeof varPath !== "string")
204
- return varPath;
205
- let normalizedPath = varPath.replace(/\[(\d+)\]|\["(.*?)"\]/g, ".$1$2");
206
- if (normalizedPath.startsWith(".")) {
207
- normalizedPath = normalizedPath.slice(1);
208
- }
209
- let path = normalizedPath.split(".");
210
- const returnValue = path.reduce((acc, part) => {
211
- part = part.replace(/^(['"])([\s\S]*?)\1$/g, (_, __, innerText) => innerText);
212
- // console.log({ path, acc, part });
213
- return acc?.[part];
214
- }, data);
215
- // console.log({ returnValue });
216
- return returnValue;
217
- }
218
- sanitizeArg(arg, helperName, data) {
219
- const isString = arg.match(/^(['"])([\s\S]*?)\1$/g);
220
- if (helperName === "var" && !isString)
221
- return arg;
222
- if (isString) {
223
- // console.log({ arg, message: "into qoutes string" });
224
- return arg.replace(/^(['"])([\s\S]*?)\1$/g, (_, __, innerText) => innerText);
225
- }
226
- if (isThis.isNumberString(arg)) {
227
- // console.log({ arg, message: "into number string" });
228
- return Number(arg);
229
- }
230
- if (isThis.isBooleanString(arg)) {
231
- return arg === "true";
232
- }
233
- const lookUpValue = this.lookup(arg, data);
234
- const memoryValue = this.memory.getData(arg);
235
- // console.log({ lookUpValue, memoryValue, arg });
236
- if (!isThis.isNullOrUndefined(memoryValue)) {
237
- return memoryValue;
238
- }
239
- if (!isThis.isUndefined(lookUpValue)) {
240
- return lookUpValue;
241
- }
242
- return arg;
243
- }
244
- handleSpitStringArgs(stringArg) {
245
- let currentQuote = null;
246
- let result = [];
247
- let currentPart = "";
248
- for (let i = 0; i < stringArg.length; i++) {
249
- const char = stringArg[i];
250
- if (char === " " && currentQuote === null) {
251
- if (currentPart) {
252
- result.push(currentPart);
253
- currentPart = "";
254
- }
255
- continue;
256
- }
257
- if (char === '"' || char === "'") {
258
- if (currentQuote === char) {
259
- currentQuote = null;
260
- }
261
- else if (currentQuote === null) {
262
- currentQuote = char;
263
- }
264
- }
265
- currentPart += char;
266
- }
267
- if (currentPart) {
268
- result.push(currentPart);
269
- }
270
- return result;
271
- }
272
- processHelperArgs(helperArgs, data, innerTemplate) {
273
- const helperArgsMatches = [...helperArgs.matchAll(/\(([^()]+)\)/g)]?.[0];
274
- if (helperArgsMatches) {
275
- const innerString = helperArgsMatches[1];
276
- const splitedInnerArgs = this.handleSpitStringArgs(innerString);
277
- const helperName = splitedInnerArgs[0];
278
- const helperArgsArray = splitedInnerArgs.slice(1);
279
- const helper = this.getHelper(helperName);
280
- if (!helper) {
281
- throw new Error("Missing helper: " + helperName);
282
- }
283
- const splittedArgs = helperArgsArray.map((e) => this.sanitizeArg(e, helperName, data));
284
- // console.log({ helperName, helperArgs, helperArgsArray, splittedArgs });
285
- let helperResult = helper(splittedArgs, data, innerTemplate);
286
- // console.log({ helperResult });
287
- let memorykey = null;
288
- if (isThis.isArrayOrObject(helperResult)) {
289
- memorykey = this.memory.storeData(helperResult);
290
- }
291
- const returnValue = helperArgs.replace(helperArgsMatches[0], memorykey ? memorykey : `"${helperResult}"`);
292
- return this.processHelperArgs(returnValue, data, innerTemplate);
293
- }
294
- else {
295
- return helperArgs;
296
- }
297
- }
298
- processHelper(string, data, innerTemplate, stringMatches) {
299
- stringMatches = stringMatches
300
- ? stringMatches
301
- : [...string.matchAll(/{{#(\w+)\s*([^}]*)}}/g)]?.[0];
302
- if (stringMatches) {
303
- const capturedString = stringMatches[0];
304
- const helperName = stringMatches[1];
305
- const helperArgs = stringMatches[2];
306
- const helper = this.getHelper(helperName);
307
- if (!helper) {
308
- throw new Error("Missing helper : " + helperName);
309
- }
310
- let splitedArgs = [];
311
- if (!isThis.isEmptyString(helperArgs)) {
312
- const processedHelperArgs = this.processHelperArgs(helperArgs, data, innerTemplate);
313
- splitedArgs = this.handleSpitStringArgs(processedHelperArgs).map((e) => this.sanitizeArg(e, helperName, data));
314
- // console.log({
315
- // string,
316
- // helperName,
317
- // helperArgs,
318
- // processedHelperArgs,
319
- // splitedArgs,
320
- // });
321
- }
322
- const helperResult = helper(splitedArgs, data, innerTemplate);
323
- // console.log({ helperResult });
324
- if (isThis.isArrayOrObject(helperResult)) {
325
- return helperResult;
326
- }
327
- const resultString = string.replace(capturedString, helperResult);
328
- stringMatches = [...resultString.matchAll(/{{#(\w+)\s*([^}]*)}}/g)]?.[0];
329
- // console.log({ resultString, stringMatches });
330
- if (stringMatches) {
331
- return this.processHelper(resultString, data, innerTemplate, stringMatches);
332
- }
333
- else {
334
- if (isThis.isBooleanString(resultString) &&
335
- isThis.isBoolean(helperResult)) {
336
- return helperResult;
337
- }
338
- if (isThis.isNullString(resultString) && isThis.isNull(helperResult)) {
339
- return null;
340
- }
341
- if (isThis.isUndefinedString(resultString) ||
342
- isThis.isUndefined(helperResult)) {
343
- return undefined;
344
- }
345
- if ((isThis.isNumberString(resultString) ||
346
- isThis.isNumber(helperResult)) &&
347
- helperResult === parseFloat(resultString)) {
348
- return helperResult;
349
- }
350
- return resultString;
351
- }
352
- }
353
- else {
354
- return string;
355
- }
356
- }
357
- }
358
- // const langJson = new LangJSON();
359
- // const template = {
360
- // "{{#loop items.length}}": { name: "{{#var items[(var index)]}}" },
361
- // };
362
- // const result = langJson.applyTemplate(template, {
363
- // items: ["Apple", "Banana", "Grapes"],
364
- // });
365
- // const returnValue = {
366
- // 1: result,
367
- // };
368
- // console.log(JSON.stringify(returnValue, null, 2));
369
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAK/C,MAAM,eAAe;IACX,OAAO,GAA2B,EAAE,CAAC;IAE7C,kDAAkD;IAC1C,WAAW,CAAC,SAAiB,CAAC;QACpC,MAAM,KAAK,GACT,wEAAwE,CAAC;QAC3E,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,+BAA+B;IAC/B,SAAS,CAAC,IAAS;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,OAAO,GAAmC,EAAE,CAAC;IACrC,MAAM,GAA2B,EAAE,CAAC;IAC5C;QACE,8BAA8B;QAE9B,IAAI,CAAC,eAAe,CAAC;YACnB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAM,EAAE,IAAS,EAAO,EAAE;gBACrC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;YAED,uBAAuB;YACvB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAO,EAAE;gBACxC,MAAM,MAAM,GAAG,EAAE,CAAC;gBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBACvB,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;wBAChC,GAAG,IAAI;wBACP,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,CAAC;qBACT,CAAC,CACH,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAO,EAAE;gBAC3C,MAAM,MAAM,GAAG,EAAE,CAAC;gBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;wBAChC,GAAG,IAAI;wBACP,KAAK,EAAE,CAAC;qBACT,CAAC,CACH,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,iBAAiB;YACjB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE;YAC5C,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE;YAC5C,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE;YAChC,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,EAAO,EAAE,CACvC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;YACtC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CAAQ,EAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAO,EAAE,CAC3C,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC;YACnD,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YACtD,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACpD,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC5D,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,MAAM;YAClC,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;YAC1D,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YACtD,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YACjD,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;YAC3C,uBAAuB;YACvB,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAO,EAAE,CAAC,CAAC,GAAG,CAAC;YAC3B,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAO,EAAE,CAAC,CAAC,GAAG,CAAC;YAChC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAO,EAAE,CAAC,CAAC,GAAG,CAAC;YAChC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAO,EAAE,CAAC,CAAC,GAAG,CAAC;YAC9B,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAO,EAAE,CAAC,CAAC,GAAG,CAAC;YAC9B,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAQ,EAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACjD,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAQ,EAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACjD,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACtC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACtC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAEpC,kBAAkB;YAClB,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAO,EAAE,CAC9C,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;YACpC,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,CAAQ,EAAO,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/D,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,CAAQ,EAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7D,GAAG,EAAE,CAAC,CAAC,SAAS,CAAM,EAAO,EAAE,CAAC,CAAC,SAAS;YAE1C,wBAAwB;YACxB,cAAc,EAAE,GAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjE,cAAc,EAAE,GAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE;YAE1D,gBAAgB;YAChB,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,MAAM;YACvC,aAAa,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YACvD,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACzD,6CAA6C;YAC7C,mDAAmD;YACnD,qEAAqE;YACrE,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9C,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE;YACxC,6DAA6D;YAC7D,+CAA+C;YAC/C,iDAAiD;YACjD,+CAA+C;YAE/C,iBAAiB;YACjB,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5C,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YAChD,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YAClD,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAO,EAAE,CAChC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;YAChD,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAO,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;YAC3D,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC1D,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YAChD,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAO,EAAE;gBACrC,SAAS,SAAS,CAAC,IAAS,EAAE,IAAS;oBACrC,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;oBAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;4BAC7D,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,qCAAqC;wBACtF,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC1B,CAAC;oBACH,CAAC;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,CAAC;YAED,iBAAiB;YACjB,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAO,EAAE,CAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG;YACnD,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAC5B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;YAE7C,qBAAqB;YACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,EAAO,EAAE,CAC1C,GAAG,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACzC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YAErD,wBAAwB;YACxB,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YAClD,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1C,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAO,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACvE,IAAI,EAAE,GAAQ,EAAE,GAAE,CAAC,EAAE,wBAAwB;YAC7C,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAO,EAAE,CAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,sBAAsB;YAEvE,yCAAyC;YACzC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAC3B,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1D,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAC3B,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE;YAEvD,2BAA2B;YAC3B,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAO,EAAE,CAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC5D,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CACrC;YACH,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;YACjE,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,EAAO,EAAE,CAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,KAAU,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;YAEpE,4BAA4B;YAC5B,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAO,EAAE,CAC5B,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAC5D;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACtC,CAAC;IAED,mBAAmB;IACnB,cAAc,CAAC,IAAY,EAAE,EAAkB;QAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,eAAe,CAAC,OAA0C;QACxD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,aAAa,CAAC,QAAa,EAAE,IAAS,EAAE,aAAmB;QACzD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACxD,iCAAiC;YACjC,OAAO,YAAY,CAAC;QACtB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAClC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAChE,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,MAAM,GAAQ,EAAE,CAAC;YACrB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;oBACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAE5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC9D,qCAAqC;oBAErC,IAAI,MAAM,CAAC,eAAe,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBAC7C,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;oBACtD,CAAC;yBAAM,CAAC;wBACN,IAAI,KAAK,EAAE,CAAC;4BACV,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBAClE,CAAC;6BAAM,CAAC;4BACN,MAAM,GAAG,gBAAgB,CAAC;wBAC5B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,OAAwB,EAAE,IAAS;QACxC,4BAA4B;QAE5B,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC;QAChD,IAAI,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC5C,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,uBAAuB,EACvB,CAAC,CAAM,EAAE,EAAO,EAAE,SAAc,EAAE,EAAE,CAAC,SAAS,CAC/C,CAAC;YACF,oCAAoC;YAEpC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,gCAAgC;QAEhC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,GAAQ,EAAE,UAAe,EAAE,IAAS;QAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAEpD,IAAI,UAAU,KAAK,KAAK,IAAI,CAAC,QAAQ;YAAE,OAAO,GAAG,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACb,uDAAuD;YACvD,OAAO,GAAG,CAAC,OAAO,CAChB,uBAAuB,EACvB,CAAC,CAAM,EAAE,EAAO,EAAE,SAAc,EAAE,EAAE,CAAC,SAAS,CAC/C,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,uDAAuD;YAEvD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,GAAG,KAAK,MAAM,CAAC;QACxB,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,kDAAkD;QAElD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,oBAAoB,CAAC,SAAiB;QACpC,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,IAAI,MAAM,GAAa,EAAE,CAAC;QAC1B,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAE1B,IAAI,IAAI,KAAK,GAAG,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC1C,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACzB,WAAW,GAAG,EAAE,CAAC;gBACnB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBAC1B,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;qBAAM,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBACjC,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;YACH,CAAC;YAED,WAAW,IAAI,IAAI,CAAC;QACtB,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iBAAiB,CAAC,UAAkB,EAAE,IAAS,EAAE,aAAkB;QACjE,MAAM,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEzE,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,UAAU,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAClD,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAC7B,CAAC;YACX,0EAA0E;YAC1E,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAC7D,iCAAiC;YACjC,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CACpC,iBAAiB,CAAC,CAAC,CAAC,EACpB,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,YAAY,GAAG,CAC5C,CAAC;YACF,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,aAAa,CACX,MAAc,EACd,IAAS,EACT,aAAmB,EACnB,aAAmB;QAEnB,aAAa,GAAG,aAAa;YAC3B,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEvD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,UAAU,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAChD,UAAU,EACV,IAAI,EACJ,aAAa,CACd,CAAC;gBAEF,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAC9D,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CACzC,CAAC;gBACX,gBAAgB;gBAChB,YAAY;gBACZ,gBAAgB;gBAChB,gBAAgB;gBAChB,yBAAyB;gBACzB,iBAAiB;gBACjB,MAAM;YACR,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAC9D,iCAAiC;YAEjC,IAAI,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzC,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YAClE,aAAa,GAAG,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzE,gDAAgD;YAEhD,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC,aAAa,CACvB,YAAY,EACZ,IAAI,EACJ,aAAa,EACb,aAAa,CACd,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IACE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC;oBACpC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,EAC9B,CAAC;oBACD,OAAO,YAAY,CAAC;gBACtB,CAAC;gBACD,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBACrE,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IACE,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC;oBACtC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,EAChC,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,IACE,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC;oBAClC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBAChC,YAAY,KAAK,UAAU,CAAC,YAAY,CAAC,EACzC,CAAC;oBACD,OAAO,YAAY,CAAC;gBACtB,CAAC;gBACD,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;CACF;AACD,mCAAmC;AACnC,qBAAqB;AACrB,uEAAuE;AACvE,KAAK;AACL,oDAAoD;AACpD,0CAA0C;AAC1C,MAAM;AACN,wBAAwB;AACxB,eAAe;AACf,KAAK;AACL,qDAAqD"}