@danielx/civet 0.8.12 → 0.8.13
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/CHANGELOG.md +10 -0
- package/dist/browser.js +136 -63
- package/dist/main.js +136 -63
- package/dist/main.mjs +136 -63
- package/dist/types.d.ts +13 -1
- package/dist/unplugin/unplugin.js +156 -112
- package/dist/unplugin/unplugin.mjs +157 -113
- package/package.json +1 -1
package/dist/main.mjs
CHANGED
|
@@ -1829,8 +1829,8 @@ var declareHelper = {
|
|
|
1829
1829
|
ts(": <T>(object: T, prop: PropertyKey) => boolean"),
|
|
1830
1830
|
" = ({}.constructor",
|
|
1831
1831
|
asAny,
|
|
1832
|
-
").hasOwn
|
|
1833
|
-
]]);
|
|
1832
|
+
").hasOwn"
|
|
1833
|
+
], ";\n"]);
|
|
1834
1834
|
},
|
|
1835
1835
|
is(isRef) {
|
|
1836
1836
|
state.prelude.push(["", [
|
|
@@ -1839,9 +1839,8 @@ var declareHelper = {
|
|
|
1839
1839
|
isRef,
|
|
1840
1840
|
ts(": { <B, A extends B> (a: A, b: B): b is A, <A, B> (a: A, b: B): a is A & B }"),
|
|
1841
1841
|
" = Object.is",
|
|
1842
|
-
asAny
|
|
1843
|
-
|
|
1844
|
-
]]);
|
|
1842
|
+
asAny
|
|
1843
|
+
], ";\n"]);
|
|
1845
1844
|
},
|
|
1846
1845
|
/**
|
|
1847
1846
|
* Array length check with type guard.
|
|
@@ -1859,8 +1858,11 @@ var declareHelper = {
|
|
|
1859
1858
|
},
|
|
1860
1859
|
rslice(rsliceRef) {
|
|
1861
1860
|
const RSliceable = makeRef("RSliceable");
|
|
1861
|
+
state.prelude.push([
|
|
1862
|
+
"",
|
|
1863
|
+
ts(["type ", RSliceable, "<R> = string | {length: number; slice(start: number, end: number): {reverse(): R}}\n"])
|
|
1864
|
+
]);
|
|
1862
1865
|
state.prelude.push(["", [
|
|
1863
|
-
ts(["type ", RSliceable, "<R> = string | {length: number; slice(start: number, end: number): {reverse(): R}}\n"]),
|
|
1864
1866
|
preludeVar,
|
|
1865
1867
|
rsliceRef,
|
|
1866
1868
|
ts([": <R, T extends string | ", RSliceable, "<R>>(a: T, start?: number, end?: number) => T extends string ? string : T extends ", RSliceable, "<infer R> ? R : never"]),
|
|
@@ -1879,8 +1881,8 @@ var declareHelper = {
|
|
|
1879
1881
|
" } else {\n",
|
|
1880
1882
|
" return a.slice(end, start + 1).reverse()\n",
|
|
1881
1883
|
" }\n",
|
|
1882
|
-
"})
|
|
1883
|
-
]]);
|
|
1884
|
+
"})"
|
|
1885
|
+
], ";\n"]);
|
|
1884
1886
|
},
|
|
1885
1887
|
div(divRef) {
|
|
1886
1888
|
state.prelude.push(["", [
|
|
@@ -1888,8 +1890,8 @@ var declareHelper = {
|
|
|
1888
1890
|
preludeVar,
|
|
1889
1891
|
divRef,
|
|
1890
1892
|
ts(": (a: number, b: number) => number"),
|
|
1891
|
-
" = (a, b) => Math.floor(a / b)
|
|
1892
|
-
]]);
|
|
1893
|
+
" = (a, b) => Math.floor(a / b)"
|
|
1894
|
+
], ";\n"]);
|
|
1893
1895
|
},
|
|
1894
1896
|
modulo(moduloRef) {
|
|
1895
1897
|
state.prelude.push(["", [
|
|
@@ -1897,14 +1899,15 @@ var declareHelper = {
|
|
|
1897
1899
|
preludeVar,
|
|
1898
1900
|
moduloRef,
|
|
1899
1901
|
ts(": (a: number, b: number) => number"),
|
|
1900
|
-
" = (a, b) => (a % b + b) % b
|
|
1901
|
-
]]);
|
|
1902
|
+
" = (a, b) => (a % b + b) % b"
|
|
1903
|
+
], ";\n"]);
|
|
1902
1904
|
},
|
|
1903
1905
|
Falsy(FalsyRef) {
|
|
1904
1906
|
state.prelude.push([
|
|
1905
1907
|
"",
|
|
1906
1908
|
// [indent, statement]
|
|
1907
|
-
ts(["type ", FalsyRef, " = false | 0 | '' | 0n | null | undefined
|
|
1909
|
+
ts(["type ", FalsyRef, " = false | 0 | '' | 0n | null | undefined"]),
|
|
1910
|
+
";\n"
|
|
1908
1911
|
]);
|
|
1909
1912
|
},
|
|
1910
1913
|
xor(xorRef) {
|
|
@@ -1925,9 +1928,8 @@ var declareHelper = {
|
|
|
1925
1928
|
" extends never ? never : A))"
|
|
1926
1929
|
]),
|
|
1927
1930
|
" = (a, b) => (a ? !b && a : b)",
|
|
1928
|
-
asAny
|
|
1929
|
-
|
|
1930
|
-
]]);
|
|
1931
|
+
asAny
|
|
1932
|
+
], ";\n"]);
|
|
1931
1933
|
},
|
|
1932
1934
|
xnor(xnorRef) {
|
|
1933
1935
|
const Falsy = getHelperRef("Falsy");
|
|
@@ -1945,9 +1947,8 @@ var declareHelper = {
|
|
|
1945
1947
|
" ? never : B))"
|
|
1946
1948
|
]),
|
|
1947
1949
|
" = (a, b) => (a ? b : !b || a)",
|
|
1948
|
-
asAny
|
|
1949
|
-
|
|
1950
|
-
]]);
|
|
1950
|
+
asAny
|
|
1951
|
+
], ";\n"]);
|
|
1951
1952
|
},
|
|
1952
1953
|
concatAssign(ref) {
|
|
1953
1954
|
state.prelude.push(["", [
|
|
@@ -1965,8 +1966,8 @@ var declareHelper = {
|
|
|
1965
1966
|
asAny,
|
|
1966
1967
|
") : (lhs",
|
|
1967
1968
|
asAny,
|
|
1968
|
-
").push(rhs), lhs)
|
|
1969
|
-
]]);
|
|
1969
|
+
").push(rhs), lhs)"
|
|
1970
|
+
], ";\n"]);
|
|
1970
1971
|
},
|
|
1971
1972
|
AutoPromise(ref) {
|
|
1972
1973
|
state.prelude.push([
|
|
@@ -4674,7 +4675,7 @@ function processDeclarationCondition(condition, rootCondition, parent) {
|
|
|
4674
4675
|
const simple = ref === expression;
|
|
4675
4676
|
let children;
|
|
4676
4677
|
if (simple) {
|
|
4677
|
-
ref =
|
|
4678
|
+
ref = trimFirstSpace(ref);
|
|
4678
4679
|
children = [ref];
|
|
4679
4680
|
} else {
|
|
4680
4681
|
children = [ref, initializer];
|
|
@@ -4864,9 +4865,12 @@ function processDeclarationConditionStatement(s) {
|
|
|
4864
4865
|
}
|
|
4865
4866
|
function dynamizeFromClause(from) {
|
|
4866
4867
|
from = from.slice(1);
|
|
4867
|
-
from =
|
|
4868
|
-
|
|
4869
|
-
|
|
4868
|
+
from = trimFirstSpace(from);
|
|
4869
|
+
let ref2;
|
|
4870
|
+
if (ref2 = from[from.length - 1]?.assertion) {
|
|
4871
|
+
const assert2 = ref2;
|
|
4872
|
+
let ref3;
|
|
4873
|
+
ref3 = from[from.length - 1], ref3.children = ref3.children.filter((a2) => a2 !== assert2);
|
|
4870
4874
|
from.push(", {", assert2.keyword, ":", assert2.object, "}");
|
|
4871
4875
|
}
|
|
4872
4876
|
return ["(", ...from, ")"];
|
|
@@ -4875,20 +4879,20 @@ function dynamizeImportDeclaration(decl) {
|
|
|
4875
4879
|
const { imports } = decl;
|
|
4876
4880
|
let { star, binding, specifiers } = imports;
|
|
4877
4881
|
const justDefault = binding && !specifiers && !star;
|
|
4878
|
-
let
|
|
4882
|
+
let ref4;
|
|
4879
4883
|
{
|
|
4880
4884
|
if (binding) {
|
|
4881
4885
|
if (specifiers) {
|
|
4882
|
-
|
|
4886
|
+
ref4 = makeRef();
|
|
4883
4887
|
} else {
|
|
4884
|
-
|
|
4888
|
+
ref4 = binding;
|
|
4885
4889
|
}
|
|
4886
4890
|
} else {
|
|
4887
|
-
|
|
4891
|
+
ref4 = convertNamedImportsToObject(imports, true);
|
|
4888
4892
|
}
|
|
4889
4893
|
}
|
|
4890
4894
|
;
|
|
4891
|
-
const pattern =
|
|
4895
|
+
const pattern = ref4;
|
|
4892
4896
|
const c = "const";
|
|
4893
4897
|
const expression = [
|
|
4894
4898
|
justDefault ? "(" : void 0,
|
|
@@ -4965,7 +4969,7 @@ function dynamizeImportDeclarationExpression($0) {
|
|
|
4965
4969
|
{ type: "Await", children: "await" },
|
|
4966
4970
|
" ",
|
|
4967
4971
|
imp,
|
|
4968
|
-
|
|
4972
|
+
trimFirstSpace(ws2),
|
|
4969
4973
|
dynamizeFromClause(from),
|
|
4970
4974
|
{
|
|
4971
4975
|
type: "PropertyGlob",
|
|
@@ -6616,19 +6620,23 @@ function processCallMemberExpression(node) {
|
|
|
6616
6620
|
assert.notEqual(i, 0, "Index access must be preceded by an expression");
|
|
6617
6621
|
const prefix = i === 1 ? children[0] : children.slice(0, i);
|
|
6618
6622
|
const { ref, refAssignment } = maybeRefAssignment(prefix);
|
|
6623
|
+
const args = [
|
|
6624
|
+
glob.children.slice(0 + 1, -1),
|
|
6625
|
+
// between "[" and "]" tokens
|
|
6626
|
+
",",
|
|
6627
|
+
[" ", ref, ".length"]
|
|
6628
|
+
];
|
|
6619
6629
|
const call = makeNode({
|
|
6620
6630
|
type: "CallExpression",
|
|
6631
|
+
implicit: true,
|
|
6621
6632
|
children: [
|
|
6622
6633
|
getHelperRef("modulo"),
|
|
6623
6634
|
makeNode({
|
|
6624
6635
|
type: "Call",
|
|
6636
|
+
args,
|
|
6625
6637
|
children: [
|
|
6626
6638
|
"(",
|
|
6627
|
-
|
|
6628
|
-
// between "[" and "]" tokens
|
|
6629
|
-
", ",
|
|
6630
|
-
ref,
|
|
6631
|
-
".length",
|
|
6639
|
+
args,
|
|
6632
6640
|
")"
|
|
6633
6641
|
]
|
|
6634
6642
|
})
|
|
@@ -6640,7 +6648,7 @@ function processCallMemberExpression(node) {
|
|
|
6640
6648
|
...node,
|
|
6641
6649
|
children: [
|
|
6642
6650
|
makeLeftHandSideExpression(refAssignment ?? prefix),
|
|
6643
|
-
{
|
|
6651
|
+
makeNode({
|
|
6644
6652
|
...glob,
|
|
6645
6653
|
mod: false,
|
|
6646
6654
|
expression: call,
|
|
@@ -6651,7 +6659,7 @@ function processCallMemberExpression(node) {
|
|
|
6651
6659
|
(ref3 = glob.children)[ref3.length - 1]
|
|
6652
6660
|
// "]" token
|
|
6653
6661
|
]
|
|
6654
|
-
},
|
|
6662
|
+
}),
|
|
6655
6663
|
...children.slice(i + 1)
|
|
6656
6664
|
]
|
|
6657
6665
|
});
|
|
@@ -8001,6 +8009,7 @@ var grammar = {
|
|
|
8001
8009
|
ArrayElementDelimiter,
|
|
8002
8010
|
ElementListWithIndentedApplicationForbidden,
|
|
8003
8011
|
ElementList,
|
|
8012
|
+
SingleLineElementList,
|
|
8004
8013
|
ElementListRest,
|
|
8005
8014
|
ArrayElementExpression,
|
|
8006
8015
|
NestedBulletedArray,
|
|
@@ -8013,6 +8022,7 @@ var grammar = {
|
|
|
8013
8022
|
BulletedArrayWithTrailing,
|
|
8014
8023
|
ObjectLiteral,
|
|
8015
8024
|
BracedObjectLiteral,
|
|
8025
|
+
SingleLineObjectProperties,
|
|
8016
8026
|
BracedObjectLiteralContent,
|
|
8017
8027
|
NestedImplicitObjectLiteral,
|
|
8018
8028
|
NestedImplicitPropertyDefinitions,
|
|
@@ -11651,13 +11661,13 @@ var FunctionExpression$4 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenParen, _
|
|
|
11651
11661
|
expression: fn
|
|
11652
11662
|
};
|
|
11653
11663
|
});
|
|
11654
|
-
var FunctionExpression$5 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenParen, __, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R15, "FunctionExpression /\\+\\+|--|[\\+\\-&]\\S/")), BinaryOp, __, NonPipelineAssignmentExpression, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
|
|
11664
|
+
var FunctionExpression$5 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenParen, __, (0, import_lib2.$N)((0, import_lib2.$EXPECT)($R15, "FunctionExpression /\\+\\+|--|[\\+\\-&]\\S/")), (0, import_lib2.$N)((0, import_lib2.$S)(Placeholder, (0, import_lib2.$C)(TypePostfix, BinaryOpRHS))), BinaryOp, __, NonPipelineAssignmentExpression, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
|
|
11655
11665
|
var open = $1;
|
|
11656
11666
|
var ws1 = $2;
|
|
11657
|
-
var op = $
|
|
11658
|
-
var ws2 = $
|
|
11659
|
-
var rhs = $
|
|
11660
|
-
var close = $
|
|
11667
|
+
var op = $5;
|
|
11668
|
+
var ws2 = $6;
|
|
11669
|
+
var rhs = $7;
|
|
11670
|
+
var close = $8;
|
|
11661
11671
|
const refA = makeRef("a");
|
|
11662
11672
|
const fn = makeAmpersandFunction({
|
|
11663
11673
|
ref: refA,
|
|
@@ -12359,7 +12369,30 @@ function ArrayLiteral(ctx, state2) {
|
|
|
12359
12369
|
var _ArrayLiteral$0 = (0, import_lib2.$T)((0, import_lib2.$S)(ArrayBindingPattern, UpcomingAssignment), function(value) {
|
|
12360
12370
|
return value[0];
|
|
12361
12371
|
});
|
|
12362
|
-
var _ArrayLiteral$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBracket, AllowAll, (0, import_lib2.$E)((0, import_lib2.$
|
|
12372
|
+
var _ArrayLiteral$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBracket, CloseBracket, ApplicationStart, AllowAll, (0, import_lib2.$E)((0, import_lib2.$C)(NestedElementList, SingleLineElementList)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
|
|
12373
|
+
var open = $1;
|
|
12374
|
+
var close = $2;
|
|
12375
|
+
var content = $5;
|
|
12376
|
+
if (!content)
|
|
12377
|
+
return $skip;
|
|
12378
|
+
let last = content[content.length - 1];
|
|
12379
|
+
let lastArray = Array.isArray(last) ? last : last.children;
|
|
12380
|
+
if (isComma(lastArray[lastArray.length - 1])) {
|
|
12381
|
+
lastArray = lastArray.slice(0, -1);
|
|
12382
|
+
if (Array.isArray(last)) {
|
|
12383
|
+
last = lastArray;
|
|
12384
|
+
} else {
|
|
12385
|
+
last = { ...last, children: lastArray };
|
|
12386
|
+
}
|
|
12387
|
+
content = [...content.slice(0, -1), last];
|
|
12388
|
+
}
|
|
12389
|
+
return {
|
|
12390
|
+
type: "ArrayExpression",
|
|
12391
|
+
children: [open, ...content, close],
|
|
12392
|
+
names: content.flatMap((c) => c?.names || [])
|
|
12393
|
+
};
|
|
12394
|
+
});
|
|
12395
|
+
var _ArrayLiteral$2 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBracket, AllowAll, (0, import_lib2.$E)((0, import_lib2.$S)(ArrayLiteralContent, __, CloseBracket)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
12363
12396
|
var open = $1;
|
|
12364
12397
|
if (!$3)
|
|
12365
12398
|
return $skip;
|
|
@@ -12380,8 +12413,8 @@ var _ArrayLiteral$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBracket, Allo
|
|
|
12380
12413
|
names
|
|
12381
12414
|
};
|
|
12382
12415
|
});
|
|
12383
|
-
var _ArrayLiteral$
|
|
12384
|
-
var _ArrayLiteral$$ = [_ArrayLiteral$0, _ArrayLiteral$1, _ArrayLiteral$2];
|
|
12416
|
+
var _ArrayLiteral$3 = NestedBulletedArray;
|
|
12417
|
+
var _ArrayLiteral$$ = [_ArrayLiteral$0, _ArrayLiteral$1, _ArrayLiteral$2, _ArrayLiteral$3];
|
|
12385
12418
|
function _ArrayLiteral(ctx, state2) {
|
|
12386
12419
|
return (0, import_lib2.$EVENT_C)(ctx, state2, "_ArrayLiteral", _ArrayLiteral$$);
|
|
12387
12420
|
}
|
|
@@ -12554,7 +12587,12 @@ function ElementListWithIndentedApplicationForbidden(ctx, state2) {
|
|
|
12554
12587
|
var ElementList$0 = (0, import_lib2.$T)((0, import_lib2.$S)(BulletedArray), function(value) {
|
|
12555
12588
|
return [value[0]];
|
|
12556
12589
|
});
|
|
12557
|
-
var ElementList$1 =
|
|
12590
|
+
var ElementList$1 = SingleLineElementList;
|
|
12591
|
+
var ElementList$$ = [ElementList$0, ElementList$1];
|
|
12592
|
+
function ElementList(ctx, state2) {
|
|
12593
|
+
return (0, import_lib2.$EVENT_C)(ctx, state2, "ElementList", ElementList$$);
|
|
12594
|
+
}
|
|
12595
|
+
var SingleLineElementList$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)(EOS), ArrayElementExpression, (0, import_lib2.$Q)(ElementListRest)), function($skip, $loc, $0, $1, $2, $3) {
|
|
12558
12596
|
var first = $2;
|
|
12559
12597
|
var rest = $3;
|
|
12560
12598
|
if (!rest.length)
|
|
@@ -12565,9 +12603,8 @@ var ElementList$1 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$N)
|
|
|
12565
12603
|
rest.map(([_2, e], i) => append(e, rest[i + 1]?.[0]))
|
|
12566
12604
|
);
|
|
12567
12605
|
});
|
|
12568
|
-
|
|
12569
|
-
|
|
12570
|
-
return (0, import_lib2.$EVENT_C)(ctx, state2, "ElementList", ElementList$$);
|
|
12606
|
+
function SingleLineElementList(ctx, state2) {
|
|
12607
|
+
return (0, import_lib2.$EVENT)(ctx, state2, "SingleLineElementList", SingleLineElementList$0);
|
|
12571
12608
|
}
|
|
12572
12609
|
var ElementListRest$0 = (0, import_lib2.$S)((0, import_lib2.$S)((0, import_lib2.$E)(_), Comma, (0, import_lib2.$N)(EOS)), ArrayElementExpression);
|
|
12573
12610
|
function ElementListRest(ctx, state2) {
|
|
@@ -12746,7 +12783,29 @@ var ObjectLiteral$$ = [ObjectLiteral$0, ObjectLiteral$1, ObjectLiteral$2, Object
|
|
|
12746
12783
|
function ObjectLiteral(ctx, state2) {
|
|
12747
12784
|
return (0, import_lib2.$EVENT_C)(ctx, state2, "ObjectLiteral", ObjectLiteral$$);
|
|
12748
12785
|
}
|
|
12749
|
-
var BracedObjectLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBrace, AllowAll, (0, import_lib2.$E)((0, import_lib2.$
|
|
12786
|
+
var BracedObjectLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBrace, CloseBrace, ApplicationStart, AllowAll, (0, import_lib2.$E)((0, import_lib2.$C)(NestedPropertyDefinitions, SingleLineObjectProperties)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
|
|
12787
|
+
var open = $1;
|
|
12788
|
+
var close = $2;
|
|
12789
|
+
var properties = $5;
|
|
12790
|
+
if (!properties?.length)
|
|
12791
|
+
return $skip;
|
|
12792
|
+
let last = properties[properties.length - 1];
|
|
12793
|
+
if (last.delim?.implicit) {
|
|
12794
|
+
last = {
|
|
12795
|
+
...last,
|
|
12796
|
+
delim: void 0,
|
|
12797
|
+
children: last.children.filter((c) => c !== last.delim)
|
|
12798
|
+
};
|
|
12799
|
+
properties = [...properties.slice(0, properties.length - 1), last];
|
|
12800
|
+
}
|
|
12801
|
+
return {
|
|
12802
|
+
type: "ObjectExpression",
|
|
12803
|
+
children: [open, properties, close],
|
|
12804
|
+
names: properties.flatMap((c) => c.names || []),
|
|
12805
|
+
properties
|
|
12806
|
+
};
|
|
12807
|
+
});
|
|
12808
|
+
var BracedObjectLiteral$1 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBrace, AllowAll, (0, import_lib2.$E)((0, import_lib2.$S)(BracedObjectLiteralContent, __, CloseBrace)), RestoreAll), function($skip, $loc, $0, $1, $2, $3, $4) {
|
|
12750
12809
|
var open = $1;
|
|
12751
12810
|
if (!$3)
|
|
12752
12811
|
return $skip;
|
|
@@ -12758,13 +12817,13 @@ var BracedObjectLiteral$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(OpenBrace,
|
|
|
12758
12817
|
properties
|
|
12759
12818
|
};
|
|
12760
12819
|
});
|
|
12820
|
+
var BracedObjectLiteral$$ = [BracedObjectLiteral$0, BracedObjectLiteral$1];
|
|
12761
12821
|
function BracedObjectLiteral(ctx, state2) {
|
|
12762
|
-
return (0, import_lib2.$
|
|
12822
|
+
return (0, import_lib2.$EVENT_C)(ctx, state2, "BracedObjectLiteral", BracedObjectLiteral$$);
|
|
12763
12823
|
}
|
|
12764
|
-
var
|
|
12765
|
-
var line = $
|
|
12766
|
-
|
|
12767
|
-
line = line.flatMap(([prop, delim]) => {
|
|
12824
|
+
var SingleLineObjectProperties$0 = (0, import_lib2.$TV)((0, import_lib2.$Q)((0, import_lib2.$S)(PropertyDefinition, ObjectPropertyDelimiter)), function($skip, $loc, $0, $1) {
|
|
12825
|
+
var line = $0;
|
|
12826
|
+
return line.flatMap(([prop, delim]) => {
|
|
12768
12827
|
prop = Array.isArray(prop) ? prop : [prop];
|
|
12769
12828
|
let last = prop[prop.length - 1];
|
|
12770
12829
|
if (!last)
|
|
@@ -12776,6 +12835,13 @@ var BracedObjectLiteralContent$0 = (0, import_lib2.$TS)((0, import_lib2.$S)((0,
|
|
|
12776
12835
|
};
|
|
12777
12836
|
return [...prop.slice(0, prop.length - 1), last];
|
|
12778
12837
|
});
|
|
12838
|
+
});
|
|
12839
|
+
function SingleLineObjectProperties(ctx, state2) {
|
|
12840
|
+
return (0, import_lib2.$EVENT)(ctx, state2, "SingleLineObjectProperties", SingleLineObjectProperties$0);
|
|
12841
|
+
}
|
|
12842
|
+
var BracedObjectLiteralContent$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(SingleLineObjectProperties, (0, import_lib2.$E)(NestedPropertyDefinitions)), function($skip, $loc, $0, $1, $2) {
|
|
12843
|
+
var line = $1;
|
|
12844
|
+
var nested = $2;
|
|
12779
12845
|
return line.concat(nested || []);
|
|
12780
12846
|
});
|
|
12781
12847
|
var BracedObjectLiteralContent$1 = (0, import_lib2.$TV)((0, import_lib2.$P)((0, import_lib2.$S)(__, PropertyDefinition, ObjectPropertyDelimiter)), function($skip, $loc, $0, $1) {
|
|
@@ -12907,8 +12973,8 @@ function InlineObjectPropertyDelimiter(ctx, state2) {
|
|
|
12907
12973
|
}
|
|
12908
12974
|
var ObjectPropertyDelimiter$0 = (0, import_lib2.$S)((0, import_lib2.$E)(_), Comma);
|
|
12909
12975
|
var ObjectPropertyDelimiter$1 = (0, import_lib2.$Y)((0, import_lib2.$S)(__, (0, import_lib2.$EXPECT)($L37, 'ObjectPropertyDelimiter "}"')));
|
|
12910
|
-
var ObjectPropertyDelimiter$2 = (0, import_lib2.$
|
|
12911
|
-
return
|
|
12976
|
+
var ObjectPropertyDelimiter$2 = (0, import_lib2.$TS)((0, import_lib2.$S)((0, import_lib2.$Y)(EOS), InsertComma), function($skip, $loc, $0, $1, $2) {
|
|
12977
|
+
return { ...$2, implicit: true };
|
|
12912
12978
|
});
|
|
12913
12979
|
var ObjectPropertyDelimiter$$ = [ObjectPropertyDelimiter$0, ObjectPropertyDelimiter$1, ObjectPropertyDelimiter$2];
|
|
12914
12980
|
function ObjectPropertyDelimiter(ctx, state2) {
|
|
@@ -15687,8 +15753,9 @@ function ModuleExportName(ctx, state2) {
|
|
|
15687
15753
|
return (0, import_lib2.$EVENT_C)(ctx, state2, "ModuleExportName", ModuleExportName$$);
|
|
15688
15754
|
}
|
|
15689
15755
|
var ModuleSpecifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(UnprocessedModuleSpecifier, (0, import_lib2.$E)(ImportAssertion)), function($skip, $loc, $0, $1, $2) {
|
|
15690
|
-
var
|
|
15691
|
-
|
|
15756
|
+
var module = $1;
|
|
15757
|
+
var assertion = $2;
|
|
15758
|
+
let { token } = module;
|
|
15692
15759
|
if (config.rewriteTsImports) {
|
|
15693
15760
|
token = token.replace(/\.([mc])?ts(['"])$/, ".$1js$2");
|
|
15694
15761
|
}
|
|
@@ -15698,9 +15765,15 @@ var ModuleSpecifier$0 = (0, import_lib2.$TS)((0, import_lib2.$S)(UnprocessedModu
|
|
|
15698
15765
|
`${config.rewriteCivetImports.replace(/\$/g, "$$")}$1`
|
|
15699
15766
|
);
|
|
15700
15767
|
}
|
|
15701
|
-
if (
|
|
15702
|
-
|
|
15703
|
-
|
|
15768
|
+
if (token !== module.token) {
|
|
15769
|
+
module = { ...module, token, input: module.token };
|
|
15770
|
+
}
|
|
15771
|
+
return {
|
|
15772
|
+
type: "ModuleSpecifier",
|
|
15773
|
+
module,
|
|
15774
|
+
assertion,
|
|
15775
|
+
children: [module, assertion]
|
|
15776
|
+
};
|
|
15704
15777
|
});
|
|
15705
15778
|
function ModuleSpecifier(ctx, state2) {
|
|
15706
15779
|
return (0, import_lib2.$EVENT)(ctx, state2, "ModuleSpecifier", ModuleSpecifier$0);
|
package/dist/types.d.ts
CHANGED
|
@@ -49,6 +49,9 @@ declare module "@danielx/civet" {
|
|
|
49
49
|
trace?: string
|
|
50
50
|
parseOptions?: ParseOptions
|
|
51
51
|
}
|
|
52
|
+
export type GenerateOptions = Omit<CompileOptions, "sourceMap"> & {
|
|
53
|
+
sourceMap?: undefined | SourceMap
|
|
54
|
+
}
|
|
52
55
|
export type SyncCompileOptions = CompileOptions &
|
|
53
56
|
{ parseOptions?: { comptime?: false } }
|
|
54
57
|
|
|
@@ -61,6 +64,7 @@ declare module "@danielx/civet" {
|
|
|
61
64
|
lines: SourceMapping[][]
|
|
62
65
|
}
|
|
63
66
|
}
|
|
67
|
+
export function SourceMap(source: string): SourceMap
|
|
64
68
|
|
|
65
69
|
// TODO: Import ParseError class from Hera
|
|
66
70
|
export type ParseError = {
|
|
@@ -93,7 +97,12 @@ declare module "@danielx/civet" {
|
|
|
93
97
|
/** Warning: No caching */
|
|
94
98
|
export function parseProgram<T extends CompileOptions>(source: string, options?: T):
|
|
95
99
|
T extends { comptime: true } ? Promise<CivetAST> : CivetAST
|
|
96
|
-
export function generate(ast: CivetAST, options?:
|
|
100
|
+
export function generate(ast: CivetAST, options?: GenerateOptions): string
|
|
101
|
+
|
|
102
|
+
export const lib: {
|
|
103
|
+
gatherRecursive(ast: CivetAST, predicate: (node: CivetAST) => boolean): CivetAST[]
|
|
104
|
+
gatherRecursiveAll(ast: CivetAST, predicate: (node: CivetAST) => boolean): CivetAST[]
|
|
105
|
+
}
|
|
97
106
|
|
|
98
107
|
const Civet: {
|
|
99
108
|
version: string
|
|
@@ -101,6 +110,9 @@ declare module "@danielx/civet" {
|
|
|
101
110
|
isCompileError: typeof isCompileError
|
|
102
111
|
parse: typeof parse
|
|
103
112
|
generate: typeof generate
|
|
113
|
+
SourceMap: typeof SourceMap
|
|
114
|
+
ParseError: typeof ParseError
|
|
115
|
+
ParseErrors: typeof ParseErrors
|
|
104
116
|
sourcemap: {
|
|
105
117
|
locationTable(input: string): number[]
|
|
106
118
|
lookupLineColumn(table: number[], pos: number): [number, number]
|