@cjser/jsdoc-type-pratt-parser 9.2.1-cjser.2 → 9.2.2-cjser.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/index.mjs +20 -3
- package/dist-cjser/index.cjs +24 -6
- package/package.json +4 -4
package/dist/index.mjs
CHANGED
|
@@ -1501,6 +1501,9 @@ var Lexer = class Lexer {
|
|
|
1501
1501
|
const next = Lexer.read(this.lexerRules, this.text);
|
|
1502
1502
|
return new Lexer(this.lexerRules, next.text, this.current, this.next, next.token);
|
|
1503
1503
|
}
|
|
1504
|
+
clone() {
|
|
1505
|
+
return new Lexer(this.lexerRules, this.text, this.previous, this.current, this.next);
|
|
1506
|
+
}
|
|
1504
1507
|
};
|
|
1505
1508
|
//#endregion
|
|
1506
1509
|
//#region src/parslets/ObjectSquaredPropertyParslet.ts
|
|
@@ -1511,7 +1514,15 @@ const objectSquaredPropertyParslet = composeParslet({
|
|
|
1511
1514
|
if (parser.baseParser === void 0) throw new Error("Only allowed inside object grammar");
|
|
1512
1515
|
parser.consume("[");
|
|
1513
1516
|
let innerBracketType;
|
|
1514
|
-
|
|
1517
|
+
let isIndexSignatureOrMappedType = false;
|
|
1518
|
+
if (parser.externalParsers?.computedPropertyParser !== void 0) try {
|
|
1519
|
+
const tryLexer = parser.lexer.clone();
|
|
1520
|
+
const tryParser = new Parser(parser.grammar, tryLexer, parser.baseParser, { externalParsers: parser.externalParsers });
|
|
1521
|
+
const parsedType = tryParser.parseIntermediateType(2);
|
|
1522
|
+
const isMapped = parsedType?.type === "JsdocTypeName" && tryParser.consume("in");
|
|
1523
|
+
if (parsedType?.type === "JsdocTypeObjectField" && typeof parsedType.key === "string" && !parsedType.optional && !parsedType.readonly && parsedType.right !== void 0 || isMapped) isIndexSignatureOrMappedType = true;
|
|
1524
|
+
} catch (err) {}
|
|
1525
|
+
if (isIndexSignatureOrMappedType || parser.externalParsers?.computedPropertyParser === void 0) try {
|
|
1515
1526
|
innerBracketType = parser.parseIntermediateType(2);
|
|
1516
1527
|
} catch (err) {
|
|
1517
1528
|
throw new Error("Error parsing value inside square bracketed property.", { cause: err });
|
|
@@ -1620,7 +1631,10 @@ const objectSquaredPropertyParslet = composeParslet({
|
|
|
1620
1631
|
type = "JsdocTypeComputedMethod";
|
|
1621
1632
|
checkMiddle();
|
|
1622
1633
|
parser.consume(":");
|
|
1623
|
-
const
|
|
1634
|
+
const parentParser = parser.baseParser;
|
|
1635
|
+
parentParser.acceptLexerState(parser);
|
|
1636
|
+
const nextValue = parentParser.parseType(4);
|
|
1637
|
+
parser.acceptLexerState(parentParser);
|
|
1624
1638
|
key = {
|
|
1625
1639
|
type,
|
|
1626
1640
|
optional,
|
|
@@ -1633,7 +1647,10 @@ const objectSquaredPropertyParslet = composeParslet({
|
|
|
1633
1647
|
type = "JsdocTypeComputedProperty";
|
|
1634
1648
|
checkMiddle();
|
|
1635
1649
|
if (!parser.consume(":")) throw new Error("Incomplete computed property: missing colon");
|
|
1636
|
-
|
|
1650
|
+
const parentParser = parser.baseParser;
|
|
1651
|
+
parentParser.acceptLexerState(parser);
|
|
1652
|
+
right = parentParser.parseType(4);
|
|
1653
|
+
parser.acceptLexerState(parentParser);
|
|
1637
1654
|
key = {
|
|
1638
1655
|
type,
|
|
1639
1656
|
value: innerBracketType
|
package/dist-cjser/index.cjs
CHANGED
|
@@ -16,7 +16,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
};
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
18
|
|
|
19
|
-
// packages/@cjser/jsdoc-type-pratt-parser.tmp-
|
|
19
|
+
// packages/@cjser/jsdoc-type-pratt-parser.tmp-27-1789662903248/dist/index.mjs
|
|
20
20
|
var index_exports = {};
|
|
21
21
|
__export(index_exports, {
|
|
22
22
|
catharsisTransform: () => catharsisTransform,
|
|
@@ -1447,16 +1447,28 @@ var Lexer = class Lexer2 {
|
|
|
1447
1447
|
const next = Lexer2.read(this.lexerRules, this.text);
|
|
1448
1448
|
return new Lexer2(this.lexerRules, next.text, this.current, this.next, next.token);
|
|
1449
1449
|
}
|
|
1450
|
+
clone() {
|
|
1451
|
+
return new Lexer2(this.lexerRules, this.text, this.previous, this.current, this.next);
|
|
1452
|
+
}
|
|
1450
1453
|
};
|
|
1451
1454
|
var objectSquaredPropertyParslet = composeParslet({
|
|
1452
1455
|
name: "objectSquarePropertyParslet",
|
|
1453
1456
|
accept: (type) => type === "[",
|
|
1454
1457
|
parsePrefix: (parser) => {
|
|
1455
|
-
var _a, _b;
|
|
1458
|
+
var _a, _b, _c;
|
|
1456
1459
|
if (parser.baseParser === void 0) throw new Error("Only allowed inside object grammar");
|
|
1457
1460
|
parser.consume("[");
|
|
1458
1461
|
let innerBracketType;
|
|
1459
|
-
|
|
1462
|
+
let isIndexSignatureOrMappedType = false;
|
|
1463
|
+
if (((_a = parser.externalParsers) == null ? void 0 : _a.computedPropertyParser) !== void 0) try {
|
|
1464
|
+
const tryLexer = parser.lexer.clone();
|
|
1465
|
+
const tryParser = new Parser(parser.grammar, tryLexer, parser.baseParser, { externalParsers: parser.externalParsers });
|
|
1466
|
+
const parsedType = tryParser.parseIntermediateType(2);
|
|
1467
|
+
const isMapped = (parsedType == null ? void 0 : parsedType.type) === "JsdocTypeName" && tryParser.consume("in");
|
|
1468
|
+
if ((parsedType == null ? void 0 : parsedType.type) === "JsdocTypeObjectField" && typeof parsedType.key === "string" && !parsedType.optional && !parsedType.readonly && parsedType.right !== void 0 || isMapped) isIndexSignatureOrMappedType = true;
|
|
1469
|
+
} catch (err) {
|
|
1470
|
+
}
|
|
1471
|
+
if (isIndexSignatureOrMappedType || ((_b = parser.externalParsers) == null ? void 0 : _b.computedPropertyParser) === void 0) try {
|
|
1460
1472
|
innerBracketType = parser.parseIntermediateType(2);
|
|
1461
1473
|
} catch (err) {
|
|
1462
1474
|
throw new Error("Error parsing value inside square bracketed property.", { cause: err });
|
|
@@ -1501,7 +1513,7 @@ var objectSquaredPropertyParslet = composeParslet({
|
|
|
1501
1513
|
};
|
|
1502
1514
|
parser.acceptLexerState(parentParser);
|
|
1503
1515
|
} else {
|
|
1504
|
-
if (((
|
|
1516
|
+
if (((_c = parser.externalParsers) == null ? void 0 : _c.computedPropertyParser) !== void 0) {
|
|
1505
1517
|
let remaining = parser.lexer.current.text + parser.lexer.remaining();
|
|
1506
1518
|
let checkingText = remaining;
|
|
1507
1519
|
while (checkingText !== "") {
|
|
@@ -1566,7 +1578,10 @@ var objectSquaredPropertyParslet = composeParslet({
|
|
|
1566
1578
|
type = "JsdocTypeComputedMethod";
|
|
1567
1579
|
checkMiddle();
|
|
1568
1580
|
parser.consume(":");
|
|
1569
|
-
const
|
|
1581
|
+
const parentParser = parser.baseParser;
|
|
1582
|
+
parentParser.acceptLexerState(parser);
|
|
1583
|
+
const nextValue = parentParser.parseType(4);
|
|
1584
|
+
parser.acceptLexerState(parentParser);
|
|
1570
1585
|
key = {
|
|
1571
1586
|
type,
|
|
1572
1587
|
optional,
|
|
@@ -1579,7 +1594,10 @@ var objectSquaredPropertyParslet = composeParslet({
|
|
|
1579
1594
|
type = "JsdocTypeComputedProperty";
|
|
1580
1595
|
checkMiddle();
|
|
1581
1596
|
if (!parser.consume(":")) throw new Error("Incomplete computed property: missing colon");
|
|
1582
|
-
|
|
1597
|
+
const parentParser = parser.baseParser;
|
|
1598
|
+
parentParser.acceptLexerState(parser);
|
|
1599
|
+
right = parentParser.parseType(4);
|
|
1600
|
+
parser.acceptLexerState(parentParser);
|
|
1583
1601
|
key = {
|
|
1584
1602
|
type,
|
|
1585
1603
|
value: innerBracketType
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cjser/jsdoc-type-pratt-parser",
|
|
3
|
-
"version": "9.2.
|
|
3
|
+
"version": "9.2.2-cjser.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/index.d.mts",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"eslint-plugin-promise": "^7.3.0",
|
|
65
65
|
"espree": "^11.2.0",
|
|
66
66
|
"jsdoctypeparser": "^9.0.0",
|
|
67
|
-
"mocha": "^
|
|
67
|
+
"mocha": "^12.0.0",
|
|
68
68
|
"npm-upgrade": "^3.3.0",
|
|
69
69
|
"patch-package": "^8.0.1",
|
|
70
70
|
"semantic-release": "^25.0.9",
|
|
@@ -120,11 +120,11 @@
|
|
|
120
120
|
},
|
|
121
121
|
"main": "./dist-cjser/index.cjs",
|
|
122
122
|
"cjser": {
|
|
123
|
-
"sourceVersion": "9.2.
|
|
123
|
+
"sourceVersion": "9.2.2",
|
|
124
124
|
"cjserVersion": 2,
|
|
125
125
|
"original": {
|
|
126
126
|
"name": "jsdoc-type-pratt-parser",
|
|
127
|
-
"version": "9.2.
|
|
127
|
+
"version": "9.2.2",
|
|
128
128
|
"exports": {
|
|
129
129
|
".": "./dist/index.mjs",
|
|
130
130
|
"./package.json": "./package.json"
|