binja 0.3.0 → 0.3.2
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.
- package/dist/cli.js +19 -10
- package/dist/filters/index.d.ts.map +1 -1
- package/dist/index.js +124 -51
- package/dist/lexer/index.d.ts.map +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -367,23 +367,32 @@ class Lexer {
|
|
|
367
367
|
return c;
|
|
368
368
|
}
|
|
369
369
|
match(expected, offset = 0) {
|
|
370
|
+
const source = this.state.source;
|
|
370
371
|
const start = this.state.pos + offset;
|
|
371
|
-
|
|
372
|
+
const len = expected.length;
|
|
373
|
+
if (start + len > source.length)
|
|
372
374
|
return false;
|
|
373
|
-
|
|
374
|
-
if (
|
|
375
|
-
|
|
376
|
-
this.state.column += expected.length;
|
|
377
|
-
}
|
|
378
|
-
return true;
|
|
375
|
+
for (let i = 0;i < len; i++) {
|
|
376
|
+
if (source[start + i] !== expected[i])
|
|
377
|
+
return false;
|
|
379
378
|
}
|
|
380
|
-
|
|
379
|
+
if (offset === 0) {
|
|
380
|
+
this.state.pos += len;
|
|
381
|
+
this.state.column += len;
|
|
382
|
+
}
|
|
383
|
+
return true;
|
|
381
384
|
}
|
|
382
385
|
check(expected, offset = 0) {
|
|
386
|
+
const source = this.state.source;
|
|
383
387
|
const start = this.state.pos + offset;
|
|
384
|
-
|
|
388
|
+
const len = expected.length;
|
|
389
|
+
if (start + len > source.length)
|
|
385
390
|
return false;
|
|
386
|
-
|
|
391
|
+
for (let i = 0;i < len; i++) {
|
|
392
|
+
if (source[start + i] !== expected[i])
|
|
393
|
+
return false;
|
|
394
|
+
}
|
|
395
|
+
return true;
|
|
387
396
|
}
|
|
388
397
|
skipWhitespace() {
|
|
389
398
|
while (!this.isAtEnd() && this.isWhitespace(this.peek())) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filters/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAuBhE,eAAO,MAAM,KAAK,EAAE,cAAuD,CAAA;AAE3E,eAAO,MAAM,KAAK,EAAE,cAAuD,CAAA;AAE3E,eAAO,MAAM,UAAU,EAAE,cAGxB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,cAGtB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,cACwC,CAAA;AAE5D,eAAO,MAAM,IAAI,EAAE,cAAgD,CAAA;AAEnE,eAAO,MAAM,SAAS,EAAE,cACoB,CAAA;AAE5C,eAAO,MAAM,MAAM,EAAE,cAWpB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,cAKlB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,cACqB,CAAA;AAE5C,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filters/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -403,23 +403,32 @@ class Lexer {
|
|
|
403
403
|
return c;
|
|
404
404
|
}
|
|
405
405
|
match(expected, offset = 0) {
|
|
406
|
+
const source = this.state.source;
|
|
406
407
|
const start = this.state.pos + offset;
|
|
407
|
-
|
|
408
|
+
const len = expected.length;
|
|
409
|
+
if (start + len > source.length)
|
|
408
410
|
return false;
|
|
409
|
-
|
|
410
|
-
if (
|
|
411
|
-
|
|
412
|
-
this.state.column += expected.length;
|
|
413
|
-
}
|
|
414
|
-
return true;
|
|
411
|
+
for (let i = 0;i < len; i++) {
|
|
412
|
+
if (source[start + i] !== expected[i])
|
|
413
|
+
return false;
|
|
415
414
|
}
|
|
416
|
-
|
|
415
|
+
if (offset === 0) {
|
|
416
|
+
this.state.pos += len;
|
|
417
|
+
this.state.column += len;
|
|
418
|
+
}
|
|
419
|
+
return true;
|
|
417
420
|
}
|
|
418
421
|
check(expected, offset = 0) {
|
|
422
|
+
const source = this.state.source;
|
|
419
423
|
const start = this.state.pos + offset;
|
|
420
|
-
|
|
424
|
+
const len = expected.length;
|
|
425
|
+
if (start + len > source.length)
|
|
421
426
|
return false;
|
|
422
|
-
|
|
427
|
+
for (let i = 0;i < len; i++) {
|
|
428
|
+
if (source[start + i] !== expected[i])
|
|
429
|
+
return false;
|
|
430
|
+
}
|
|
431
|
+
return true;
|
|
423
432
|
}
|
|
424
433
|
skipWhitespace() {
|
|
425
434
|
while (!this.isAtEnd() && this.isWhitespace(this.peek())) {
|
|
@@ -1477,8 +1486,13 @@ var escapejs = (value) => JSON.stringify(String(value)).slice(1, -1);
|
|
|
1477
1486
|
var linebreaks = (value) => {
|
|
1478
1487
|
const str = String(value);
|
|
1479
1488
|
const paragraphs = str.split(DOUBLE_NEWLINE_REGEX);
|
|
1480
|
-
|
|
1481
|
-
|
|
1489
|
+
let html = "";
|
|
1490
|
+
for (let i = 0;i < paragraphs.length; i++) {
|
|
1491
|
+
if (i > 0)
|
|
1492
|
+
html += `
|
|
1493
|
+
`;
|
|
1494
|
+
html += `<p>${paragraphs[i].replace(NEWLINE_REGEX, "<br>")}</p>`;
|
|
1495
|
+
}
|
|
1482
1496
|
const safeString = new String(html);
|
|
1483
1497
|
safeString.__safe__ = true;
|
|
1484
1498
|
return safeString;
|
|
@@ -1786,18 +1800,19 @@ var batch = (value, size, fillWith = null) => {
|
|
|
1786
1800
|
var groupby = (value, attribute) => {
|
|
1787
1801
|
if (!Array.isArray(value))
|
|
1788
1802
|
return [];
|
|
1789
|
-
const groups =
|
|
1803
|
+
const groups = {};
|
|
1790
1804
|
for (const item of value) {
|
|
1791
|
-
const key = attribute ? item[attribute] : item;
|
|
1792
|
-
if (!
|
|
1793
|
-
groups
|
|
1805
|
+
const key = String(attribute ? item[attribute] : item);
|
|
1806
|
+
if (!(key in groups)) {
|
|
1807
|
+
groups[key] = [];
|
|
1794
1808
|
}
|
|
1795
|
-
groups
|
|
1809
|
+
groups[key].push(item);
|
|
1810
|
+
}
|
|
1811
|
+
const result = [];
|
|
1812
|
+
for (const key in groups) {
|
|
1813
|
+
result.push({ grouper: key, list: groups[key] });
|
|
1796
1814
|
}
|
|
1797
|
-
return
|
|
1798
|
-
grouper,
|
|
1799
|
-
list
|
|
1800
|
-
}));
|
|
1815
|
+
return result;
|
|
1801
1816
|
};
|
|
1802
1817
|
var wordwrap = (value, width = 79, breakLongWords = true, wrapString = `
|
|
1803
1818
|
`) => {
|
|
@@ -1834,14 +1849,21 @@ var indent = (value, width = 4, first2 = false, blank = false) => {
|
|
|
1834
1849
|
const indentStr = typeof width === "string" ? width : " ".repeat(Number(width));
|
|
1835
1850
|
const lines = str.split(`
|
|
1836
1851
|
`);
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1852
|
+
let result = "";
|
|
1853
|
+
for (let i = 0;i < lines.length; i++) {
|
|
1854
|
+
if (i > 0)
|
|
1855
|
+
result += `
|
|
1856
|
+
`;
|
|
1857
|
+
const line = lines[i];
|
|
1858
|
+
if (i === 0 && !first2) {
|
|
1859
|
+
result += line;
|
|
1860
|
+
} else if (!blank && line.trim() === "") {
|
|
1861
|
+
result += line;
|
|
1862
|
+
} else {
|
|
1863
|
+
result += indentStr + line;
|
|
1864
|
+
}
|
|
1865
|
+
}
|
|
1866
|
+
return result;
|
|
1845
1867
|
};
|
|
1846
1868
|
var replace = (value, old, newStr, count) => {
|
|
1847
1869
|
const str = String(value);
|
|
@@ -1858,10 +1880,14 @@ var replace = (value, old, newStr, count) => {
|
|
|
1858
1880
|
};
|
|
1859
1881
|
var format = (value, ...args) => {
|
|
1860
1882
|
let str = String(value);
|
|
1861
|
-
args.
|
|
1862
|
-
|
|
1863
|
-
str = str.replace(
|
|
1864
|
-
|
|
1883
|
+
for (let i = 0;i < args.length; i++) {
|
|
1884
|
+
const arg = String(args[i]);
|
|
1885
|
+
str = str.replace(/%s/, arg);
|
|
1886
|
+
const pattern = `%${i + 1}`;
|
|
1887
|
+
if (str.includes(pattern)) {
|
|
1888
|
+
str = str.replaceAll(pattern, arg);
|
|
1889
|
+
}
|
|
1890
|
+
}
|
|
1865
1891
|
return str;
|
|
1866
1892
|
};
|
|
1867
1893
|
var string = (value) => String(value);
|
|
@@ -1949,7 +1975,13 @@ var max = (value, attribute, defaultValue) => {
|
|
|
1949
1975
|
if (!Array.isArray(value) || value.length === 0)
|
|
1950
1976
|
return defaultValue;
|
|
1951
1977
|
if (attribute) {
|
|
1952
|
-
|
|
1978
|
+
let maxItem = value[0];
|
|
1979
|
+
for (let i = 1;i < value.length; i++) {
|
|
1980
|
+
if (value[i][attribute] > maxItem[attribute]) {
|
|
1981
|
+
maxItem = value[i];
|
|
1982
|
+
}
|
|
1983
|
+
}
|
|
1984
|
+
return maxItem;
|
|
1953
1985
|
}
|
|
1954
1986
|
return Math.max(...value);
|
|
1955
1987
|
};
|
|
@@ -1957,17 +1989,25 @@ var min = (value, attribute, defaultValue) => {
|
|
|
1957
1989
|
if (!Array.isArray(value) || value.length === 0)
|
|
1958
1990
|
return defaultValue;
|
|
1959
1991
|
if (attribute) {
|
|
1960
|
-
|
|
1992
|
+
let minItem = value[0];
|
|
1993
|
+
for (let i = 1;i < value.length; i++) {
|
|
1994
|
+
if (value[i][attribute] < minItem[attribute]) {
|
|
1995
|
+
minItem = value[i];
|
|
1996
|
+
}
|
|
1997
|
+
}
|
|
1998
|
+
return minItem;
|
|
1961
1999
|
}
|
|
1962
2000
|
return Math.min(...value);
|
|
1963
2001
|
};
|
|
1964
2002
|
var sum = (value, attribute, start = 0) => {
|
|
1965
2003
|
if (!Array.isArray(value))
|
|
1966
2004
|
return start;
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
2005
|
+
let total = Number(start);
|
|
2006
|
+
for (let i = 0;i < value.length; i++) {
|
|
2007
|
+
const val = attribute ? value[i][attribute] : value[i];
|
|
2008
|
+
total += Number(val) || 0;
|
|
2009
|
+
}
|
|
2010
|
+
return total;
|
|
1971
2011
|
};
|
|
1972
2012
|
var pprint = (value) => {
|
|
1973
2013
|
try {
|
|
@@ -2014,14 +2054,25 @@ var PHONE_MAP = {
|
|
|
2014
2054
|
z: "9"
|
|
2015
2055
|
};
|
|
2016
2056
|
var phone2numeric = (value) => {
|
|
2017
|
-
|
|
2057
|
+
const str = String(value).toLowerCase();
|
|
2058
|
+
let result = "";
|
|
2059
|
+
for (let i = 0;i < str.length; i++) {
|
|
2060
|
+
result += PHONE_MAP[str[i]] ?? str[i];
|
|
2061
|
+
}
|
|
2062
|
+
return result;
|
|
2018
2063
|
};
|
|
2019
2064
|
var linenumbers = (value) => {
|
|
2020
2065
|
const lines = String(value).split(`
|
|
2021
2066
|
`);
|
|
2022
2067
|
const width = String(lines.length).length;
|
|
2023
|
-
|
|
2024
|
-
|
|
2068
|
+
let result = "";
|
|
2069
|
+
for (let i = 0;i < lines.length; i++) {
|
|
2070
|
+
if (i > 0)
|
|
2071
|
+
result += `
|
|
2072
|
+
`;
|
|
2073
|
+
result += `${String(i + 1).padStart(width, " ")}. ${lines[i]}`;
|
|
2074
|
+
}
|
|
2075
|
+
return result;
|
|
2025
2076
|
};
|
|
2026
2077
|
var unordered_list = (value) => {
|
|
2027
2078
|
if (!Array.isArray(value))
|
|
@@ -2522,7 +2573,10 @@ class Runtime {
|
|
|
2522
2573
|
}
|
|
2523
2574
|
renderUrlSync(node, ctx) {
|
|
2524
2575
|
const name = this.eval(node.name, ctx);
|
|
2525
|
-
const args =
|
|
2576
|
+
const args = [];
|
|
2577
|
+
for (let i = 0;i < node.args.length; i++) {
|
|
2578
|
+
args.push(this.eval(node.args[i], ctx));
|
|
2579
|
+
}
|
|
2526
2580
|
const kwargs = this.evalObjectSync(node.kwargs, ctx);
|
|
2527
2581
|
const url = this.options.urlResolver(String(name), args, kwargs);
|
|
2528
2582
|
if (node.asVar) {
|
|
@@ -2685,8 +2739,14 @@ class Runtime {
|
|
|
2685
2739
|
return this.evalCompare(node, ctx);
|
|
2686
2740
|
case "Conditional":
|
|
2687
2741
|
return this.evalConditional(node, ctx);
|
|
2688
|
-
case "Array":
|
|
2689
|
-
|
|
2742
|
+
case "Array": {
|
|
2743
|
+
const elements = node.elements;
|
|
2744
|
+
const result = [];
|
|
2745
|
+
for (let i = 0;i < elements.length; i++) {
|
|
2746
|
+
result.push(this.eval(elements[i], ctx));
|
|
2747
|
+
}
|
|
2748
|
+
return result;
|
|
2749
|
+
}
|
|
2690
2750
|
case "Object":
|
|
2691
2751
|
return this.evalObjectLiteral(node, ctx);
|
|
2692
2752
|
case "FunctionCall":
|
|
@@ -2722,7 +2782,10 @@ class Runtime {
|
|
|
2722
2782
|
}
|
|
2723
2783
|
evalFilter(node, ctx) {
|
|
2724
2784
|
const value = this.eval(node.node, ctx);
|
|
2725
|
-
const args =
|
|
2785
|
+
const args = [];
|
|
2786
|
+
for (let i = 0;i < node.args.length; i++) {
|
|
2787
|
+
args.push(this.eval(node.args[i], ctx));
|
|
2788
|
+
}
|
|
2726
2789
|
const kwargs = this.evalObjectSync(node.kwargs, ctx);
|
|
2727
2790
|
const filter = this.filters[node.filter];
|
|
2728
2791
|
if (!filter)
|
|
@@ -2823,7 +2886,10 @@ class Runtime {
|
|
|
2823
2886
|
}
|
|
2824
2887
|
evalFunctionCall(node, ctx) {
|
|
2825
2888
|
const callee = this.eval(node.callee, ctx);
|
|
2826
|
-
const args =
|
|
2889
|
+
const args = [];
|
|
2890
|
+
for (let i = 0;i < node.args.length; i++) {
|
|
2891
|
+
args.push(this.eval(node.args[i], ctx));
|
|
2892
|
+
}
|
|
2827
2893
|
const kwargs = this.evalObjectSync(node.kwargs, ctx);
|
|
2828
2894
|
return typeof callee === "function" ? callee(...args, kwargs) : undefined;
|
|
2829
2895
|
}
|
|
@@ -2839,7 +2905,10 @@ class Runtime {
|
|
|
2839
2905
|
return node.negated ? !result2 : result2;
|
|
2840
2906
|
}
|
|
2841
2907
|
const value = this.eval(node.node, ctx);
|
|
2842
|
-
const args =
|
|
2908
|
+
const args = [];
|
|
2909
|
+
for (let i = 0;i < node.args.length; i++) {
|
|
2910
|
+
args.push(this.eval(node.args[i], ctx));
|
|
2911
|
+
}
|
|
2843
2912
|
const test = this.tests[node.test];
|
|
2844
2913
|
if (!test)
|
|
2845
2914
|
throw new Error(`Unknown test: ${node.test}`);
|
|
@@ -2848,8 +2917,8 @@ class Runtime {
|
|
|
2848
2917
|
}
|
|
2849
2918
|
evalObjectSync(obj, ctx) {
|
|
2850
2919
|
const result = {};
|
|
2851
|
-
for (const
|
|
2852
|
-
result[key] = this.eval(
|
|
2920
|
+
for (const key in obj) {
|
|
2921
|
+
result[key] = this.eval(obj[key], ctx);
|
|
2853
2922
|
}
|
|
2854
2923
|
return result;
|
|
2855
2924
|
}
|
|
@@ -3055,7 +3124,11 @@ class Runtime {
|
|
|
3055
3124
|
if (typeof value[Symbol.iterator] === "function") {
|
|
3056
3125
|
return Array.from(value);
|
|
3057
3126
|
}
|
|
3058
|
-
|
|
3127
|
+
const result = [];
|
|
3128
|
+
for (const key in value) {
|
|
3129
|
+
result.push({ key, value: value[key], 0: key, 1: value[key] });
|
|
3130
|
+
}
|
|
3131
|
+
return result;
|
|
3059
3132
|
}
|
|
3060
3133
|
return [value];
|
|
3061
3134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lexer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAmC,MAAM,UAAU,CAAA;AAEjE,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,UAAU,CAAQ;gBAGxB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,UAAU,CAAC,EAAE,MAAM,CAAA;KACf;IAmBR,QAAQ,IAAI,KAAK,EAAE;IASnB,OAAO,CAAC,SAAS;IAsCjB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,YAAY;IA0EpB,OAAO,CAAC,QAAQ;IAmChB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,YAAY;IAuDpB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lexer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAmC,MAAM,UAAU,CAAA;AAEjE,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,UAAU,CAAQ;gBAGxB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,UAAU,CAAC,EAAE,MAAM,CAAA;KACf;IAmBR,QAAQ,IAAI,KAAK,EAAE;IASnB,OAAO,CAAC,SAAS;IAsCjB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,YAAY;IA0EpB,OAAO,CAAC,QAAQ;IAmChB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,YAAY;IAuDpB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,KAAK;IAkBb,OAAO,CAAC,KAAK;IAab,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,QAAQ;CAQjB;AAED,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAC9C,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAkB,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAgB,YAAY,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,KAAK,EAEV,YAAY,EAcZ,cAAc,EAcf,MAAM,iBAAiB,CAAA;AAExB,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAA;IAChF,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACzC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;IACxD,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,OAAO,CAAoE;IACnF,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,cAAc,CAA4B;gBAEtC,OAAO,GAAE,cAAmB;IAkClC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBnF,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,aAAa;IA6CrB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
|