@dbml/parse 3.13.4 → 3.13.5-alpha.1
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/LICENSE +0 -0
- package/dist/dbml-parse.js +3 -3
- package/dist/dbml-parse.mjs +83 -75
- package/dist/src/compiler.d.ts +0 -0
- package/dist/src/constants.d.ts +0 -0
- package/dist/src/index.d.ts +0 -0
- package/dist/src/lib/analyzer/analyzer.d.ts +0 -0
- package/dist/src/lib/analyzer/binder/binder.d.ts +0 -0
- package/dist/src/lib/analyzer/binder/elementBinder/custom.d.ts +0 -0
- package/dist/src/lib/analyzer/binder/elementBinder/elementBinder.d.ts +0 -0
- package/dist/src/lib/analyzer/binder/elementBinder/enum.d.ts +0 -0
- package/dist/src/lib/analyzer/binder/elementBinder/indexes.d.ts +0 -0
- package/dist/src/lib/analyzer/binder/elementBinder/note.d.ts +0 -0
- package/dist/src/lib/analyzer/binder/elementBinder/project.d.ts +0 -0
- package/dist/src/lib/analyzer/binder/elementBinder/ref.d.ts +0 -0
- package/dist/src/lib/analyzer/binder/elementBinder/table.d.ts +0 -0
- package/dist/src/lib/analyzer/binder/elementBinder/tableGroup.d.ts +0 -0
- package/dist/src/lib/analyzer/binder/elementBinder/tablePartial.d.ts +0 -0
- package/dist/src/lib/analyzer/binder/types.d.ts +0 -0
- package/dist/src/lib/analyzer/binder/utils.d.ts +0 -0
- package/dist/src/lib/analyzer/symbol/factory.d.ts +0 -0
- package/dist/src/lib/analyzer/symbol/symbolIndex.d.ts +0 -0
- package/dist/src/lib/analyzer/symbol/symbolTable.d.ts +0 -0
- package/dist/src/lib/analyzer/symbol/symbols.d.ts +0 -0
- package/dist/src/lib/analyzer/symbol/utils.d.ts +0 -0
- package/dist/src/lib/analyzer/types.d.ts +0 -0
- package/dist/src/lib/analyzer/utils.d.ts +0 -0
- package/dist/src/lib/analyzer/validator/elementValidators/custom.d.ts +0 -0
- package/dist/src/lib/analyzer/validator/elementValidators/enum.d.ts +0 -0
- package/dist/src/lib/analyzer/validator/elementValidators/indexes.d.ts +0 -0
- package/dist/src/lib/analyzer/validator/elementValidators/note.d.ts +0 -0
- package/dist/src/lib/analyzer/validator/elementValidators/project.d.ts +0 -0
- package/dist/src/lib/analyzer/validator/elementValidators/ref.d.ts +0 -0
- package/dist/src/lib/analyzer/validator/elementValidators/table.d.ts +0 -0
- package/dist/src/lib/analyzer/validator/elementValidators/tableGroup.d.ts +0 -0
- package/dist/src/lib/analyzer/validator/elementValidators/tablePartial.d.ts +0 -0
- package/dist/src/lib/analyzer/validator/types.d.ts +0 -0
- package/dist/src/lib/analyzer/validator/utils.d.ts +0 -0
- package/dist/src/lib/analyzer/validator/validator.d.ts +0 -0
- package/dist/src/lib/errors.d.ts +0 -0
- package/dist/src/lib/interpreter/elementInterpreter/enum.d.ts +0 -0
- package/dist/src/lib/interpreter/elementInterpreter/project.d.ts +0 -0
- package/dist/src/lib/interpreter/elementInterpreter/ref.d.ts +0 -0
- package/dist/src/lib/interpreter/elementInterpreter/sticky_note.d.ts +0 -0
- package/dist/src/lib/interpreter/elementInterpreter/table.d.ts +0 -0
- package/dist/src/lib/interpreter/elementInterpreter/tableGroup.d.ts +0 -0
- package/dist/src/lib/interpreter/elementInterpreter/tablePartial.d.ts +0 -0
- package/dist/src/lib/interpreter/interpreter.d.ts +0 -0
- package/dist/src/lib/interpreter/types.d.ts +0 -0
- package/dist/src/lib/interpreter/utils.d.ts +0 -0
- package/dist/src/lib/lexer/lexer.d.ts +0 -0
- package/dist/src/lib/lexer/tokens.d.ts +0 -0
- package/dist/src/lib/lexer/utils.d.ts +0 -0
- package/dist/src/lib/option.d.ts +1 -0
- package/dist/src/lib/parser/contextStack.d.ts +0 -0
- package/dist/src/lib/parser/factory.d.ts +0 -0
- package/dist/src/lib/parser/nodes.d.ts +0 -0
- package/dist/src/lib/parser/parser.d.ts +0 -0
- package/dist/src/lib/parser/utils.d.ts +0 -0
- package/dist/src/lib/report.d.ts +0 -0
- package/dist/src/lib/serialization/serialize.d.ts +0 -0
- package/dist/src/lib/types.d.ts +0 -0
- package/dist/src/lib/utils.d.ts +0 -0
- package/dist/src/services/definition/provider.d.ts +0 -0
- package/dist/src/services/index.d.ts +0 -0
- package/dist/src/services/references/provider.d.ts +0 -0
- package/dist/src/services/suggestions/provider.d.ts +0 -0
- package/dist/src/services/suggestions/utils.d.ts +0 -0
- package/dist/src/services/types.d.ts +0 -0
- package/dist/src/services/utils.d.ts +0 -0
- package/dist/tests/NaN_errors/interpreter_NaN.test.d.ts +0 -0
- package/dist/tests/binder/binder.test.d.ts +0 -0
- package/dist/tests/interpreter/interpreter.test.d.ts +0 -0
- package/dist/tests/jestHelpers.d.ts +0 -0
- package/dist/tests/lexer/lexer.test.d.ts +0 -0
- package/dist/tests/parser/parser.test.d.ts +0 -0
- package/dist/tests/validator/validator.test.d.ts +0 -0
- package/package.json +2 -2
package/dist/dbml-parse.mjs
CHANGED
|
@@ -50,7 +50,7 @@ function St(t) {
|
|
|
50
50
|
function Nt(t, e) {
|
|
51
51
|
return e.leadingTrivia.find(({ kind: s }) => s === u.NEWLINE) !== void 0 || St(t);
|
|
52
52
|
}
|
|
53
|
-
function
|
|
53
|
+
function Ze(t) {
|
|
54
54
|
return t.trailingTrivia.find(({ kind: e }) => [u.SPACE, u.TAB].includes(e)) !== void 0;
|
|
55
55
|
}
|
|
56
56
|
function Dt(t) {
|
|
@@ -312,27 +312,27 @@ class U {
|
|
|
312
312
|
map(e) {
|
|
313
313
|
return new U(e(this.value));
|
|
314
314
|
}
|
|
315
|
-
// eslint-disable-next-line class-methods-use-this
|
|
316
315
|
isOk() {
|
|
317
316
|
return !0;
|
|
318
317
|
}
|
|
319
318
|
}
|
|
320
|
-
class
|
|
321
|
-
|
|
319
|
+
class P {
|
|
320
|
+
constructor() {
|
|
321
|
+
this.value = void 0;
|
|
322
|
+
}
|
|
322
323
|
unwrap() {
|
|
323
324
|
throw new Error("Trying to unwrap a None value");
|
|
324
325
|
}
|
|
325
|
-
// eslint-disable-next-line class-methods-use-this
|
|
326
326
|
unwrap_or(e) {
|
|
327
327
|
return e;
|
|
328
328
|
}
|
|
329
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
329
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
330
330
|
and_then(e) {
|
|
331
|
-
return new
|
|
331
|
+
return new P();
|
|
332
332
|
}
|
|
333
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
333
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
334
334
|
map(e) {
|
|
335
|
-
return new
|
|
335
|
+
return new P();
|
|
336
336
|
}
|
|
337
337
|
// eslint-disable-next-line class-methods-use-this
|
|
338
338
|
isOk() {
|
|
@@ -397,7 +397,7 @@ function ie(t) {
|
|
|
397
397
|
return Object.values(m).includes(e) ? new U({
|
|
398
398
|
name: n,
|
|
399
399
|
kind: e
|
|
400
|
-
}) : new
|
|
400
|
+
}) : new P();
|
|
401
401
|
}
|
|
402
402
|
function En(t) {
|
|
403
403
|
const e = ie(t).unwrap_or(void 0);
|
|
@@ -528,9 +528,9 @@ function Ft(t) {
|
|
|
528
528
|
var e;
|
|
529
529
|
return t instanceof Z ? `${(e = t.op) == null ? void 0 : e.value}${Ft(t.expression)}` : t.expression.literal.value;
|
|
530
530
|
}
|
|
531
|
-
function
|
|
531
|
+
function et(t) {
|
|
532
532
|
var e;
|
|
533
|
-
return t instanceof Z ? ((e = t.op) == null ? void 0 : e.value) === "-" ? -
|
|
533
|
+
return t instanceof Z ? ((e = t.op) == null ? void 0 : e.value) === "-" ? -et(t.expression) : et(t.expression) : Number.parseFloat(t.expression.literal.value);
|
|
534
534
|
}
|
|
535
535
|
var o = /* @__PURE__ */ ((t) => (t[t.UNKNOWN_SYMBOL = 1e3] = "UNKNOWN_SYMBOL", t[t.UNEXPECTED_SYMBOL = 1001] = "UNEXPECTED_SYMBOL", t[t.UNEXPECTED_EOF = 1002] = "UNEXPECTED_EOF", t[t.UNEXPECTED_NEWLINE = 1003] = "UNEXPECTED_NEWLINE", t[t.UNKNOWN_TOKEN = 1004] = "UNKNOWN_TOKEN", t[t.UNEXPECTED_TOKEN = 1005] = "UNEXPECTED_TOKEN", t[t.UNEXPECTED_ELEMENT_DECLARATION = 1006] = "UNEXPECTED_ELEMENT_DECLARATION", t[t.MISSING_SPACES = 1007] = "MISSING_SPACES", t[t.UNKNOWN_PREFIX_OP = 1008] = "UNKNOWN_PREFIX_OP", t[t.INVALID_OPERAND = 1009] = "INVALID_OPERAND", t[t.EMPTY_ATTRIBUTE_NAME = 1010] = "EMPTY_ATTRIBUTE_NAME", t[t.INVALID_ESCAPE_SEQUENCE = 1011] = "INVALID_ESCAPE_SEQUENCE", t[t.INVALID_NAME = 3e3] = "INVALID_NAME", t[t.UNEXPECTED_NAME = 3001] = "UNEXPECTED_NAME", t[t.NAME_NOT_FOUND = 3002] = "NAME_NOT_FOUND", t[t.DUPLICATE_NAME = 3003] = "DUPLICATE_NAME", t[t.INVALID_ALIAS = 3004] = "INVALID_ALIAS", t[t.UNEXPECTED_ALIAS = 3005] = "UNEXPECTED_ALIAS", t[t.UNEXPECTED_SETTINGS = 3006] = "UNEXPECTED_SETTINGS", t[t.INVALID_SETTINGS = 3007] = "INVALID_SETTINGS", t[t.UNEXPECTED_SIMPLE_BODY = 3008] = "UNEXPECTED_SIMPLE_BODY", t[t.UNEXPECTED_COMPLEX_BODY = 3009] = "UNEXPECTED_COMPLEX_BODY", t[t.INVALID_TABLE_CONTEXT = 3010] = "INVALID_TABLE_CONTEXT", t[t.INVALID_TABLE_SETTING = 3011] = "INVALID_TABLE_SETTING", t[t.DUPLICATE_TABLE_SETTING = 3012] = "DUPLICATE_TABLE_SETTING", t[t.INVALID_TABLEGROUP_CONTEXT = 3013] = "INVALID_TABLEGROUP_CONTEXT", t[t.INVALID_TABLEGROUP_ELEMENT_NAME = 3014] = "INVALID_TABLEGROUP_ELEMENT_NAME", t[t.DUPLICATE_TABLEGROUP_ELEMENT_NAME = 3015] = "DUPLICATE_TABLEGROUP_ELEMENT_NAME", t[t.DUPLICATE_TABLEGROUP_FIELD_NAME = 3016] = "DUPLICATE_TABLEGROUP_FIELD_NAME", t[t.INVALID_TABLEGROUP_FIELD = 3017] = "INVALID_TABLEGROUP_FIELD", t[t.EMPTY_TABLE = 3018] = "EMPTY_TABLE", t[t.INVALID_COLUMN = 3019] = "INVALID_COLUMN", t[t.INVALID_COLUMN_NAME = 3020] = "INVALID_COLUMN_NAME", t[t.UNKNOWN_COLUMN_SETTING = 3021] = "UNKNOWN_COLUMN_SETTING", t[t.INVALID_COLUMN_TYPE = 3022] = "INVALID_COLUMN_TYPE", t[t.DUPLICATE_COLUMN_NAME = 3023] = "DUPLICATE_COLUMN_NAME", t[t.DUPLICATE_COLUMN_SETTING = 3024] = "DUPLICATE_COLUMN_SETTING", t[t.INVALID_COLUMN_SETTING_VALUE = 3025] = "INVALID_COLUMN_SETTING_VALUE", t[t.INVALID_ENUM_CONTEXT = 3026] = "INVALID_ENUM_CONTEXT", t[t.INVALID_ENUM_ELEMENT_NAME = 3027] = "INVALID_ENUM_ELEMENT_NAME", t[t.INVALID_ENUM_ELEMENT = 3028] = "INVALID_ENUM_ELEMENT", t[t.DUPLICATE_ENUM_ELEMENT_NAME = 3029] = "DUPLICATE_ENUM_ELEMENT_NAME", t[t.UNKNOWN_ENUM_ELEMENT_SETTING = 3030] = "UNKNOWN_ENUM_ELEMENT_SETTING", t[t.DUPLICATE_ENUM_ELEMENT_SETTING = 3031] = "DUPLICATE_ENUM_ELEMENT_SETTING", t[t.INVALID_ENUM_ELEMENT_SETTING = 3032] = "INVALID_ENUM_ELEMENT_SETTING", t[t.EMPTY_ENUM = 3033] = "EMPTY_ENUM", t[t.INVALID_REF_CONTEXT = 3034] = "INVALID_REF_CONTEXT", t[t.UNKNOWN_REF_SETTING = 3035] = "UNKNOWN_REF_SETTING", t[t.DUPLICATE_REF_SETTING = 3036] = "DUPLICATE_REF_SETTING", t[t.INVALID_REF_SETTING_VALUE = 3037] = "INVALID_REF_SETTING_VALUE", t[t.INVALID_REF_RELATIONSHIP = 3038] = "INVALID_REF_RELATIONSHIP", t[t.INVALID_REF_FIELD = 3039] = "INVALID_REF_FIELD", t[t.EMPTY_REF = 3040] = "EMPTY_REF", t[t.REF_REDEFINED = 3041] = "REF_REDEFINED", t[t.INVALID_NOTE_CONTEXT = 3042] = "INVALID_NOTE_CONTEXT", t[t.INVALID_NOTE = 3043] = "INVALID_NOTE", t[t.NOTE_REDEFINED = 3044] = "NOTE_REDEFINED", t[t.NOTE_CONTENT_REDEFINED = 3045] = "NOTE_CONTENT_REDEFINED", t[t.EMPTY_NOTE = 3046] = "EMPTY_NOTE", t[t.INVALID_INDEXES_CONTEXT = 3047] = "INVALID_INDEXES_CONTEXT", t[t.INVALID_INDEXES_FIELD = 3048] = "INVALID_INDEXES_FIELD", t[t.INVALID_INDEX = 3049] = "INVALID_INDEX", t[t.UNKNOWN_INDEX_SETTING = 3050] = "UNKNOWN_INDEX_SETTING", t[t.DUPLICATE_INDEX_SETTING = 3051] = "DUPLICATE_INDEX_SETTING", t[t.UNEXPECTED_INDEX_SETTING_VALUE = 3052] = "UNEXPECTED_INDEX_SETTING_VALUE", t[t.INVALID_INDEX_SETTING_VALUE = 3053] = "INVALID_INDEX_SETTING_VALUE", t[t.INVALID_PROJECT_CONTEXT = 3054] = "INVALID_PROJECT_CONTEXT", t[t.PROJECT_REDEFINED = 3055] = "PROJECT_REDEFINED", t[t.INVALID_PROJECT_FIELD = 3056] = "INVALID_PROJECT_FIELD", t[t.INVALID_CUSTOM_CONTEXT = 3057] = "INVALID_CUSTOM_CONTEXT", t[t.INVALID_CUSTOM_ELEMENT_VALUE = 3058] = "INVALID_CUSTOM_ELEMENT_VALUE", t[t.INVALID_ELEMENT_IN_SIMPLE_BODY = 3059] = "INVALID_ELEMENT_IN_SIMPLE_BODY", t[t.INVALID_TABLE_PARTIAL_CONTEXT = 3060] = "INVALID_TABLE_PARTIAL_CONTEXT", t[t.INVALID_TABLE_PARTIAL_ELEMENT_NAME = 3061] = "INVALID_TABLE_PARTIAL_ELEMENT_NAME", t[t.INVALID_TABLE_PARTIAL_SETTING = 3062] = "INVALID_TABLE_PARTIAL_SETTING", t[t.DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME = 3063] = "DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME", t[t.DUPLICATE_TABLE_PARTIAL_SETTING = 3064] = "DUPLICATE_TABLE_PARTIAL_SETTING", t[t.INVALID_TABLE_PARTIAL_INJECTION = 3065] = "INVALID_TABLE_PARTIAL_INJECTION", t[t.INVALID_TABLE_PARTIAL_INJECTION_OP = 3066] = "INVALID_TABLE_PARTIAL_INJECTION_OP", t[t.INVALID_TABLE_PARTIAL_INJECTION_NAME = 3067] = "INVALID_TABLE_PARTIAL_INJECTION_NAME", t[t.DUPLICATE_TABLE_PARTIAL_INJECTION_NAME = 3068] = "DUPLICATE_TABLE_PARTIAL_INJECTION_NAME", t[t.BINDING_ERROR = 4e3] = "BINDING_ERROR", t[t.UNSUPPORTED = 5e3] = "UNSUPPORTED", t[t.CIRCULAR_REF = 5001] = "CIRCULAR_REF", t[t.SAME_ENDPOINT = 5002] = "SAME_ENDPOINT", t[t.UNEQUAL_FIELDS_BINARY_REF = 5003] = "UNEQUAL_FIELDS_BINARY_REF", t[t.CONFLICTING_SETTING = 5004] = "CONFLICTING_SETTING", t[t.TABLE_REAPPEAR_IN_TABLEGROUP = 5005] = "TABLE_REAPPEAR_IN_TABLEGROUP", t))(o || {});
|
|
536
536
|
class l extends Error {
|
|
@@ -558,21 +558,25 @@ class J {
|
|
|
558
558
|
}
|
|
559
559
|
function Pn(t, e, n) {
|
|
560
560
|
if (!t || !Ne(t) || e.length === 0)
|
|
561
|
-
return new
|
|
562
|
-
const s = [...e], i =
|
|
561
|
+
return new P();
|
|
562
|
+
const s = [...e], i = mt(t).unwrap(), a = s.pop();
|
|
563
563
|
if (!(a instanceof oe))
|
|
564
|
-
return new
|
|
564
|
+
return new P();
|
|
565
565
|
const r = g.last(s) instanceof M ? s.pop() : void 0;
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
566
|
+
if (s.length === 3) {
|
|
567
|
+
const c = mt(s[1]).value;
|
|
568
|
+
return !c || !tt(c) ? new P() : new U(
|
|
569
|
+
n.create(y, {
|
|
570
|
+
type: i,
|
|
571
|
+
name: s[0],
|
|
572
|
+
as: c,
|
|
573
|
+
alias: s[2],
|
|
574
|
+
attributeList: r,
|
|
575
|
+
body: a
|
|
576
|
+
})
|
|
577
|
+
);
|
|
578
|
+
}
|
|
579
|
+
return s.length === 1 ? new U(
|
|
576
580
|
n.create(y, {
|
|
577
581
|
type: i,
|
|
578
582
|
name: s[0],
|
|
@@ -585,9 +589,9 @@ function Pn(t, e, n) {
|
|
|
585
589
|
attributeList: r,
|
|
586
590
|
body: a
|
|
587
591
|
})
|
|
588
|
-
) : new
|
|
592
|
+
) : new P();
|
|
589
593
|
}
|
|
590
|
-
function
|
|
594
|
+
function tt(t) {
|
|
591
595
|
return t.kind === u.IDENTIFIER && t.value === "as";
|
|
592
596
|
}
|
|
593
597
|
function b(t) {
|
|
@@ -694,8 +698,8 @@ function xn(t) {
|
|
|
694
698
|
return C(t.partial);
|
|
695
699
|
throw t instanceof nt ? new Error("This case is already handled by TupleExpressionNode") : new Error("Unreachable - no other possible cases");
|
|
696
700
|
}
|
|
697
|
-
function
|
|
698
|
-
return $(t) ? new U(t.expression.variable) : new
|
|
701
|
+
function mt(t) {
|
|
702
|
+
return $(t) ? new U(t.expression.variable) : new P();
|
|
699
703
|
}
|
|
700
704
|
function Y(t) {
|
|
701
705
|
var e;
|
|
@@ -714,9 +718,9 @@ function ut(t) {
|
|
|
714
718
|
}
|
|
715
719
|
function we(t) {
|
|
716
720
|
if (t === void 0)
|
|
717
|
-
return new
|
|
721
|
+
return new P();
|
|
718
722
|
const e = t.identifiers.map((n) => n.value).join(" ");
|
|
719
|
-
return e === "" ? new
|
|
723
|
+
return e === "" ? new P() : new U(e);
|
|
720
724
|
}
|
|
721
725
|
class On {
|
|
722
726
|
// list of errors during lexing
|
|
@@ -1145,7 +1149,7 @@ class Mn {
|
|
|
1145
1149
|
}, this.synchronizeElementDeclarationName = () => {
|
|
1146
1150
|
for (; !this.isAtEnd(); ) {
|
|
1147
1151
|
const s = this.peek();
|
|
1148
|
-
if (
|
|
1152
|
+
if (tt(s) || this.check(u.COLON, u.LBRACE, u.LBRACKET))
|
|
1149
1153
|
break;
|
|
1150
1154
|
b(s), this.advance();
|
|
1151
1155
|
}
|
|
@@ -1404,7 +1408,7 @@ class Mn {
|
|
|
1404
1408
|
throw new T(s.token, n(), s.handlerContext);
|
|
1405
1409
|
this.synchronizeElementDeclarationName();
|
|
1406
1410
|
}
|
|
1407
|
-
if (
|
|
1411
|
+
if (tt(this.peek()))
|
|
1408
1412
|
if (e.as = this.advance(), this.check(u.COLON, u.LBRACE, u.LBRACKET))
|
|
1409
1413
|
this.logError(this.peek(), o.UNEXPECTED_TOKEN, "Expect an alias");
|
|
1410
1414
|
else
|
|
@@ -1480,7 +1484,7 @@ class Mn {
|
|
|
1480
1484
|
return n();
|
|
1481
1485
|
let s = e.callee;
|
|
1482
1486
|
for (; !this.shouldStopExpression(); ) {
|
|
1483
|
-
|
|
1487
|
+
Ze(this.previous()) || this.logError(s, o.MISSING_SPACES, "Expect a following space");
|
|
1484
1488
|
try {
|
|
1485
1489
|
s = this.normalExpression(), e.args.push(s);
|
|
1486
1490
|
} catch (i) {
|
|
@@ -1523,7 +1527,7 @@ class Mn {
|
|
|
1523
1527
|
}), new T(a.token, n, a.handlerContext)) : a;
|
|
1524
1528
|
}
|
|
1525
1529
|
} else if (s.kind === u.LBRACKET) {
|
|
1526
|
-
if (
|
|
1530
|
+
if (Ze(this.previous()))
|
|
1527
1531
|
break;
|
|
1528
1532
|
try {
|
|
1529
1533
|
n = this.nodeFactory.create(Ie, {
|
|
@@ -1774,36 +1778,36 @@ function Le(t) {
|
|
|
1774
1778
|
case I.TablePartial:
|
|
1775
1779
|
return new U(e);
|
|
1776
1780
|
default:
|
|
1777
|
-
return new
|
|
1781
|
+
return new P();
|
|
1778
1782
|
}
|
|
1779
1783
|
}
|
|
1780
1784
|
function _e(t) {
|
|
1781
1785
|
if (!ut(t))
|
|
1782
1786
|
return new U([t]);
|
|
1783
1787
|
const e = _e(t.leftExpression).unwrap_or(void 0);
|
|
1784
|
-
return e ? (e.push(t.rightExpression), new U(e)) : new
|
|
1788
|
+
return e ? (e.push(t.rightExpression), new U(e)) : new P();
|
|
1785
1789
|
}
|
|
1786
1790
|
function q(t) {
|
|
1787
1791
|
if (t === void 0)
|
|
1788
|
-
return new
|
|
1792
|
+
return new P();
|
|
1789
1793
|
const e = _e(t).unwrap_or(void 0);
|
|
1790
1794
|
if (!e)
|
|
1791
|
-
return new
|
|
1795
|
+
return new P();
|
|
1792
1796
|
const n = [];
|
|
1793
1797
|
for (const s of e) {
|
|
1794
1798
|
const i = W(s).unwrap_or(void 0);
|
|
1795
1799
|
if (!i)
|
|
1796
|
-
return new
|
|
1800
|
+
return new P();
|
|
1797
1801
|
n.push(i);
|
|
1798
1802
|
}
|
|
1799
1803
|
return new U(n);
|
|
1800
1804
|
}
|
|
1801
1805
|
function De(t) {
|
|
1802
1806
|
if (t === void 0)
|
|
1803
|
-
return new
|
|
1807
|
+
return new P();
|
|
1804
1808
|
const e = _e(t).unwrap_or(void 0);
|
|
1805
1809
|
if (!e || e.length === 0)
|
|
1806
|
-
return new
|
|
1810
|
+
return new P();
|
|
1807
1811
|
const n = [];
|
|
1808
1812
|
let s;
|
|
1809
1813
|
if (!$(g.last(e))) {
|
|
@@ -1813,12 +1817,12 @@ function De(t) {
|
|
|
1813
1817
|
(a) => X(a).unwrap()
|
|
1814
1818
|
);
|
|
1815
1819
|
else
|
|
1816
|
-
return new
|
|
1820
|
+
return new P();
|
|
1817
1821
|
}
|
|
1818
1822
|
for (const i of e) {
|
|
1819
1823
|
const a = W(i).unwrap_or(void 0);
|
|
1820
1824
|
if (!a)
|
|
1821
|
-
return new
|
|
1825
|
+
return new P();
|
|
1822
1826
|
n.push(a);
|
|
1823
1827
|
}
|
|
1824
1828
|
return new U({
|
|
@@ -1827,7 +1831,7 @@ function De(t) {
|
|
|
1827
1831
|
});
|
|
1828
1832
|
}
|
|
1829
1833
|
function W(t) {
|
|
1830
|
-
return $(t) ? new U(t.expression.variable.value) : new
|
|
1834
|
+
return $(t) ? new U(t.expression.variable.value) : new P();
|
|
1831
1835
|
}
|
|
1832
1836
|
function $e(t) {
|
|
1833
1837
|
if (It(t))
|
|
@@ -1838,20 +1842,20 @@ function $e(t) {
|
|
|
1838
1842
|
), n = t.elementList.filter($);
|
|
1839
1843
|
return new U({ functional: e, nonFunctional: n });
|
|
1840
1844
|
}
|
|
1841
|
-
return new
|
|
1845
|
+
return new P();
|
|
1842
1846
|
}
|
|
1843
1847
|
function X(t) {
|
|
1844
1848
|
var n;
|
|
1845
1849
|
const e = (n = t == null ? void 0 : t.expression.variable) == null ? void 0 : n.value;
|
|
1846
|
-
return e === void 0 ? new
|
|
1850
|
+
return e === void 0 ? new P() : new U(e);
|
|
1847
1851
|
}
|
|
1848
1852
|
function Xn(t) {
|
|
1849
1853
|
var n, s;
|
|
1850
1854
|
const e = (s = (n = t == null ? void 0 : t.partial) == null ? void 0 : n.variable) == null ? void 0 : s.value;
|
|
1851
|
-
return e === void 0 ? new
|
|
1855
|
+
return e === void 0 ? new P() : new U(e);
|
|
1852
1856
|
}
|
|
1853
1857
|
function V(t) {
|
|
1854
|
-
return Y(t) ? t.expression instanceof re ? new U(t.expression.variable.value) : new U(t.expression.literal.value) : new
|
|
1858
|
+
return Y(t) ? t.expression instanceof re ? new U(t.expression.variable.value) : new U(t.expression.literal.value) : new P();
|
|
1855
1859
|
}
|
|
1856
1860
|
function $n(t) {
|
|
1857
1861
|
var e;
|
|
@@ -3463,7 +3467,7 @@ function Ht(t) {
|
|
|
3463
3467
|
if (Ae(t))
|
|
3464
3468
|
return {
|
|
3465
3469
|
type: "number",
|
|
3466
|
-
value:
|
|
3470
|
+
value: et(t)
|
|
3467
3471
|
};
|
|
3468
3472
|
if (Ne(t))
|
|
3469
3473
|
return {
|
|
@@ -3608,10 +3612,10 @@ class Qt {
|
|
|
3608
3612
|
if (g.last(a) instanceof M) {
|
|
3609
3613
|
const A = F(a.pop()).getValue();
|
|
3610
3614
|
s.pk = !!((r = A[E.PK]) != null && r.length) || !!((c = A[E.PKey]) != null && c.length), s.increment = !!((f = A[E.Increment]) != null && f.length), s.unique = !!((p = A[E.Unique]) != null && p.length), s.not_null = (h = A[E.NotNull]) != null && h.length ? !0 : (d = A[E.Null]) != null && d.length ? !1 : void 0, s.dbdefault = Ht((L = (N = A[E.Default]) == null ? void 0 : N.at(0)) == null ? void 0 : L.value);
|
|
3611
|
-
const
|
|
3612
|
-
s.note =
|
|
3613
|
-
value: V(
|
|
3614
|
-
token: _(
|
|
3615
|
+
const S = (v = A[E.Note]) == null ? void 0 : v.at(0);
|
|
3616
|
+
s.note = S && {
|
|
3617
|
+
value: V(S.value).map(ae).unwrap(),
|
|
3618
|
+
token: _(S)
|
|
3615
3619
|
};
|
|
3616
3620
|
const Te = A[E.Ref] || [];
|
|
3617
3621
|
s.inline_refs = Te.flatMap((D) => {
|
|
@@ -3689,15 +3693,15 @@ class Qt {
|
|
|
3689
3693
|
}).forEach((L) => {
|
|
3690
3694
|
const { functional: v, nonFunctional: A } = $e(L).unwrap();
|
|
3691
3695
|
s.columns.push(
|
|
3692
|
-
...v.map((
|
|
3693
|
-
value:
|
|
3696
|
+
...v.map((S) => ({
|
|
3697
|
+
value: S.value.value,
|
|
3694
3698
|
type: "expression",
|
|
3695
|
-
token: _(
|
|
3699
|
+
token: _(S)
|
|
3696
3700
|
})),
|
|
3697
|
-
...A.map((
|
|
3698
|
-
value: X(
|
|
3701
|
+
...A.map((S) => ({
|
|
3702
|
+
value: X(S).unwrap(),
|
|
3699
3703
|
type: "column",
|
|
3700
|
-
token: _(
|
|
3704
|
+
token: _(S)
|
|
3701
3705
|
}))
|
|
3702
3706
|
);
|
|
3703
3707
|
}), s;
|
|
@@ -3791,10 +3795,10 @@ class Jt {
|
|
|
3791
3795
|
new l(o.CIRCULAR_REF, "References with same endpoints exist", this.env.refIds[c])
|
|
3792
3796
|
];
|
|
3793
3797
|
if (e.args[0]) {
|
|
3794
|
-
const
|
|
3798
|
+
const S = F(e.args[0]).getValue(), Te = (h = (p = S.delete) == null ? void 0 : p.at(0)) == null ? void 0 : h.value;
|
|
3795
3799
|
this.ref.onDelete = Te instanceof ne ? we(Te).unwrap_or(void 0) : W(Te).unwrap_or(void 0);
|
|
3796
|
-
const D = (N = (d =
|
|
3797
|
-
this.ref.onUpdate = D instanceof ne ? we(D).unwrap_or(void 0) : W(D).unwrap_or(void 0), this.ref.color = (L =
|
|
3800
|
+
const D = (N = (d = S.update) == null ? void 0 : d.at(0)) == null ? void 0 : N.value;
|
|
3801
|
+
this.ref.onUpdate = D instanceof ne ? we(D).unwrap_or(void 0) : W(D).unwrap_or(void 0), this.ref.color = (L = S.color) != null && L.length ? Oe((A = (v = S.color) == null ? void 0 : v.at(0)) == null ? void 0 : A.value) : void 0;
|
|
3798
3802
|
}
|
|
3799
3803
|
const f = Yt(n);
|
|
3800
3804
|
return this.ref.endpoints = [
|
|
@@ -3982,10 +3986,10 @@ class en {
|
|
|
3982
3986
|
if (g.last(a) instanceof M) {
|
|
3983
3987
|
const A = F(a.pop()).getValue();
|
|
3984
3988
|
s.pk = !!((r = A[E.PK]) != null && r.length) || !!((c = A[E.PKey]) != null && c.length), s.increment = !!((f = A[E.Increment]) != null && f.length), s.unique = !!((p = A[E.Unique]) != null && p.length), s.not_null = (h = A[E.NotNull]) != null && h.length ? !0 : (d = A[E.Null]) != null && d.length ? !1 : void 0, s.dbdefault = Ht((L = (N = A[E.Default]) == null ? void 0 : N.at(0)) == null ? void 0 : L.value);
|
|
3985
|
-
const
|
|
3986
|
-
s.note =
|
|
3987
|
-
value: V(
|
|
3988
|
-
token: _(
|
|
3989
|
+
const S = (v = A[E.Note]) == null ? void 0 : v.at(0);
|
|
3990
|
+
s.note = S && {
|
|
3991
|
+
value: V(S.value).map(ae).unwrap(),
|
|
3992
|
+
token: _(S)
|
|
3989
3993
|
};
|
|
3990
3994
|
const Te = A[E.Ref] || [];
|
|
3991
3995
|
s.inline_refs = Te.flatMap((D) => {
|
|
@@ -4054,15 +4058,15 @@ class en {
|
|
|
4054
4058
|
}).forEach((L) => {
|
|
4055
4059
|
const { functional: v, nonFunctional: A } = $e(L).unwrap();
|
|
4056
4060
|
s.columns.push(
|
|
4057
|
-
...v.map((
|
|
4058
|
-
value:
|
|
4061
|
+
...v.map((S) => ({
|
|
4062
|
+
value: S.value.value,
|
|
4059
4063
|
type: "expression",
|
|
4060
|
-
token: _(
|
|
4064
|
+
token: _(S)
|
|
4061
4065
|
})),
|
|
4062
|
-
...A.map((
|
|
4063
|
-
value: X(
|
|
4066
|
+
...A.map((S) => ({
|
|
4067
|
+
value: X(S).unwrap(),
|
|
4064
4068
|
type: "column",
|
|
4065
|
-
token: _(
|
|
4069
|
+
token: _(S)
|
|
4066
4070
|
}))
|
|
4067
4071
|
);
|
|
4068
4072
|
}), s;
|
|
@@ -4193,7 +4197,7 @@ function xe(t) {
|
|
|
4193
4197
|
}
|
|
4194
4198
|
}
|
|
4195
4199
|
function We(t, e) {
|
|
4196
|
-
if (!t ||
|
|
4200
|
+
if (!t || Ze(t))
|
|
4197
4201
|
return !1;
|
|
4198
4202
|
for (const n of t.trailingTrivia) {
|
|
4199
4203
|
if (n.start > e)
|
|
@@ -4471,7 +4475,11 @@ function wt(t, e) {
|
|
|
4471
4475
|
};
|
|
4472
4476
|
case O.REF:
|
|
4473
4477
|
return {
|
|
4474
|
-
suggestions: [
|
|
4478
|
+
suggestions: [
|
|
4479
|
+
E.Update,
|
|
4480
|
+
E.Delete,
|
|
4481
|
+
E.Color
|
|
4482
|
+
].map((i) => ({
|
|
4475
4483
|
label: i,
|
|
4476
4484
|
insertText: `${i}: `,
|
|
4477
4485
|
kind: k.Property,
|
package/dist/src/compiler.d.ts
CHANGED
|
File without changes
|
package/dist/src/constants.d.ts
CHANGED
|
File without changes
|
package/dist/src/index.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/src/lib/errors.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/src/lib/option.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/src/lib/report.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/src/lib/types.d.ts
CHANGED
|
File without changes
|
package/dist/src/lib/utils.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dbml/parse",
|
|
3
|
-
"version": "3.13.
|
|
3
|
+
"version": "3.13.5-alpha.1",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"author": "Holistics <dev@holistics.io>",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"lodash": "^4.17.21"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "3855f841b1cc5510ae080521f5ab3cd5da8fe3ae"
|
|
52
52
|
}
|