@dbml/parse 8.2.5 → 8.3.0-alpha.0

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.
@@ -1267,9 +1267,9 @@ const KEYWORDS_OF_DEFAULT_SETTING = [
1267
1267
  "null",
1268
1268
  "true",
1269
1269
  "false"
1270
- ], NUMERIC_LITERAL_PREFIX = ["-", "+"], DEFAULT_SCHEMA_NAME = "public", DEFAULT_ENTRY = Filepath.from("/main.dbml");
1270
+ ], NONE_COLOR = "none", NUMERIC_LITERAL_PREFIX = ["-", "+"], DEFAULT_SCHEMA_NAME = "public", DEFAULT_ENTRY = Filepath.from("/main.dbml");
1271
1271
  let CompileErrorCode = /* @__PURE__ */ function(r) {
1272
- return r[r.UNKNOWN_SYMBOL = 1e3] = "UNKNOWN_SYMBOL", r[r.UNEXPECTED_SYMBOL = 1001] = "UNEXPECTED_SYMBOL", r[r.UNEXPECTED_EOF = 1002] = "UNEXPECTED_EOF", r[r.UNEXPECTED_NEWLINE = 1003] = "UNEXPECTED_NEWLINE", r[r.UNKNOWN_TOKEN = 1004] = "UNKNOWN_TOKEN", r[r.UNEXPECTED_TOKEN = 1005] = "UNEXPECTED_TOKEN", r[r.UNEXPECTED_ELEMENT_DECLARATION = 1006] = "UNEXPECTED_ELEMENT_DECLARATION", r[r.MISSING_SPACES = 1007] = "MISSING_SPACES", r[r.UNKNOWN_PREFIX_OP = 1008] = "UNKNOWN_PREFIX_OP", r[r.INVALID_OPERAND = 1009] = "INVALID_OPERAND", r[r.EMPTY_ATTRIBUTE_NAME = 1010] = "EMPTY_ATTRIBUTE_NAME", r[r.INVALID_ESCAPE_SEQUENCE = 1011] = "INVALID_ESCAPE_SEQUENCE", r[r.INVALID_NAME = 3e3] = "INVALID_NAME", r[r.UNEXPECTED_NAME = 3001] = "UNEXPECTED_NAME", r[r.NAME_NOT_FOUND = 3002] = "NAME_NOT_FOUND", r[r.DUPLICATE_NAME = 3003] = "DUPLICATE_NAME", r[r.INVALID_ALIAS = 3004] = "INVALID_ALIAS", r[r.UNEXPECTED_ALIAS = 3005] = "UNEXPECTED_ALIAS", r[r.UNEXPECTED_SETTINGS = 3006] = "UNEXPECTED_SETTINGS", r[r.INVALID_SETTINGS = 3007] = "INVALID_SETTINGS", r[r.UNEXPECTED_SIMPLE_BODY = 3008] = "UNEXPECTED_SIMPLE_BODY", r[r.UNEXPECTED_COMPLEX_BODY = 3009] = "UNEXPECTED_COMPLEX_BODY", r[r.INVALID_TABLE_CONTEXT = 3010] = "INVALID_TABLE_CONTEXT", r[r.UNKNOWN_TABLE_SETTING = 3011] = "UNKNOWN_TABLE_SETTING", r[r.DUPLICATE_TABLE_SETTING = 3012] = "DUPLICATE_TABLE_SETTING", r[r.INVALID_TABLEGROUP_CONTEXT = 3013] = "INVALID_TABLEGROUP_CONTEXT", r[r.INVALID_TABLEGROUP_ELEMENT_NAME = 3014] = "INVALID_TABLEGROUP_ELEMENT_NAME", r[r.DUPLICATE_TABLEGROUP_ELEMENT_NAME = 3015] = "DUPLICATE_TABLEGROUP_ELEMENT_NAME", r[r.DUPLICATE_TABLEGROUP_FIELD_NAME = 3016] = "DUPLICATE_TABLEGROUP_FIELD_NAME", r[r.INVALID_TABLEGROUP_FIELD = 3017] = "INVALID_TABLEGROUP_FIELD", r[r.EMPTY_TABLE = 3018] = "EMPTY_TABLE", r[r.INVALID_COLUMN = 3019] = "INVALID_COLUMN", r[r.INVALID_COLUMN_NAME = 3020] = "INVALID_COLUMN_NAME", r[r.UNKNOWN_COLUMN_SETTING = 3021] = "UNKNOWN_COLUMN_SETTING", r[r.INVALID_COLUMN_TYPE = 3022] = "INVALID_COLUMN_TYPE", r[r.DUPLICATE_COLUMN_NAME = 3023] = "DUPLICATE_COLUMN_NAME", r[r.DUPLICATE_COLUMN_SETTING = 3024] = "DUPLICATE_COLUMN_SETTING", r[r.INVALID_COLUMN_SETTING_VALUE = 3025] = "INVALID_COLUMN_SETTING_VALUE", r[r.INVALID_ENUM_CONTEXT = 3026] = "INVALID_ENUM_CONTEXT", r[r.INVALID_ENUM_ELEMENT_NAME = 3027] = "INVALID_ENUM_ELEMENT_NAME", r[r.INVALID_ENUM_ELEMENT = 3028] = "INVALID_ENUM_ELEMENT", r[r.DUPLICATE_ENUM_ELEMENT_NAME = 3029] = "DUPLICATE_ENUM_ELEMENT_NAME", r[r.UNKNOWN_ENUM_ELEMENT_SETTING = 3030] = "UNKNOWN_ENUM_ELEMENT_SETTING", r[r.DUPLICATE_ENUM_ELEMENT_SETTING = 3031] = "DUPLICATE_ENUM_ELEMENT_SETTING", r[r.INVALID_ENUM_ELEMENT_SETTING = 3032] = "INVALID_ENUM_ELEMENT_SETTING", r[r.EMPTY_ENUM = 3033] = "EMPTY_ENUM", r[r.INVALID_REF_CONTEXT = 3034] = "INVALID_REF_CONTEXT", r[r.UNKNOWN_REF_SETTING = 3035] = "UNKNOWN_REF_SETTING", r[r.DUPLICATE_REF_SETTING = 3036] = "DUPLICATE_REF_SETTING", r[r.INVALID_REF_SETTING_VALUE = 3037] = "INVALID_REF_SETTING_VALUE", r[r.INVALID_REF_RELATIONSHIP = 3038] = "INVALID_REF_RELATIONSHIP", r[r.INVALID_REF_FIELD = 3039] = "INVALID_REF_FIELD", r[r.EMPTY_REF = 3040] = "EMPTY_REF", r[r.REF_REDEFINED = 3041] = "REF_REDEFINED", r[r.INVALID_NOTE_CONTEXT = 3042] = "INVALID_NOTE_CONTEXT", r[r.INVALID_NOTE = 3043] = "INVALID_NOTE", r[r.NOTE_REDEFINED = 3044] = "NOTE_REDEFINED", r[r.NOTE_CONTENT_REDEFINED = 3045] = "NOTE_CONTENT_REDEFINED", r[r.EMPTY_NOTE = 3046] = "EMPTY_NOTE", r[r.INVALID_INDEXES_CONTEXT = 3047] = "INVALID_INDEXES_CONTEXT", r[r.INVALID_INDEXES_FIELD = 3048] = "INVALID_INDEXES_FIELD", r[r.INVALID_INDEX = 3049] = "INVALID_INDEX", r[r.UNKNOWN_INDEX_SETTING = 3050] = "UNKNOWN_INDEX_SETTING", r[r.DUPLICATE_INDEX_SETTING = 3051] = "DUPLICATE_INDEX_SETTING", r[r.UNEXPECTED_INDEX_SETTING_VALUE = 3052] = "UNEXPECTED_INDEX_SETTING_VALUE", r[r.INVALID_INDEX_SETTING_VALUE = 3053] = "INVALID_INDEX_SETTING_VALUE", r[r.INVALID_PROJECT_CONTEXT = 3054] = "INVALID_PROJECT_CONTEXT", r[r.PROJECT_REDEFINED = 3055] = "PROJECT_REDEFINED", r[r.INVALID_PROJECT_FIELD = 3056] = "INVALID_PROJECT_FIELD", r[r.INVALID_CUSTOM_CONTEXT = 3057] = "INVALID_CUSTOM_CONTEXT", r[r.INVALID_CUSTOM_ELEMENT_VALUE = 3058] = "INVALID_CUSTOM_ELEMENT_VALUE", r[r.INVALID_ELEMENT_IN_SIMPLE_BODY = 3059] = "INVALID_ELEMENT_IN_SIMPLE_BODY", r[r.INVALID_TABLE_PARTIAL_CONTEXT = 3060] = "INVALID_TABLE_PARTIAL_CONTEXT", r[r.INVALID_TABLE_PARTIAL_ELEMENT_NAME = 3061] = "INVALID_TABLE_PARTIAL_ELEMENT_NAME", r[r.INVALID_TABLE_PARTIAL_SETTING_VALUE = 3062] = "INVALID_TABLE_PARTIAL_SETTING_VALUE", r[r.DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME = 3063] = "DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME", r[r.DUPLICATE_TABLE_PARTIAL_SETTING = 3064] = "DUPLICATE_TABLE_PARTIAL_SETTING", r[r.INVALID_TABLE_PARTIAL_INJECTION = 3065] = "INVALID_TABLE_PARTIAL_INJECTION", r[r.INVALID_TABLE_PARTIAL_INJECTION_OP = 3066] = "INVALID_TABLE_PARTIAL_INJECTION_OP", r[r.INVALID_TABLE_PARTIAL_INJECTION_NAME = 3067] = "INVALID_TABLE_PARTIAL_INJECTION_NAME", r[r.DUPLICATE_TABLE_PARTIAL_INJECTION_NAME = 3068] = "DUPLICATE_TABLE_PARTIAL_INJECTION_NAME", r[r.UNKNOWN_TABLE_PARTIAL_SETTING = 3069] = "UNKNOWN_TABLE_PARTIAL_SETTING", r[r.INVALID_TABLE_SETTING_VALUE = 3070] = "INVALID_TABLE_SETTING_VALUE", r[r.INVALID_CHECKS_CONTEXT = 3071] = "INVALID_CHECKS_CONTEXT", r[r.INVALID_CHECKS_FIELD = 3072] = "INVALID_CHECKS_FIELD", r[r.INVALID_CHECK = 3073] = "INVALID_CHECK", r[r.UNKNOWN_CHECK_SETTING = 3074] = "UNKNOWN_CHECK_SETTING", r[r.DUPLICATE_CHECK_SETTING = 3075] = "DUPLICATE_CHECK_SETTING", r[r.INVALID_CHECK_SETTING_VALUE = 3076] = "INVALID_CHECK_SETTING_VALUE", r[r.INVALID_RECORDS_CONTEXT = 3077] = "INVALID_RECORDS_CONTEXT", r[r.INVALID_RECORDS_NAME = 3078] = "INVALID_RECORDS_NAME", r[r.INVALID_RECORDS_FIELD = 3079] = "INVALID_RECORDS_FIELD", r[r.DUPLICATE_COLUMN_REFERENCES_IN_RECORDS = 3080] = "DUPLICATE_COLUMN_REFERENCES_IN_RECORDS", r[r.DUPLICATE_RECORDS_FOR_TABLE = 3081] = "DUPLICATE_RECORDS_FOR_TABLE", r[r.INVALID_USE_CONTEXT = 3082] = "INVALID_USE_CONTEXT", r[r.INVALID_USE_SPECIFIER_KIND = 3083] = "INVALID_USE_SPECIFIER_KIND", r[r.INVALID_USE_SPECIFIER_NAME = 3084] = "INVALID_USE_SPECIFIER_NAME", r[r.INVALID_DIAGRAMVIEW_CONTEXT = 3085] = "INVALID_DIAGRAMVIEW_CONTEXT", r[r.DUPLICATE_DIAGRAMVIEW_NAME = 3086] = "DUPLICATE_DIAGRAMVIEW_NAME", r[r.INVALID_DIAGRAMVIEW_FIELD = 3087] = "INVALID_DIAGRAMVIEW_FIELD", r[r.DUPLICATE_DIAGRAMVIEW_FIELD = 3088] = "DUPLICATE_DIAGRAMVIEW_FIELD", r[r.BINDING_ERROR = 4e3] = "BINDING_ERROR", r[r.NONEXISTENT_MODULE = 4001] = "NONEXISTENT_MODULE", r[r.UNSUPPORTED = 5e3] = "UNSUPPORTED", r[r.CIRCULAR_REF = 5001] = "CIRCULAR_REF", r[r.SAME_ENDPOINT = 5002] = "SAME_ENDPOINT", r[r.UNEQUAL_FIELDS_BINARY_REF = 5003] = "UNEQUAL_FIELDS_BINARY_REF", r[r.CONFLICTING_SETTING = 5004] = "CONFLICTING_SETTING", r[r.TABLE_REAPPEAR_IN_TABLEGROUP = 5005] = "TABLE_REAPPEAR_IN_TABLEGROUP", r;
1272
+ return r[r.UNKNOWN_SYMBOL = 1e3] = "UNKNOWN_SYMBOL", r[r.UNEXPECTED_SYMBOL = 1001] = "UNEXPECTED_SYMBOL", r[r.UNEXPECTED_EOF = 1002] = "UNEXPECTED_EOF", r[r.UNEXPECTED_NEWLINE = 1003] = "UNEXPECTED_NEWLINE", r[r.UNKNOWN_TOKEN = 1004] = "UNKNOWN_TOKEN", r[r.UNEXPECTED_TOKEN = 1005] = "UNEXPECTED_TOKEN", r[r.UNEXPECTED_ELEMENT_DECLARATION = 1006] = "UNEXPECTED_ELEMENT_DECLARATION", r[r.MISSING_SPACES = 1007] = "MISSING_SPACES", r[r.UNKNOWN_PREFIX_OP = 1008] = "UNKNOWN_PREFIX_OP", r[r.INVALID_OPERAND = 1009] = "INVALID_OPERAND", r[r.EMPTY_ATTRIBUTE_NAME = 1010] = "EMPTY_ATTRIBUTE_NAME", r[r.INVALID_ESCAPE_SEQUENCE = 1011] = "INVALID_ESCAPE_SEQUENCE", r[r.INVALID_NAME = 3e3] = "INVALID_NAME", r[r.UNEXPECTED_NAME = 3001] = "UNEXPECTED_NAME", r[r.NAME_NOT_FOUND = 3002] = "NAME_NOT_FOUND", r[r.DUPLICATE_NAME = 3003] = "DUPLICATE_NAME", r[r.INVALID_ALIAS = 3004] = "INVALID_ALIAS", r[r.UNEXPECTED_ALIAS = 3005] = "UNEXPECTED_ALIAS", r[r.UNEXPECTED_SETTINGS = 3006] = "UNEXPECTED_SETTINGS", r[r.INVALID_SETTINGS = 3007] = "INVALID_SETTINGS", r[r.UNEXPECTED_SIMPLE_BODY = 3008] = "UNEXPECTED_SIMPLE_BODY", r[r.UNEXPECTED_COMPLEX_BODY = 3009] = "UNEXPECTED_COMPLEX_BODY", r[r.INVALID_TABLE_CONTEXT = 3010] = "INVALID_TABLE_CONTEXT", r[r.UNKNOWN_TABLE_SETTING = 3011] = "UNKNOWN_TABLE_SETTING", r[r.DUPLICATE_TABLE_SETTING = 3012] = "DUPLICATE_TABLE_SETTING", r[r.INVALID_TABLEGROUP_CONTEXT = 3013] = "INVALID_TABLEGROUP_CONTEXT", r[r.INVALID_TABLEGROUP_ELEMENT_NAME = 3014] = "INVALID_TABLEGROUP_ELEMENT_NAME", r[r.DUPLICATE_TABLEGROUP_ELEMENT_NAME = 3015] = "DUPLICATE_TABLEGROUP_ELEMENT_NAME", r[r.DUPLICATE_TABLEGROUP_FIELD_NAME = 3016] = "DUPLICATE_TABLEGROUP_FIELD_NAME", r[r.INVALID_TABLEGROUP_FIELD = 3017] = "INVALID_TABLEGROUP_FIELD", r[r.EMPTY_TABLE = 3018] = "EMPTY_TABLE", r[r.INVALID_COLUMN = 3019] = "INVALID_COLUMN", r[r.INVALID_COLUMN_NAME = 3020] = "INVALID_COLUMN_NAME", r[r.UNKNOWN_COLUMN_SETTING = 3021] = "UNKNOWN_COLUMN_SETTING", r[r.INVALID_COLUMN_TYPE = 3022] = "INVALID_COLUMN_TYPE", r[r.DUPLICATE_COLUMN_NAME = 3023] = "DUPLICATE_COLUMN_NAME", r[r.DUPLICATE_COLUMN_SETTING = 3024] = "DUPLICATE_COLUMN_SETTING", r[r.INVALID_COLUMN_SETTING_VALUE = 3025] = "INVALID_COLUMN_SETTING_VALUE", r[r.INVALID_ENUM_CONTEXT = 3026] = "INVALID_ENUM_CONTEXT", r[r.INVALID_ENUM_ELEMENT_NAME = 3027] = "INVALID_ENUM_ELEMENT_NAME", r[r.INVALID_ENUM_ELEMENT = 3028] = "INVALID_ENUM_ELEMENT", r[r.DUPLICATE_ENUM_ELEMENT_NAME = 3029] = "DUPLICATE_ENUM_ELEMENT_NAME", r[r.UNKNOWN_ENUM_ELEMENT_SETTING = 3030] = "UNKNOWN_ENUM_ELEMENT_SETTING", r[r.DUPLICATE_ENUM_ELEMENT_SETTING = 3031] = "DUPLICATE_ENUM_ELEMENT_SETTING", r[r.INVALID_ENUM_ELEMENT_SETTING = 3032] = "INVALID_ENUM_ELEMENT_SETTING", r[r.EMPTY_ENUM = 3033] = "EMPTY_ENUM", r[r.INVALID_REF_CONTEXT = 3034] = "INVALID_REF_CONTEXT", r[r.UNKNOWN_REF_SETTING = 3035] = "UNKNOWN_REF_SETTING", r[r.DUPLICATE_REF_SETTING = 3036] = "DUPLICATE_REF_SETTING", r[r.INVALID_REF_SETTING_VALUE = 3037] = "INVALID_REF_SETTING_VALUE", r[r.INVALID_REF_RELATIONSHIP = 3038] = "INVALID_REF_RELATIONSHIP", r[r.INVALID_REF_FIELD = 3039] = "INVALID_REF_FIELD", r[r.EMPTY_REF = 3040] = "EMPTY_REF", r[r.REF_REDEFINED = 3041] = "REF_REDEFINED", r[r.INVALID_NOTE_CONTEXT = 3042] = "INVALID_NOTE_CONTEXT", r[r.INVALID_NOTE = 3043] = "INVALID_NOTE", r[r.NOTE_REDEFINED = 3044] = "NOTE_REDEFINED", r[r.NOTE_CONTENT_REDEFINED = 3045] = "NOTE_CONTENT_REDEFINED", r[r.EMPTY_NOTE = 3046] = "EMPTY_NOTE", r[r.UNKNOWN_NOTE_SETTING = 3047] = "UNKNOWN_NOTE_SETTING", r[r.DUPLICATE_NOTE_SETTING = 3048] = "DUPLICATE_NOTE_SETTING", r[r.INVALID_NOTE_SETTING_VALUE = 3049] = "INVALID_NOTE_SETTING_VALUE", r[r.INVALID_INDEXES_CONTEXT = 3050] = "INVALID_INDEXES_CONTEXT", r[r.INVALID_INDEXES_FIELD = 3051] = "INVALID_INDEXES_FIELD", r[r.INVALID_INDEX = 3052] = "INVALID_INDEX", r[r.UNKNOWN_INDEX_SETTING = 3053] = "UNKNOWN_INDEX_SETTING", r[r.DUPLICATE_INDEX_SETTING = 3054] = "DUPLICATE_INDEX_SETTING", r[r.UNEXPECTED_INDEX_SETTING_VALUE = 3055] = "UNEXPECTED_INDEX_SETTING_VALUE", r[r.INVALID_INDEX_SETTING_VALUE = 3056] = "INVALID_INDEX_SETTING_VALUE", r[r.INVALID_PROJECT_CONTEXT = 3057] = "INVALID_PROJECT_CONTEXT", r[r.PROJECT_REDEFINED = 3058] = "PROJECT_REDEFINED", r[r.INVALID_PROJECT_FIELD = 3059] = "INVALID_PROJECT_FIELD", r[r.INVALID_CUSTOM_CONTEXT = 3060] = "INVALID_CUSTOM_CONTEXT", r[r.INVALID_CUSTOM_ELEMENT_VALUE = 3061] = "INVALID_CUSTOM_ELEMENT_VALUE", r[r.INVALID_ELEMENT_IN_SIMPLE_BODY = 3062] = "INVALID_ELEMENT_IN_SIMPLE_BODY", r[r.INVALID_TABLE_PARTIAL_CONTEXT = 3063] = "INVALID_TABLE_PARTIAL_CONTEXT", r[r.INVALID_TABLE_PARTIAL_ELEMENT_NAME = 3064] = "INVALID_TABLE_PARTIAL_ELEMENT_NAME", r[r.INVALID_TABLE_PARTIAL_SETTING_VALUE = 3065] = "INVALID_TABLE_PARTIAL_SETTING_VALUE", r[r.DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME = 3066] = "DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME", r[r.DUPLICATE_TABLE_PARTIAL_SETTING = 3067] = "DUPLICATE_TABLE_PARTIAL_SETTING", r[r.INVALID_TABLE_PARTIAL_INJECTION = 3068] = "INVALID_TABLE_PARTIAL_INJECTION", r[r.INVALID_TABLE_PARTIAL_INJECTION_OP = 3069] = "INVALID_TABLE_PARTIAL_INJECTION_OP", r[r.INVALID_TABLE_PARTIAL_INJECTION_NAME = 3070] = "INVALID_TABLE_PARTIAL_INJECTION_NAME", r[r.DUPLICATE_TABLE_PARTIAL_INJECTION_NAME = 3071] = "DUPLICATE_TABLE_PARTIAL_INJECTION_NAME", r[r.UNKNOWN_TABLE_PARTIAL_SETTING = 3072] = "UNKNOWN_TABLE_PARTIAL_SETTING", r[r.INVALID_TABLE_SETTING_VALUE = 3073] = "INVALID_TABLE_SETTING_VALUE", r[r.INVALID_CHECKS_CONTEXT = 3074] = "INVALID_CHECKS_CONTEXT", r[r.INVALID_CHECKS_FIELD = 3075] = "INVALID_CHECKS_FIELD", r[r.INVALID_CHECK = 3076] = "INVALID_CHECK", r[r.UNKNOWN_CHECK_SETTING = 3077] = "UNKNOWN_CHECK_SETTING", r[r.DUPLICATE_CHECK_SETTING = 3078] = "DUPLICATE_CHECK_SETTING", r[r.INVALID_CHECK_SETTING_VALUE = 3079] = "INVALID_CHECK_SETTING_VALUE", r[r.INVALID_RECORDS_CONTEXT = 3080] = "INVALID_RECORDS_CONTEXT", r[r.INVALID_RECORDS_NAME = 3081] = "INVALID_RECORDS_NAME", r[r.INVALID_RECORDS_FIELD = 3082] = "INVALID_RECORDS_FIELD", r[r.DUPLICATE_COLUMN_REFERENCES_IN_RECORDS = 3083] = "DUPLICATE_COLUMN_REFERENCES_IN_RECORDS", r[r.DUPLICATE_RECORDS_FOR_TABLE = 3084] = "DUPLICATE_RECORDS_FOR_TABLE", r[r.INVALID_USE_CONTEXT = 3085] = "INVALID_USE_CONTEXT", r[r.INVALID_USE_SPECIFIER_KIND = 3086] = "INVALID_USE_SPECIFIER_KIND", r[r.INVALID_USE_SPECIFIER_NAME = 3087] = "INVALID_USE_SPECIFIER_NAME", r[r.INVALID_DIAGRAMVIEW_CONTEXT = 3088] = "INVALID_DIAGRAMVIEW_CONTEXT", r[r.DUPLICATE_DIAGRAMVIEW_NAME = 3089] = "DUPLICATE_DIAGRAMVIEW_NAME", r[r.INVALID_DIAGRAMVIEW_FIELD = 3090] = "INVALID_DIAGRAMVIEW_FIELD", r[r.DUPLICATE_DIAGRAMVIEW_FIELD = 3091] = "DUPLICATE_DIAGRAMVIEW_FIELD", r[r.BINDING_ERROR = 4e3] = "BINDING_ERROR", r[r.NONEXISTENT_MODULE = 4001] = "NONEXISTENT_MODULE", r[r.UNSUPPORTED = 5e3] = "UNSUPPORTED", r[r.CIRCULAR_REF = 5001] = "CIRCULAR_REF", r[r.SAME_ENDPOINT = 5002] = "SAME_ENDPOINT", r[r.UNEQUAL_FIELDS_BINARY_REF = 5003] = "UNEQUAL_FIELDS_BINARY_REF", r[r.CONFLICTING_SETTING = 5004] = "CONFLICTING_SETTING", r[r.TABLE_REAPPEAR_IN_TABLEGROUP = 5005] = "TABLE_REAPPEAR_IN_TABLEGROUP", r;
1273
1273
  }({});
1274
1274
  var CompileError = class r extends Error {
1275
1275
  constructor(j, M, N) {
@@ -1579,6 +1579,7 @@ function extractElementName(r) {
1579
1579
  }
1580
1580
  function extractColor(r) {
1581
1581
  if (r instanceof PrimaryExpressionNode && r.expression instanceof LiteralNode && r.expression.literal?.kind === SyntaxTokenKind.COLOR_LITERAL) return r.expression.literal.value;
1582
+ if (isExpressionAnIdentifierNode(r) && extractVariableFromExpression(r)?.toLowerCase() === "none") return NONE_COLOR;
1582
1583
  }
1583
1584
  function processDefaultValue(r) {
1584
1585
  if (r) {
@@ -9665,14 +9666,14 @@ var NoteBinder = class {
9665
9666
  }
9666
9667
  interpretSettingList(r) {
9667
9668
  let j = aggregateSettingList(r).getValue();
9668
- return this.note.headerColor = j.headercolor?.length ? extractColor(j.headercolor?.at(0)?.value) : void 0, [];
9669
+ return j.color?.length && (this.note.color = extractColor(j.color.at(0)?.value)), [];
9669
9670
  }
9670
9671
  interpretBody(r) {
9671
9672
  let [j, M] = partition_default(r.body, (r) => r instanceof FunctionApplicationNode);
9672
9673
  return j.length !== 1 || M.length > 0 ? [new CompileError(CompileErrorCode.INVALID_NOTE, "Invalid note syntax", r)] : [...this.interpretNote(j[0])];
9673
9674
  }
9674
9675
  interpretNote(r) {
9675
- let j = get_default(r, "callee.expression.literal.value", "");
9676
+ let j = extractQuotedStringToken(r.callee) ?? "";
9676
9677
  return this.note.content = normalizeNote(j), [];
9677
9678
  }
9678
9679
  };
@@ -10216,8 +10217,24 @@ var NoteValidator = class {
10216
10217
  validateAlias(r) {
10217
10218
  return r ? [new CompileError(CompileErrorCode.UNEXPECTED_ALIAS, "A Note shouldn't have an alias", r)] : [];
10218
10219
  }
10220
+ isStickyNote() {
10221
+ return this.declarationNode.parent instanceof ProgramNode;
10222
+ }
10219
10223
  validateSettingList(r) {
10220
- return r ? [new CompileError(CompileErrorCode.UNEXPECTED_SETTINGS, "A Note shouldn't have a setting list", r)] : [];
10224
+ if (!r) return [];
10225
+ if (!this.isStickyNote()) return [new CompileError(CompileErrorCode.UNEXPECTED_SETTINGS, "A Note shouldn't have a setting list", r)];
10226
+ let j = aggregateSettingList(r), M = j.getErrors();
10227
+ return forIn_default(j.getValue(), (r, j) => {
10228
+ switch (j) {
10229
+ case SettingName.Color:
10230
+ r.length > 1 && M.push(...r.map((r) => new CompileError(CompileErrorCode.DUPLICATE_NOTE_SETTING, "'color' can only appear once", r))), r.forEach((r) => {
10231
+ let j = isExpressionAnIdentifierNode(r.value) && r.value.expression.variable.value.toLowerCase() === "none";
10232
+ !isValidColor(r.value) && !j && M.push(new CompileError(CompileErrorCode.INVALID_NOTE_SETTING_VALUE, "'color' must be a color literal or 'none'", r.value || r.name));
10233
+ });
10234
+ break;
10235
+ default: M.push(...r.map((r) => new CompileError(CompileErrorCode.UNKNOWN_NOTE_SETTING, `Unknown '${j}' setting`, r)));
10236
+ }
10237
+ }), M;
10221
10238
  }
10222
10239
  validateBody(r) {
10223
10240
  if (!r) return [];
@@ -12578,6 +12595,9 @@ function suggestAttributeName(r, j, M) {
12578
12595
  case ScopeKind.TABLEGROUP:
12579
12596
  r = [SettingName.Color, SettingName.Note];
12580
12597
  break;
12598
+ case ScopeKind.NOTE:
12599
+ r = [SettingName.Color];
12600
+ break;
12581
12601
  default: r = [];
12582
12602
  }
12583
12603
  return { suggestions: r.map((r) => ({
@@ -12689,6 +12709,15 @@ function suggestAttributeValue(r, j, M, N) {
12689
12709
  insertTextRules: CompletionItemInsertTextRule.KeepWhitespace,
12690
12710
  range: void 0
12691
12711
  })) };
12712
+ case "color":
12713
+ if (r.container.scopeKind(j, M) === ScopeKind.NOTE) return { suggestions: [NONE_COLOR].map((r) => ({
12714
+ label: r,
12715
+ insertText: r,
12716
+ kind: CompletionItemKind.Value,
12717
+ insertTextRules: CompletionItemInsertTextRule.KeepWhitespace,
12718
+ range: void 0
12719
+ })) };
12720
+ break;
12692
12721
  case "default": return suggestNamesInScope(r, j, M, r.container.element(j, M), [SymbolKind.Schema, SymbolKind.Enum]);
12693
12722
  default: break;
12694
12723
  }
@@ -12757,7 +12786,8 @@ function suggestTopLevelElementType() {
12757
12786
  "Ref",
12758
12787
  "TablePartial",
12759
12788
  "Records",
12760
- "DiagramView"
12789
+ "DiagramView",
12790
+ "Note"
12761
12791
  ].map((r) => ({
12762
12792
  label: r,
12763
12793
  insertText: r,
@@ -13054,6 +13084,7 @@ var dbmlMonarchTokensProvider = {
13054
13084
  "name",
13055
13085
  "as",
13056
13086
  "color",
13087
+ "none",
13057
13088
  "check",
13058
13089
  "tables",
13059
13090
  "tablegroups",
@@ -1,5 +1,6 @@
1
1
  import { Filepath } from './core/types/filepath';
2
2
  export declare const KEYWORDS_OF_DEFAULT_SETTING: readonly string[];
3
+ export declare const NONE_COLOR: "none";
3
4
  export declare const DBML_EXT = ".dbml";
4
5
  export declare const NUMERIC_LITERAL_PREFIX: readonly string[];
5
6
  export declare const DEFAULT_SCHEMA_NAME: "public";
@@ -9,6 +9,7 @@ export default class NoteValidator {
9
9
  private validateContext;
10
10
  private validateName;
11
11
  private validateAlias;
12
+ private isStickyNote;
12
13
  private validateSettingList;
13
14
  validateBody(body?: FunctionApplicationNode | BlockExpressionNode): CompileError[];
14
15
  validateFields(fields: FunctionApplicationNode[]): CompileError[];
@@ -61,48 +61,51 @@ export declare enum CompileErrorCode {
61
61
  NOTE_REDEFINED = 3044,
62
62
  NOTE_CONTENT_REDEFINED = 3045,
63
63
  EMPTY_NOTE = 3046,
64
- INVALID_INDEXES_CONTEXT = 3047,
65
- INVALID_INDEXES_FIELD = 3048,
66
- INVALID_INDEX = 3049,
67
- UNKNOWN_INDEX_SETTING = 3050,
68
- DUPLICATE_INDEX_SETTING = 3051,
69
- UNEXPECTED_INDEX_SETTING_VALUE = 3052,
70
- INVALID_INDEX_SETTING_VALUE = 3053,
71
- INVALID_PROJECT_CONTEXT = 3054,
72
- PROJECT_REDEFINED = 3055,
73
- INVALID_PROJECT_FIELD = 3056,
74
- INVALID_CUSTOM_CONTEXT = 3057,
75
- INVALID_CUSTOM_ELEMENT_VALUE = 3058,
76
- INVALID_ELEMENT_IN_SIMPLE_BODY = 3059,
77
- INVALID_TABLE_PARTIAL_CONTEXT = 3060,
78
- INVALID_TABLE_PARTIAL_ELEMENT_NAME = 3061,
79
- INVALID_TABLE_PARTIAL_SETTING_VALUE = 3062,
80
- DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME = 3063,
81
- DUPLICATE_TABLE_PARTIAL_SETTING = 3064,
82
- INVALID_TABLE_PARTIAL_INJECTION = 3065,
83
- INVALID_TABLE_PARTIAL_INJECTION_OP = 3066,
84
- INVALID_TABLE_PARTIAL_INJECTION_NAME = 3067,
85
- DUPLICATE_TABLE_PARTIAL_INJECTION_NAME = 3068,
86
- UNKNOWN_TABLE_PARTIAL_SETTING = 3069,
87
- INVALID_TABLE_SETTING_VALUE = 3070,
88
- INVALID_CHECKS_CONTEXT = 3071,
89
- INVALID_CHECKS_FIELD = 3072,
90
- INVALID_CHECK = 3073,
91
- UNKNOWN_CHECK_SETTING = 3074,
92
- DUPLICATE_CHECK_SETTING = 3075,
93
- INVALID_CHECK_SETTING_VALUE = 3076,
94
- INVALID_RECORDS_CONTEXT = 3077,
95
- INVALID_RECORDS_NAME = 3078,
96
- INVALID_RECORDS_FIELD = 3079,
97
- DUPLICATE_COLUMN_REFERENCES_IN_RECORDS = 3080,
98
- DUPLICATE_RECORDS_FOR_TABLE = 3081,
99
- INVALID_USE_CONTEXT = 3082,
100
- INVALID_USE_SPECIFIER_KIND = 3083,
101
- INVALID_USE_SPECIFIER_NAME = 3084,
102
- INVALID_DIAGRAMVIEW_CONTEXT = 3085,
103
- DUPLICATE_DIAGRAMVIEW_NAME = 3086,
104
- INVALID_DIAGRAMVIEW_FIELD = 3087,
105
- DUPLICATE_DIAGRAMVIEW_FIELD = 3088,
64
+ UNKNOWN_NOTE_SETTING = 3047,
65
+ DUPLICATE_NOTE_SETTING = 3048,
66
+ INVALID_NOTE_SETTING_VALUE = 3049,
67
+ INVALID_INDEXES_CONTEXT = 3050,
68
+ INVALID_INDEXES_FIELD = 3051,
69
+ INVALID_INDEX = 3052,
70
+ UNKNOWN_INDEX_SETTING = 3053,
71
+ DUPLICATE_INDEX_SETTING = 3054,
72
+ UNEXPECTED_INDEX_SETTING_VALUE = 3055,
73
+ INVALID_INDEX_SETTING_VALUE = 3056,
74
+ INVALID_PROJECT_CONTEXT = 3057,
75
+ PROJECT_REDEFINED = 3058,
76
+ INVALID_PROJECT_FIELD = 3059,
77
+ INVALID_CUSTOM_CONTEXT = 3060,
78
+ INVALID_CUSTOM_ELEMENT_VALUE = 3061,
79
+ INVALID_ELEMENT_IN_SIMPLE_BODY = 3062,
80
+ INVALID_TABLE_PARTIAL_CONTEXT = 3063,
81
+ INVALID_TABLE_PARTIAL_ELEMENT_NAME = 3064,
82
+ INVALID_TABLE_PARTIAL_SETTING_VALUE = 3065,
83
+ DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME = 3066,
84
+ DUPLICATE_TABLE_PARTIAL_SETTING = 3067,
85
+ INVALID_TABLE_PARTIAL_INJECTION = 3068,
86
+ INVALID_TABLE_PARTIAL_INJECTION_OP = 3069,
87
+ INVALID_TABLE_PARTIAL_INJECTION_NAME = 3070,
88
+ DUPLICATE_TABLE_PARTIAL_INJECTION_NAME = 3071,
89
+ UNKNOWN_TABLE_PARTIAL_SETTING = 3072,
90
+ INVALID_TABLE_SETTING_VALUE = 3073,
91
+ INVALID_CHECKS_CONTEXT = 3074,
92
+ INVALID_CHECKS_FIELD = 3075,
93
+ INVALID_CHECK = 3076,
94
+ UNKNOWN_CHECK_SETTING = 3077,
95
+ DUPLICATE_CHECK_SETTING = 3078,
96
+ INVALID_CHECK_SETTING_VALUE = 3079,
97
+ INVALID_RECORDS_CONTEXT = 3080,
98
+ INVALID_RECORDS_NAME = 3081,
99
+ INVALID_RECORDS_FIELD = 3082,
100
+ DUPLICATE_COLUMN_REFERENCES_IN_RECORDS = 3083,
101
+ DUPLICATE_RECORDS_FOR_TABLE = 3084,
102
+ INVALID_USE_CONTEXT = 3085,
103
+ INVALID_USE_SPECIFIER_KIND = 3086,
104
+ INVALID_USE_SPECIFIER_NAME = 3087,
105
+ INVALID_DIAGRAMVIEW_CONTEXT = 3088,
106
+ DUPLICATE_DIAGRAMVIEW_NAME = 3089,
107
+ INVALID_DIAGRAMVIEW_FIELD = 3090,
108
+ DUPLICATE_DIAGRAMVIEW_FIELD = 3091,
106
109
  BINDING_ERROR = 4000,
107
110
  NONEXISTENT_MODULE = 4001,
108
111
  UNSUPPORTED = 5000,
@@ -1,5 +1,7 @@
1
+ import { NONE_COLOR } from '../../constants';
1
2
  import { Filepath } from './filepath';
2
3
  import { Position } from './position';
4
+ export type Color = `#${string}` | typeof NONE_COLOR;
3
5
  export declare enum AliasKind {
4
6
  Table = "table"
5
7
  }
@@ -78,7 +80,7 @@ export interface Table {
78
80
  partials: TablePartialInjection[];
79
81
  token: TokenPosition;
80
82
  indexes: Index[];
81
- headerColor?: string;
83
+ headerColor?: Color;
82
84
  note?: {
83
85
  value: string;
84
86
  token: TokenPosition;
@@ -88,7 +90,7 @@ export interface Note {
88
90
  name: string;
89
91
  content: string;
90
92
  token: TokenPosition;
91
- headerColor?: string;
93
+ color?: Color;
92
94
  }
93
95
  export interface ColumnType {
94
96
  schemaName: string | null;
@@ -154,7 +156,7 @@ export interface Ref {
154
156
  schemaName: string | null;
155
157
  name: string | null;
156
158
  endpoints: RefEndpointPair;
157
- color?: string;
159
+ color?: Color;
158
160
  onDelete?: string;
159
161
  onUpdate?: string;
160
162
  inactive?: boolean;
@@ -188,7 +190,7 @@ export interface TableGroup {
188
190
  schemaName: string | null;
189
191
  tables: TableGroupField[];
190
192
  token: TokenPosition;
191
- color?: string;
193
+ color?: Color;
192
194
  note?: {
193
195
  value: string;
194
196
  token: TokenPosition;
@@ -212,7 +214,7 @@ export interface TablePartial {
212
214
  token: TokenPosition;
213
215
  indexes: Index[];
214
216
  checks: Check[];
215
- headerColor?: string;
217
+ headerColor?: Color;
216
218
  note?: {
217
219
  value: string;
218
220
  token: TokenPosition;
@@ -1,5 +1,5 @@
1
1
  import { default as Compiler } from '../../compiler';
2
- import { ColumnType, TokenPosition } from '../types/schemaJson';
2
+ import { Color, ColumnType, TokenPosition } from '../types/schemaJson';
3
3
  import { SyntaxNode } from '../types/nodes';
4
4
  import { default as Report } from '../types/report';
5
5
  export declare function getTokenPosition(node: SyntaxNode): TokenPosition;
@@ -8,7 +8,7 @@ export declare function extractElementName(nameNode: SyntaxNode): {
8
8
  schemaName: string[];
9
9
  name: string;
10
10
  };
11
- export declare function extractColor(node: unknown): string | undefined;
11
+ export declare function extractColor(node: unknown): Color | undefined;
12
12
  export declare function processDefaultValue(valueNode?: SyntaxNode): {
13
13
  type: 'number' | 'string' | 'boolean' | 'expression';
14
14
  value: string | number;
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": "8.2.5",
4
+ "version": "8.3.0-alpha.0",
5
5
  "description": "DBML parser v2",
6
6
  "author": "Holistics <dev@holistics.io>",
7
7
  "license": "Apache-2.0",
@@ -46,5 +46,5 @@
46
46
  "engines": {
47
47
  "node": ">=18"
48
48
  },
49
- "gitHead": "4593cadfa6fc22c3fad2acbdefb839e118aa0c53"
49
+ "gitHead": "75cec6fdf26767726449c7c7b370797b8379c4bc"
50
50
  }