@dbml/parse 9.0.0-alpha.16 → 9.0.0-alpha.18
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/dbml-parse.mjs
CHANGED
|
@@ -5116,7 +5116,7 @@ function ef(e) {
|
|
|
5116
5116
|
//#endregion
|
|
5117
5117
|
//#region src/core/types/errors.ts
|
|
5118
5118
|
var w = /* @__PURE__ */ function(e) {
|
|
5119
|
-
return e[e.UNKNOWN_SYMBOL = 1e3] = "UNKNOWN_SYMBOL", e[e.UNEXPECTED_SYMBOL = 1001] = "UNEXPECTED_SYMBOL", e[e.UNEXPECTED_EOF = 1002] = "UNEXPECTED_EOF", e[e.UNEXPECTED_NEWLINE = 1003] = "UNEXPECTED_NEWLINE", e[e.UNKNOWN_TOKEN = 1004] = "UNKNOWN_TOKEN", e[e.UNEXPECTED_TOKEN = 1005] = "UNEXPECTED_TOKEN", e[e.UNEXPECTED_ELEMENT_DECLARATION = 1006] = "UNEXPECTED_ELEMENT_DECLARATION", e[e.MISSING_SPACES = 1007] = "MISSING_SPACES", e[e.UNKNOWN_PREFIX_OP = 1008] = "UNKNOWN_PREFIX_OP", e[e.INVALID_OPERAND = 1009] = "INVALID_OPERAND", e[e.EMPTY_ATTRIBUTE_NAME = 1010] = "EMPTY_ATTRIBUTE_NAME", e[e.INVALID_ESCAPE_SEQUENCE = 1011] = "INVALID_ESCAPE_SEQUENCE", e[e.INVALID_NAME = 3e3] = "INVALID_NAME", e[e.UNEXPECTED_NAME = 3001] = "UNEXPECTED_NAME", e[e.NAME_NOT_FOUND = 3002] = "NAME_NOT_FOUND", e[e.DUPLICATE_NAME = 3003] = "DUPLICATE_NAME", e[e.INVALID_ALIAS = 3004] = "INVALID_ALIAS", e[e.UNEXPECTED_ALIAS = 3005] = "UNEXPECTED_ALIAS", e[e.UNEXPECTED_SETTINGS = 3006] = "UNEXPECTED_SETTINGS", e[e.INVALID_SETTINGS = 3007] = "INVALID_SETTINGS", e[e.UNEXPECTED_SIMPLE_BODY = 3008] = "UNEXPECTED_SIMPLE_BODY", e[e.UNEXPECTED_COMPLEX_BODY = 3009] = "UNEXPECTED_COMPLEX_BODY", e[e.INVALID_TABLE_CONTEXT = 3010] = "INVALID_TABLE_CONTEXT", e[e.UNKNOWN_TABLE_SETTING = 3011] = "UNKNOWN_TABLE_SETTING", e[e.DUPLICATE_TABLE_SETTING = 3012] = "DUPLICATE_TABLE_SETTING", e[e.INVALID_TABLEGROUP_CONTEXT = 3013] = "INVALID_TABLEGROUP_CONTEXT", e[e.INVALID_TABLEGROUP_ELEMENT_NAME = 3014] = "INVALID_TABLEGROUP_ELEMENT_NAME", e[e.DUPLICATE_TABLEGROUP_ELEMENT_NAME = 3015] = "DUPLICATE_TABLEGROUP_ELEMENT_NAME", e[e.DUPLICATE_TABLEGROUP_FIELD_NAME = 3016] = "DUPLICATE_TABLEGROUP_FIELD_NAME", e[e.INVALID_TABLEGROUP_FIELD = 3017] = "INVALID_TABLEGROUP_FIELD", e[e.EMPTY_TABLE = 3018] = "EMPTY_TABLE", e[e.INVALID_COLUMN = 3019] = "INVALID_COLUMN", e[e.INVALID_COLUMN_NAME = 3020] = "INVALID_COLUMN_NAME", e[e.UNKNOWN_COLUMN_SETTING = 3021] = "UNKNOWN_COLUMN_SETTING", e[e.INVALID_COLUMN_TYPE = 3022] = "INVALID_COLUMN_TYPE", e[e.DUPLICATE_COLUMN_NAME = 3023] = "DUPLICATE_COLUMN_NAME", e[e.DUPLICATE_COLUMN_SETTING = 3024] = "DUPLICATE_COLUMN_SETTING", e[e.INVALID_COLUMN_SETTING_VALUE = 3025] = "INVALID_COLUMN_SETTING_VALUE", e[e.INVALID_ENUM_CONTEXT = 3026] = "INVALID_ENUM_CONTEXT", e[e.INVALID_ENUM_ELEMENT_NAME = 3027] = "INVALID_ENUM_ELEMENT_NAME", e[e.INVALID_ENUM_ELEMENT = 3028] = "INVALID_ENUM_ELEMENT", e[e.DUPLICATE_ENUM_ELEMENT_NAME = 3029] = "DUPLICATE_ENUM_ELEMENT_NAME", e[e.UNKNOWN_ENUM_ELEMENT_SETTING = 3030] = "UNKNOWN_ENUM_ELEMENT_SETTING", e[e.DUPLICATE_ENUM_ELEMENT_SETTING = 3031] = "DUPLICATE_ENUM_ELEMENT_SETTING", e[e.INVALID_ENUM_ELEMENT_SETTING = 3032] = "INVALID_ENUM_ELEMENT_SETTING", e[e.EMPTY_ENUM = 3033] = "EMPTY_ENUM", e[e.INVALID_REF_CONTEXT = 3034] = "INVALID_REF_CONTEXT", e[e.UNKNOWN_REF_SETTING = 3035] = "UNKNOWN_REF_SETTING", e[e.DUPLICATE_REF_SETTING = 3036] = "DUPLICATE_REF_SETTING", e[e.INVALID_REF_SETTING_VALUE = 3037] = "INVALID_REF_SETTING_VALUE", e[e.INVALID_REF_RELATIONSHIP = 3038] = "INVALID_REF_RELATIONSHIP", e[e.INVALID_REF_FIELD = 3039] = "INVALID_REF_FIELD", e[e.EMPTY_REF = 3040] = "EMPTY_REF", e[e.REF_REDEFINED = 3041] = "REF_REDEFINED", e[e.INVALID_DEP_CONTEXT = 3042] = "INVALID_DEP_CONTEXT", e[e.INVALID_DEP_FIELD = 3043] = "INVALID_DEP_FIELD", e[e.INVALID_NOTE_CONTEXT = 3044] = "INVALID_NOTE_CONTEXT", e[e.INVALID_NOTE = 3045] = "INVALID_NOTE", e[e.NOTE_REDEFINED = 3046] = "NOTE_REDEFINED", e[e.NOTE_CONTENT_REDEFINED = 3047] = "NOTE_CONTENT_REDEFINED", e[e.EMPTY_NOTE = 3048] = "EMPTY_NOTE", e[e.UNKNOWN_NOTE_SETTING = 3049] = "UNKNOWN_NOTE_SETTING", e[e.DUPLICATE_NOTE_SETTING = 3050] = "DUPLICATE_NOTE_SETTING", e[e.INVALID_NOTE_SETTING_VALUE = 3051] = "INVALID_NOTE_SETTING_VALUE", e[e.INVALID_INDEXES_CONTEXT = 3052] = "INVALID_INDEXES_CONTEXT", e[e.INVALID_INDEXES_FIELD = 3053] = "INVALID_INDEXES_FIELD", e[e.INVALID_INDEX = 3054] = "INVALID_INDEX", e[e.UNKNOWN_INDEX_SETTING = 3055] = "UNKNOWN_INDEX_SETTING", e[e.DUPLICATE_INDEX_SETTING = 3056] = "DUPLICATE_INDEX_SETTING", e[e.UNEXPECTED_INDEX_SETTING_VALUE = 3057] = "UNEXPECTED_INDEX_SETTING_VALUE", e[e.INVALID_INDEX_SETTING_VALUE = 3058] = "INVALID_INDEX_SETTING_VALUE", e[e.INVALID_PROJECT_CONTEXT = 3059] = "INVALID_PROJECT_CONTEXT", e[e.PROJECT_REDEFINED = 3060] = "PROJECT_REDEFINED", e[e.INVALID_PROJECT_FIELD = 3061] = "INVALID_PROJECT_FIELD", e[e.INVALID_CUSTOM_CONTEXT = 3062] = "INVALID_CUSTOM_CONTEXT", e[e.INVALID_CUSTOM_ELEMENT_VALUE = 3063] = "INVALID_CUSTOM_ELEMENT_VALUE", e[e.INVALID_ELEMENT_IN_SIMPLE_BODY = 3064] = "INVALID_ELEMENT_IN_SIMPLE_BODY", e[e.INVALID_TABLE_PARTIAL_CONTEXT = 3065] = "INVALID_TABLE_PARTIAL_CONTEXT", e[e.INVALID_TABLE_PARTIAL_ELEMENT_NAME = 3066] = "INVALID_TABLE_PARTIAL_ELEMENT_NAME", e[e.INVALID_TABLE_PARTIAL_SETTING_VALUE = 3067] = "INVALID_TABLE_PARTIAL_SETTING_VALUE", e[e.DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME = 3068] = "DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME", e[e.DUPLICATE_TABLE_PARTIAL_SETTING = 3069] = "DUPLICATE_TABLE_PARTIAL_SETTING", e[e.INVALID_TABLE_PARTIAL_INJECTION = 3070] = "INVALID_TABLE_PARTIAL_INJECTION", e[e.INVALID_TABLE_PARTIAL_INJECTION_OP = 3071] = "INVALID_TABLE_PARTIAL_INJECTION_OP", e[e.INVALID_TABLE_PARTIAL_INJECTION_NAME = 3072] = "INVALID_TABLE_PARTIAL_INJECTION_NAME", e[e.DUPLICATE_TABLE_PARTIAL_INJECTION_NAME = 3073] = "DUPLICATE_TABLE_PARTIAL_INJECTION_NAME", e[e.UNKNOWN_TABLE_PARTIAL_SETTING = 3074] = "UNKNOWN_TABLE_PARTIAL_SETTING", e[e.INVALID_TABLE_SETTING_VALUE = 3075] = "INVALID_TABLE_SETTING_VALUE", e[e.INVALID_CHECKS_CONTEXT = 3076] = "INVALID_CHECKS_CONTEXT", e[e.INVALID_CHECKS_FIELD = 3077] = "INVALID_CHECKS_FIELD", e[e.INVALID_CHECK = 3078] = "INVALID_CHECK", e[e.UNKNOWN_CHECK_SETTING = 3079] = "UNKNOWN_CHECK_SETTING", e[e.DUPLICATE_CHECK_SETTING = 3080] = "DUPLICATE_CHECK_SETTING", e[e.INVALID_CHECK_SETTING_VALUE = 3081] = "INVALID_CHECK_SETTING_VALUE", e[e.INVALID_RECORDS_CONTEXT = 3082] = "INVALID_RECORDS_CONTEXT", e[e.INVALID_RECORDS_NAME = 3083] = "INVALID_RECORDS_NAME", e[e.INVALID_RECORDS_FIELD = 3084] = "INVALID_RECORDS_FIELD", e[e.DUPLICATE_COLUMN_REFERENCES_IN_RECORDS = 3085] = "DUPLICATE_COLUMN_REFERENCES_IN_RECORDS", e[e.DUPLICATE_RECORDS_FOR_TABLE = 3086] = "DUPLICATE_RECORDS_FOR_TABLE", e[e.INVALID_USE_CONTEXT = 3087] = "INVALID_USE_CONTEXT", e[e.INVALID_USE_SPECIFIER_KIND = 3088] = "INVALID_USE_SPECIFIER_KIND", e[e.INVALID_USE_SPECIFIER_NAME = 3089] = "INVALID_USE_SPECIFIER_NAME", e[e.INVALID_DIAGRAMVIEW_CONTEXT = 3090] = "INVALID_DIAGRAMVIEW_CONTEXT", e[e.DUPLICATE_DIAGRAMVIEW_NAME = 3091] = "DUPLICATE_DIAGRAMVIEW_NAME", e[e.INVALID_DIAGRAMVIEW_FIELD = 3092] = "INVALID_DIAGRAMVIEW_FIELD", e[e.DUPLICATE_DIAGRAMVIEW_FIELD = 3093] = "DUPLICATE_DIAGRAMVIEW_FIELD", e[e.BINDING_ERROR = 4e3] = "BINDING_ERROR", e[e.NONEXISTENT_MODULE = 4001] = "NONEXISTENT_MODULE", e[e.UNSUPPORTED = 5e3] = "UNSUPPORTED", e[e.CIRCULAR_REF = 5001] = "CIRCULAR_REF", e[e.SAME_ENDPOINT = 5002] = "SAME_ENDPOINT", e[e.DEP_SELF_LOOP = 5003] = "DEP_SELF_LOOP", e[e.DEP_MIXED_DOWNSTREAM_TABLES = 5004] = "DEP_MIXED_DOWNSTREAM_TABLES", e[e.DEP_DUPLICATE_DOWNSTREAM_TABLE = 5005] = "DEP_DUPLICATE_DOWNSTREAM_TABLE", e[e.
|
|
5119
|
+
return e[e.UNKNOWN_SYMBOL = 1e3] = "UNKNOWN_SYMBOL", e[e.UNEXPECTED_SYMBOL = 1001] = "UNEXPECTED_SYMBOL", e[e.UNEXPECTED_EOF = 1002] = "UNEXPECTED_EOF", e[e.UNEXPECTED_NEWLINE = 1003] = "UNEXPECTED_NEWLINE", e[e.UNKNOWN_TOKEN = 1004] = "UNKNOWN_TOKEN", e[e.UNEXPECTED_TOKEN = 1005] = "UNEXPECTED_TOKEN", e[e.UNEXPECTED_ELEMENT_DECLARATION = 1006] = "UNEXPECTED_ELEMENT_DECLARATION", e[e.MISSING_SPACES = 1007] = "MISSING_SPACES", e[e.UNKNOWN_PREFIX_OP = 1008] = "UNKNOWN_PREFIX_OP", e[e.INVALID_OPERAND = 1009] = "INVALID_OPERAND", e[e.EMPTY_ATTRIBUTE_NAME = 1010] = "EMPTY_ATTRIBUTE_NAME", e[e.INVALID_ESCAPE_SEQUENCE = 1011] = "INVALID_ESCAPE_SEQUENCE", e[e.INVALID_NAME = 3e3] = "INVALID_NAME", e[e.UNEXPECTED_NAME = 3001] = "UNEXPECTED_NAME", e[e.NAME_NOT_FOUND = 3002] = "NAME_NOT_FOUND", e[e.DUPLICATE_NAME = 3003] = "DUPLICATE_NAME", e[e.INVALID_ALIAS = 3004] = "INVALID_ALIAS", e[e.UNEXPECTED_ALIAS = 3005] = "UNEXPECTED_ALIAS", e[e.UNEXPECTED_SETTINGS = 3006] = "UNEXPECTED_SETTINGS", e[e.INVALID_SETTINGS = 3007] = "INVALID_SETTINGS", e[e.UNEXPECTED_SIMPLE_BODY = 3008] = "UNEXPECTED_SIMPLE_BODY", e[e.UNEXPECTED_COMPLEX_BODY = 3009] = "UNEXPECTED_COMPLEX_BODY", e[e.INVALID_TABLE_CONTEXT = 3010] = "INVALID_TABLE_CONTEXT", e[e.UNKNOWN_TABLE_SETTING = 3011] = "UNKNOWN_TABLE_SETTING", e[e.DUPLICATE_TABLE_SETTING = 3012] = "DUPLICATE_TABLE_SETTING", e[e.INVALID_TABLEGROUP_CONTEXT = 3013] = "INVALID_TABLEGROUP_CONTEXT", e[e.INVALID_TABLEGROUP_ELEMENT_NAME = 3014] = "INVALID_TABLEGROUP_ELEMENT_NAME", e[e.DUPLICATE_TABLEGROUP_ELEMENT_NAME = 3015] = "DUPLICATE_TABLEGROUP_ELEMENT_NAME", e[e.DUPLICATE_TABLEGROUP_FIELD_NAME = 3016] = "DUPLICATE_TABLEGROUP_FIELD_NAME", e[e.INVALID_TABLEGROUP_FIELD = 3017] = "INVALID_TABLEGROUP_FIELD", e[e.EMPTY_TABLE = 3018] = "EMPTY_TABLE", e[e.INVALID_COLUMN = 3019] = "INVALID_COLUMN", e[e.INVALID_COLUMN_NAME = 3020] = "INVALID_COLUMN_NAME", e[e.UNKNOWN_COLUMN_SETTING = 3021] = "UNKNOWN_COLUMN_SETTING", e[e.INVALID_COLUMN_TYPE = 3022] = "INVALID_COLUMN_TYPE", e[e.DUPLICATE_COLUMN_NAME = 3023] = "DUPLICATE_COLUMN_NAME", e[e.DUPLICATE_COLUMN_SETTING = 3024] = "DUPLICATE_COLUMN_SETTING", e[e.INVALID_COLUMN_SETTING_VALUE = 3025] = "INVALID_COLUMN_SETTING_VALUE", e[e.INVALID_ENUM_CONTEXT = 3026] = "INVALID_ENUM_CONTEXT", e[e.INVALID_ENUM_ELEMENT_NAME = 3027] = "INVALID_ENUM_ELEMENT_NAME", e[e.INVALID_ENUM_ELEMENT = 3028] = "INVALID_ENUM_ELEMENT", e[e.DUPLICATE_ENUM_ELEMENT_NAME = 3029] = "DUPLICATE_ENUM_ELEMENT_NAME", e[e.UNKNOWN_ENUM_ELEMENT_SETTING = 3030] = "UNKNOWN_ENUM_ELEMENT_SETTING", e[e.DUPLICATE_ENUM_ELEMENT_SETTING = 3031] = "DUPLICATE_ENUM_ELEMENT_SETTING", e[e.INVALID_ENUM_ELEMENT_SETTING = 3032] = "INVALID_ENUM_ELEMENT_SETTING", e[e.EMPTY_ENUM = 3033] = "EMPTY_ENUM", e[e.INVALID_REF_CONTEXT = 3034] = "INVALID_REF_CONTEXT", e[e.UNKNOWN_REF_SETTING = 3035] = "UNKNOWN_REF_SETTING", e[e.DUPLICATE_REF_SETTING = 3036] = "DUPLICATE_REF_SETTING", e[e.INVALID_REF_SETTING_VALUE = 3037] = "INVALID_REF_SETTING_VALUE", e[e.INVALID_REF_RELATIONSHIP = 3038] = "INVALID_REF_RELATIONSHIP", e[e.INVALID_REF_FIELD = 3039] = "INVALID_REF_FIELD", e[e.EMPTY_REF = 3040] = "EMPTY_REF", e[e.REF_REDEFINED = 3041] = "REF_REDEFINED", e[e.INVALID_DEP_CONTEXT = 3042] = "INVALID_DEP_CONTEXT", e[e.INVALID_DEP_FIELD = 3043] = "INVALID_DEP_FIELD", e[e.INVALID_NOTE_CONTEXT = 3044] = "INVALID_NOTE_CONTEXT", e[e.INVALID_NOTE = 3045] = "INVALID_NOTE", e[e.NOTE_REDEFINED = 3046] = "NOTE_REDEFINED", e[e.NOTE_CONTENT_REDEFINED = 3047] = "NOTE_CONTENT_REDEFINED", e[e.EMPTY_NOTE = 3048] = "EMPTY_NOTE", e[e.UNKNOWN_NOTE_SETTING = 3049] = "UNKNOWN_NOTE_SETTING", e[e.DUPLICATE_NOTE_SETTING = 3050] = "DUPLICATE_NOTE_SETTING", e[e.INVALID_NOTE_SETTING_VALUE = 3051] = "INVALID_NOTE_SETTING_VALUE", e[e.INVALID_INDEXES_CONTEXT = 3052] = "INVALID_INDEXES_CONTEXT", e[e.INVALID_INDEXES_FIELD = 3053] = "INVALID_INDEXES_FIELD", e[e.INVALID_INDEX = 3054] = "INVALID_INDEX", e[e.UNKNOWN_INDEX_SETTING = 3055] = "UNKNOWN_INDEX_SETTING", e[e.DUPLICATE_INDEX_SETTING = 3056] = "DUPLICATE_INDEX_SETTING", e[e.UNEXPECTED_INDEX_SETTING_VALUE = 3057] = "UNEXPECTED_INDEX_SETTING_VALUE", e[e.INVALID_INDEX_SETTING_VALUE = 3058] = "INVALID_INDEX_SETTING_VALUE", e[e.INVALID_PROJECT_CONTEXT = 3059] = "INVALID_PROJECT_CONTEXT", e[e.PROJECT_REDEFINED = 3060] = "PROJECT_REDEFINED", e[e.INVALID_PROJECT_FIELD = 3061] = "INVALID_PROJECT_FIELD", e[e.INVALID_CUSTOM_CONTEXT = 3062] = "INVALID_CUSTOM_CONTEXT", e[e.INVALID_CUSTOM_ELEMENT_VALUE = 3063] = "INVALID_CUSTOM_ELEMENT_VALUE", e[e.INVALID_ELEMENT_IN_SIMPLE_BODY = 3064] = "INVALID_ELEMENT_IN_SIMPLE_BODY", e[e.INVALID_TABLE_PARTIAL_CONTEXT = 3065] = "INVALID_TABLE_PARTIAL_CONTEXT", e[e.INVALID_TABLE_PARTIAL_ELEMENT_NAME = 3066] = "INVALID_TABLE_PARTIAL_ELEMENT_NAME", e[e.INVALID_TABLE_PARTIAL_SETTING_VALUE = 3067] = "INVALID_TABLE_PARTIAL_SETTING_VALUE", e[e.DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME = 3068] = "DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME", e[e.DUPLICATE_TABLE_PARTIAL_SETTING = 3069] = "DUPLICATE_TABLE_PARTIAL_SETTING", e[e.INVALID_TABLE_PARTIAL_INJECTION = 3070] = "INVALID_TABLE_PARTIAL_INJECTION", e[e.INVALID_TABLE_PARTIAL_INJECTION_OP = 3071] = "INVALID_TABLE_PARTIAL_INJECTION_OP", e[e.INVALID_TABLE_PARTIAL_INJECTION_NAME = 3072] = "INVALID_TABLE_PARTIAL_INJECTION_NAME", e[e.DUPLICATE_TABLE_PARTIAL_INJECTION_NAME = 3073] = "DUPLICATE_TABLE_PARTIAL_INJECTION_NAME", e[e.UNKNOWN_TABLE_PARTIAL_SETTING = 3074] = "UNKNOWN_TABLE_PARTIAL_SETTING", e[e.INVALID_TABLE_SETTING_VALUE = 3075] = "INVALID_TABLE_SETTING_VALUE", e[e.INVALID_CHECKS_CONTEXT = 3076] = "INVALID_CHECKS_CONTEXT", e[e.INVALID_CHECKS_FIELD = 3077] = "INVALID_CHECKS_FIELD", e[e.INVALID_CHECK = 3078] = "INVALID_CHECK", e[e.UNKNOWN_CHECK_SETTING = 3079] = "UNKNOWN_CHECK_SETTING", e[e.DUPLICATE_CHECK_SETTING = 3080] = "DUPLICATE_CHECK_SETTING", e[e.INVALID_CHECK_SETTING_VALUE = 3081] = "INVALID_CHECK_SETTING_VALUE", e[e.INVALID_RECORDS_CONTEXT = 3082] = "INVALID_RECORDS_CONTEXT", e[e.INVALID_RECORDS_NAME = 3083] = "INVALID_RECORDS_NAME", e[e.INVALID_RECORDS_FIELD = 3084] = "INVALID_RECORDS_FIELD", e[e.DUPLICATE_COLUMN_REFERENCES_IN_RECORDS = 3085] = "DUPLICATE_COLUMN_REFERENCES_IN_RECORDS", e[e.DUPLICATE_RECORDS_FOR_TABLE = 3086] = "DUPLICATE_RECORDS_FOR_TABLE", e[e.INVALID_USE_CONTEXT = 3087] = "INVALID_USE_CONTEXT", e[e.INVALID_USE_SPECIFIER_KIND = 3088] = "INVALID_USE_SPECIFIER_KIND", e[e.INVALID_USE_SPECIFIER_NAME = 3089] = "INVALID_USE_SPECIFIER_NAME", e[e.INVALID_DIAGRAMVIEW_CONTEXT = 3090] = "INVALID_DIAGRAMVIEW_CONTEXT", e[e.DUPLICATE_DIAGRAMVIEW_NAME = 3091] = "DUPLICATE_DIAGRAMVIEW_NAME", e[e.INVALID_DIAGRAMVIEW_FIELD = 3092] = "INVALID_DIAGRAMVIEW_FIELD", e[e.DUPLICATE_DIAGRAMVIEW_FIELD = 3093] = "DUPLICATE_DIAGRAMVIEW_FIELD", e[e.BINDING_ERROR = 4e3] = "BINDING_ERROR", e[e.NONEXISTENT_MODULE = 4001] = "NONEXISTENT_MODULE", e[e.UNSUPPORTED = 5e3] = "UNSUPPORTED", e[e.CIRCULAR_REF = 5001] = "CIRCULAR_REF", e[e.SAME_ENDPOINT = 5002] = "SAME_ENDPOINT", e[e.DEP_SELF_LOOP = 5003] = "DEP_SELF_LOOP", e[e.DEP_MIXED_DOWNSTREAM_TABLES = 5004] = "DEP_MIXED_DOWNSTREAM_TABLES", e[e.DEP_DUPLICATE_DOWNSTREAM_TABLE = 5005] = "DEP_DUPLICATE_DOWNSTREAM_TABLE", e[e.DEP_MIXED_LEVEL = 5006] = "DEP_MIXED_LEVEL", e[e.UNEQUAL_FIELDS_BINARY_REF = 5007] = "UNEQUAL_FIELDS_BINARY_REF", e[e.CONFLICTING_SETTING = 5008] = "CONFLICTING_SETTING", e[e.TABLE_REAPPEAR_IN_TABLEGROUP = 5009] = "TABLE_REAPPEAR_IN_TABLEGROUP", e;
|
|
5120
5120
|
}({}), T = class e extends Error {
|
|
5121
5121
|
constructor(t, n, r) {
|
|
5122
5122
|
super(n), this.code = t, this.diagnostic = n, this.nodeOrToken = r, this.start = r.start, this.end = r.end, this.name = this.constructor.name, Object.setPrototypeOf(this, e.prototype);
|
|
@@ -7140,7 +7140,39 @@ var Rm = class {
|
|
|
7140
7140
|
return [...this.bindFields(t), ...this.bindSubElements(n)];
|
|
7141
7141
|
}
|
|
7142
7142
|
bindFields(e) {
|
|
7143
|
-
return e.flatMap((e) =>
|
|
7143
|
+
return e.flatMap((e) => {
|
|
7144
|
+
if (!e.callee) return [];
|
|
7145
|
+
let t = [e.callee, ...e.args].flatMap(Om).flatMap((e) => [...e.variables, ...e.tupleElements].flatMap((e) => this.compiler.nodeReferee(e).getErrors())), n = this.checkEdgeLevelConsistency(e.callee);
|
|
7146
|
+
return t.concat(n);
|
|
7147
|
+
});
|
|
7148
|
+
}
|
|
7149
|
+
checkEdgeLevelConsistency(e) {
|
|
7150
|
+
if (!(e instanceof H)) return [];
|
|
7151
|
+
let t = this.endpointLevel(e.leftExpression), n = this.endpointLevel(e.rightExpression);
|
|
7152
|
+
if (t && n && t !== n) return [new T(w.DEP_MIXED_LEVEL, "Both sides of a Dep edge must be at the same level (both table-level or both column-level)", e)];
|
|
7153
|
+
if (t === "column" && n === "column") {
|
|
7154
|
+
let t = this.endpointSymbol(e.leftExpression), n = this.endpointSymbol(e.rightExpression);
|
|
7155
|
+
if (t && n && t === n) return [new T(w.DEP_SELF_LOOP, "A column cannot depend on itself", e)];
|
|
7156
|
+
}
|
|
7157
|
+
return [];
|
|
7158
|
+
}
|
|
7159
|
+
endpointSymbol(e) {
|
|
7160
|
+
if (!e) return;
|
|
7161
|
+
let n = Hf(e);
|
|
7162
|
+
if (!n) return;
|
|
7163
|
+
let r = n.variables.at(-1);
|
|
7164
|
+
if (r) return this.compiler.nodeReferee(r).getFiltered(t);
|
|
7165
|
+
}
|
|
7166
|
+
endpointLevel(e) {
|
|
7167
|
+
if (!e) return;
|
|
7168
|
+
let n = Hf(e);
|
|
7169
|
+
if (!n) return;
|
|
7170
|
+
if (n.tupleElements.length > 0) return "column";
|
|
7171
|
+
let r = n.variables.at(-1);
|
|
7172
|
+
if (!r) return;
|
|
7173
|
+
let i = this.compiler.nodeReferee(r).getFiltered(t);
|
|
7174
|
+
if (i?.isKind(I.Column)) return "column";
|
|
7175
|
+
if (i?.isKind(I.Table)) return "table";
|
|
7144
7176
|
}
|
|
7145
7177
|
bindSubElements(e) {
|
|
7146
7178
|
return e.flatMap((e) => e.type ? this.compiler.bindNode(e).getErrors() : []);
|
|
@@ -7165,23 +7197,19 @@ var Rm = class {
|
|
|
7165
7197
|
}
|
|
7166
7198
|
interpretEdges() {
|
|
7167
7199
|
let e = this.metadata.upstreamColumns(this.compiler), t = this.metadata.downstreamColumns(this.compiler), n = this.metadata.upstreamTables(this.compiler), r = this.metadata.downstreamTables(this.compiler), i = [], a = [], o = Math.max(n.length, r.length);
|
|
7168
|
-
for (let
|
|
7169
|
-
let o = n[
|
|
7170
|
-
|
|
7171
|
-
a.push(new T(w.DEP_SELF_LOOP, `Self-loop Dep edge not allowed: "${p ?? "public"}"."${d.name}" cannot depend on itself`, this.declarationNode));
|
|
7172
|
-
continue;
|
|
7173
|
-
}
|
|
7174
|
-
i.push({
|
|
7200
|
+
for (let a = 0; a < o; a++) {
|
|
7201
|
+
let o = n[a], s = r[a], c = e[a] ?? [], l = t[a] ?? [], u = o?.interpretedName(this.compiler, this.filepath), d = s?.interpretedName(this.compiler, this.filepath);
|
|
7202
|
+
u?.schema, d?.schema, i.push({
|
|
7175
7203
|
upstream: {
|
|
7176
|
-
schemaName:
|
|
7177
|
-
tableName:
|
|
7178
|
-
fieldNames:
|
|
7204
|
+
schemaName: u?.schema ?? null,
|
|
7205
|
+
tableName: u?.name ?? "",
|
|
7206
|
+
fieldNames: c.map((e) => e.name ?? ""),
|
|
7179
7207
|
token: this.dep.token
|
|
7180
7208
|
},
|
|
7181
7209
|
downstream: {
|
|
7182
|
-
schemaName:
|
|
7183
|
-
tableName:
|
|
7184
|
-
fieldNames:
|
|
7210
|
+
schemaName: d?.schema ?? null,
|
|
7211
|
+
tableName: d?.name ?? "",
|
|
7212
|
+
fieldNames: l.map((e) => e.name ?? ""),
|
|
7185
7213
|
token: this.dep.token
|
|
7186
7214
|
},
|
|
7187
7215
|
token: this.dep.token
|
|
@@ -7211,7 +7239,7 @@ var Rm = class {
|
|
|
7211
7239
|
if (e instanceof U && e.callee) {
|
|
7212
7240
|
let n = this.extractAttrValue(e.callee);
|
|
7213
7241
|
n !== void 0 && (this.dep.note = {
|
|
7214
|
-
value: String(n),
|
|
7242
|
+
value: dp(String(n)),
|
|
7215
7243
|
token: F(t)
|
|
7216
7244
|
});
|
|
7217
7245
|
}
|
|
@@ -7225,7 +7253,7 @@ var Rm = class {
|
|
|
7225
7253
|
}
|
|
7226
7254
|
let o = this.extractAttrValue(a.callee);
|
|
7227
7255
|
o !== void 0 && (t.isKind(r.Note) ? this.dep.note = {
|
|
7228
|
-
value: String(o),
|
|
7256
|
+
value: dp(String(o)),
|
|
7229
7257
|
token: F(t)
|
|
7230
7258
|
} : e[n] = o);
|
|
7231
7259
|
}
|
|
@@ -7246,7 +7274,7 @@ var Rm = class {
|
|
|
7246
7274
|
}
|
|
7247
7275
|
let a = this.extractAttrValue(n.value);
|
|
7248
7276
|
a !== void 0 && (e === i.Note ? this.dep.note = {
|
|
7249
|
-
value: String(a),
|
|
7277
|
+
value: dp(String(a)),
|
|
7250
7278
|
token: F(n)
|
|
7251
7279
|
} : t[e] = a);
|
|
7252
7280
|
}
|
|
@@ -7305,8 +7333,8 @@ function Hm(e, r, i) {
|
|
|
7305
7333
|
if (o.rightExpression === i) {
|
|
7306
7334
|
let r = km(e, i);
|
|
7307
7335
|
if (r?.isKind(I.Schema)) {
|
|
7308
|
-
let t = e.lookupMembers(r,
|
|
7309
|
-
return t ? n.create(t) : new n(void 0, [new T(w.BINDING_ERROR, `Table
|
|
7336
|
+
let t = e.lookupMembers(r, I.Table, a);
|
|
7337
|
+
return t ? n.create(t) : new n(void 0, [new T(w.BINDING_ERROR, `Table '${a}' does not exist in Schema '${r.name}'`, i)]);
|
|
7310
7338
|
}
|
|
7311
7339
|
if (r?.isKind(I.Table)) {
|
|
7312
7340
|
let o = e.lookupMembers(r, I.Column, a);
|
|
@@ -8183,21 +8211,13 @@ function Ph(e, t, n, r) {
|
|
|
8183
8211
|
function Fh(e) {
|
|
8184
8212
|
return e instanceof cm && e.declaration instanceof z && e.declaration.body instanceof W;
|
|
8185
8213
|
}
|
|
8186
|
-
function Ih(e, t
|
|
8187
|
-
let
|
|
8188
|
-
if (
|
|
8189
|
-
|
|
8190
|
-
|
|
8191
|
-
|
|
8192
|
-
|
|
8193
|
-
if (i !== e) return [new T(w.DEP_MIXED_DOWNSTREAM_TABLES, `All edges in a Dep block must target the same downstream table, but found '${e}' and '${i}'`, t.declaration)];
|
|
8194
|
-
}
|
|
8195
|
-
if (n.has(e)) return [new T(w.DEP_DUPLICATE_DOWNSTREAM_TABLE, `Downstream table '${e}' is already targeted by another Dep block`, t.declaration)];
|
|
8196
|
-
n.set(e, !0);
|
|
8197
|
-
} else for (let e of r) {
|
|
8198
|
-
let r = uh(e.downstream.schemaName, e.downstream.tableName);
|
|
8199
|
-
if (n.get(r) === !0) return [new T(w.DEP_DUPLICATE_DOWNSTREAM_TABLE, `Downstream table '${r}' is already targeted by a Dep block`, t.declaration)];
|
|
8200
|
-
n.has(r) || n.set(r, !1);
|
|
8214
|
+
function Ih(e, t) {
|
|
8215
|
+
let n = e.edges ?? [];
|
|
8216
|
+
if (n.length === 0 || !Fh(t)) return [];
|
|
8217
|
+
let r = uh(n[0].downstream.schemaName, n[0].downstream.tableName);
|
|
8218
|
+
for (let e = 1; e < n.length; e++) {
|
|
8219
|
+
let i = uh(n[e].downstream.schemaName, n[e].downstream.tableName);
|
|
8220
|
+
if (i !== r) return [new T(w.DEP_MIXED_DOWNSTREAM_TABLES, `All edges in a Dep block must target the same downstream table, but found '${r}' and '${i}'`, t.declaration)];
|
|
8201
8221
|
}
|
|
8202
8222
|
return [];
|
|
8203
8223
|
}
|
|
@@ -8279,25 +8299,25 @@ var Lh = class {
|
|
|
8279
8299
|
ch(this.db, e, o);
|
|
8280
8300
|
}
|
|
8281
8301
|
interpretAllMetadata() {
|
|
8282
|
-
let e = this.compiler.symbolMetadata(this.programSymbol) ?? [], n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Map()
|
|
8302
|
+
let e = this.compiler.symbolMetadata(this.programSymbol) ?? [], n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Map();
|
|
8283
8303
|
for (let t of e) {
|
|
8284
8304
|
if (!(t instanceof fm)) continue;
|
|
8285
8305
|
let e = t.table(this.compiler);
|
|
8286
8306
|
if (!e) continue;
|
|
8287
|
-
let n = e.originalSymbol.intern(), r =
|
|
8288
|
-
r ? r.count++ :
|
|
8307
|
+
let n = e.originalSymbol.intern(), r = i.get(n);
|
|
8308
|
+
r ? r.count++ : i.set(n, {
|
|
8289
8309
|
count: 1,
|
|
8290
8310
|
tableName: e.name ?? ""
|
|
8291
8311
|
});
|
|
8292
8312
|
}
|
|
8293
|
-
for (let
|
|
8294
|
-
let e = this.compiler.interpretMetadata(
|
|
8313
|
+
for (let a of e) {
|
|
8314
|
+
let e = this.compiler.interpretMetadata(a, this.filepath);
|
|
8295
8315
|
if (e.hasValue(t)) continue;
|
|
8296
8316
|
this.errors.push(...e.getErrors()), this.warnings.push(...e.getWarnings());
|
|
8297
|
-
let
|
|
8298
|
-
if (
|
|
8317
|
+
let o = e.getValue();
|
|
8318
|
+
if (o !== void 0) switch (a.kind) {
|
|
8299
8319
|
case am.Ref: {
|
|
8300
|
-
let e =
|
|
8320
|
+
let e = o, [t, r] = e.endpoints ?? [];
|
|
8301
8321
|
if (t && r) {
|
|
8302
8322
|
let e = [
|
|
8303
8323
|
t.schemaName,
|
|
@@ -8315,7 +8335,7 @@ var Lh = class {
|
|
|
8315
8335
|
t.fieldNames.join(",")
|
|
8316
8336
|
].join("|");
|
|
8317
8337
|
if (n.has(e) || n.has(i)) {
|
|
8318
|
-
this.errors.push(new T(w.SAME_ENDPOINT, "Ref with same endpoints already exists",
|
|
8338
|
+
this.errors.push(new T(w.SAME_ENDPOINT, "Ref with same endpoints already exists", a.declaration));
|
|
8319
8339
|
break;
|
|
8320
8340
|
}
|
|
8321
8341
|
n.add(e);
|
|
@@ -8324,7 +8344,7 @@ var Lh = class {
|
|
|
8324
8344
|
break;
|
|
8325
8345
|
}
|
|
8326
8346
|
case am.Dep: {
|
|
8327
|
-
let e =
|
|
8347
|
+
let e = o, t = a instanceof cm ? a.edgeExpressions() : [], n = -1;
|
|
8328
8348
|
if ((e.edges ?? []).some((e, t) => {
|
|
8329
8349
|
let { upstream: i, downstream: a } = e, o = [
|
|
8330
8350
|
i.schemaName,
|
|
@@ -8336,30 +8356,30 @@ var Lh = class {
|
|
|
8336
8356
|
].join("|");
|
|
8337
8357
|
return r.has(o) ? (n = t, !0) : (r.add(o), !1);
|
|
8338
8358
|
}), n >= 0) {
|
|
8339
|
-
let e = t[n] ??
|
|
8359
|
+
let e = t[n] ?? a.declaration;
|
|
8340
8360
|
this.errors.push(new T(w.SAME_ENDPOINT, "Dep with same endpoints already exists", e));
|
|
8341
8361
|
break;
|
|
8342
8362
|
}
|
|
8343
|
-
let
|
|
8344
|
-
if (
|
|
8345
|
-
this.errors.push(...
|
|
8363
|
+
let i = Ih(e, a);
|
|
8364
|
+
if (i.length > 0) {
|
|
8365
|
+
this.errors.push(...i);
|
|
8346
8366
|
break;
|
|
8347
8367
|
}
|
|
8348
8368
|
this.db.deps.push(e);
|
|
8349
8369
|
break;
|
|
8350
8370
|
}
|
|
8351
8371
|
case am.Records:
|
|
8352
|
-
if (
|
|
8353
|
-
let e =
|
|
8372
|
+
if (a instanceof fm) {
|
|
8373
|
+
let e = a.table(this.compiler)?.originalSymbol.intern() ?? "", t = e ? i.get(e) : void 0;
|
|
8354
8374
|
if (t && t.count > 1) {
|
|
8355
|
-
this.errors.push(new T(w.DUPLICATE_RECORDS_FOR_TABLE, `Duplicate Records blocks for the same Table '${t.tableName}' - A Table can only have one Records block`,
|
|
8375
|
+
this.errors.push(new T(w.DUPLICATE_RECORDS_FOR_TABLE, `Duplicate Records blocks for the same Table '${t.tableName}' - A Table can only have one Records block`, a.declaration));
|
|
8356
8376
|
break;
|
|
8357
8377
|
}
|
|
8358
8378
|
}
|
|
8359
|
-
this.db.records.push(
|
|
8379
|
+
this.db.records.push(o);
|
|
8360
8380
|
break;
|
|
8361
8381
|
case am.Project:
|
|
8362
|
-
this.db.project =
|
|
8382
|
+
this.db.project = o;
|
|
8363
8383
|
break;
|
|
8364
8384
|
default: break;
|
|
8365
8385
|
}
|
|
@@ -11399,7 +11419,11 @@ var P_ = {
|
|
|
11399
11419
|
D(e.value) || n.push(new T(w.INVALID_TABLE_SETTING_VALUE, "'note' must be a string literal", e.value || e.name));
|
|
11400
11420
|
});
|
|
11401
11421
|
break;
|
|
11402
|
-
case i.Dep:
|
|
11422
|
+
case i.Dep:
|
|
11423
|
+
e.forEach((e) => {
|
|
11424
|
+
vf(e.value) || n.push(new T(w.INVALID_TABLE_SETTING_VALUE, "'dep' must be `-> target` or `<- source`", e.value || e.name));
|
|
11425
|
+
});
|
|
11426
|
+
break;
|
|
11403
11427
|
default: n.push(...e.map((e) => new T(w.UNKNOWN_TABLE_SETTING, `Unknown '${t}' setting`, e)));
|
|
11404
11428
|
}
|
|
11405
11429
|
}), n;
|
|
@@ -11521,6 +11545,11 @@ function I_(e) {
|
|
|
11521
11545
|
D(e.value) || r.push(new T(w.INVALID_TABLE_SETTING_VALUE, "'note' must be a string literal", e.value || e.name));
|
|
11522
11546
|
});
|
|
11523
11547
|
break;
|
|
11548
|
+
case i.Dep:
|
|
11549
|
+
e.forEach((e) => {
|
|
11550
|
+
vf(e.value) || r.push(new T(w.INVALID_TABLE_SETTING_VALUE, "'dep' must be `-> target` or `<- source`", e.value || e.name));
|
|
11551
|
+
});
|
|
11552
|
+
break;
|
|
11524
11553
|
default: r.push(...e.map((e) => new T(w.UNKNOWN_TABLE_SETTING, `Unknown '${t}' setting`, e)));
|
|
11525
11554
|
}
|
|
11526
11555
|
}), new n(a, r);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { CompileError } from '../../../types/errors';
|
|
2
2
|
import { Dep } from '../../../types/schemaJson';
|
|
3
3
|
import { NodeMetadata } from '../../../types/symbol/metadata';
|
|
4
|
-
export declare function validateDepBlocks(dep: Dep, meta: NodeMetadata
|
|
4
|
+
export declare function validateDepBlocks(dep: Dep, meta: NodeMetadata): CompileError[];
|
|
@@ -116,9 +116,10 @@ export declare enum CompileErrorCode {
|
|
|
116
116
|
DEP_SELF_LOOP = 5003,
|
|
117
117
|
DEP_MIXED_DOWNSTREAM_TABLES = 5004,
|
|
118
118
|
DEP_DUPLICATE_DOWNSTREAM_TABLE = 5005,
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
119
|
+
DEP_MIXED_LEVEL = 5006,
|
|
120
|
+
UNEQUAL_FIELDS_BINARY_REF = 5007,
|
|
121
|
+
CONFLICTING_SETTING = 5008,
|
|
122
|
+
TABLE_REAPPEAR_IN_TABLEGROUP = 5009
|
|
122
123
|
}
|
|
123
124
|
export declare class CompileError extends Error {
|
|
124
125
|
code: Readonly<CompileErrorCode>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package",
|
|
3
3
|
"name": "@dbml/parse",
|
|
4
|
-
"version": "9.0.0-alpha.
|
|
4
|
+
"version": "9.0.0-alpha.18",
|
|
5
5
|
"description": "DBML parser v2",
|
|
6
6
|
"author": "Holistics <dev@holistics.io>",
|
|
7
7
|
"license": "Apache-2.0",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"engines": {
|
|
51
51
|
"node": ">=18"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "5493de9a94839386e613644abbc062ef94728dbe"
|
|
54
54
|
}
|