@dbml/parse 9.0.0-alpha.2 → 9.0.0-optional-ref.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.
Files changed (172) hide show
  1. package/LICENSE +0 -0
  2. package/dist/__benchmarks__/compiler.benchmark.d.ts +0 -0
  3. package/dist/__benchmarks__/compiler.profile.d.ts +0 -0
  4. package/dist/dbml-parse.js +19 -22
  5. package/dist/dbml-parse.mjs +3932 -4398
  6. package/dist/index.d.ts +0 -0
  7. package/dist/src/compiler/index.d.ts +3 -8
  8. package/dist/src/compiler/projectLayout/index.d.ts +0 -0
  9. package/dist/src/compiler/projectLayout/layout.d.ts +0 -0
  10. package/dist/src/compiler/queries/canonicalName.d.ts +0 -0
  11. package/dist/src/compiler/queries/container/element.d.ts +0 -0
  12. package/dist/src/compiler/queries/container/index.d.ts +0 -0
  13. package/dist/src/compiler/queries/container/scope.d.ts +0 -0
  14. package/dist/src/compiler/queries/container/scopeKind.d.ts +0 -0
  15. package/dist/src/compiler/queries/container/stack.d.ts +0 -0
  16. package/dist/src/compiler/queries/container/token.d.ts +0 -0
  17. package/dist/src/compiler/queries/files/fileDependencies.d.ts +0 -0
  18. package/dist/src/compiler/queries/files/reachableFiles.d.ts +0 -0
  19. package/dist/src/compiler/queries/files/usableMembers.d.ts +0 -0
  20. package/dist/src/compiler/queries/legacy/parse.d.ts +0 -0
  21. package/dist/src/compiler/queries/legacy/symbol.d.ts +0 -0
  22. package/dist/src/compiler/queries/legacy/token.d.ts +0 -0
  23. package/dist/src/compiler/queries/nodeAtPosition.d.ts +0 -0
  24. package/dist/src/compiler/queries/pipeline/bind.d.ts +0 -0
  25. package/dist/src/compiler/queries/pipeline/index.d.ts +0 -0
  26. package/dist/src/compiler/queries/pipeline/interpret.d.ts +0 -0
  27. package/dist/src/compiler/queries/pipeline/parse.d.ts +0 -0
  28. package/dist/src/compiler/queries/pipeline/validate.d.ts +0 -0
  29. package/dist/src/compiler/queries/resolutionIndex.d.ts +0 -0
  30. package/dist/src/compiler/queries/symbol/lookupMembers.d.ts +0 -0
  31. package/dist/src/compiler/queries/symbol/symbolAliases.d.ts +0 -0
  32. package/dist/src/compiler/queries/symbol/symbolUses.d.ts +0 -0
  33. package/dist/src/compiler/queries/transform/applyTextEdits.d.ts +0 -0
  34. package/dist/src/compiler/queries/transform/index.d.ts +0 -1
  35. package/dist/src/compiler/queries/transform/renameTable.d.ts +0 -0
  36. package/dist/src/compiler/queries/transform/syncDiagramView.d.ts +0 -0
  37. package/dist/src/compiler/queries/transform/utils.d.ts +0 -0
  38. package/dist/src/compiler/queries/utils.d.ts +0 -0
  39. package/dist/src/compiler/types.d.ts +0 -0
  40. package/dist/src/constants.d.ts +0 -0
  41. package/dist/src/core/global_modules/checks/bind.d.ts +0 -0
  42. package/dist/src/core/global_modules/checks/index.d.ts +0 -0
  43. package/dist/src/core/global_modules/checks/interpret.d.ts +0 -0
  44. package/dist/src/core/global_modules/diagramView/bind.d.ts +0 -0
  45. package/dist/src/core/global_modules/diagramView/index.d.ts +0 -0
  46. package/dist/src/core/global_modules/diagramView/interpret.d.ts +0 -0
  47. package/dist/src/core/global_modules/enum/bind.d.ts +0 -0
  48. package/dist/src/core/global_modules/enum/index.d.ts +0 -0
  49. package/dist/src/core/global_modules/enum/interpret.d.ts +0 -0
  50. package/dist/src/core/global_modules/index.d.ts +0 -0
  51. package/dist/src/core/global_modules/indexes/bind.d.ts +0 -0
  52. package/dist/src/core/global_modules/indexes/index.d.ts +0 -0
  53. package/dist/src/core/global_modules/indexes/interpret.d.ts +0 -0
  54. package/dist/src/core/global_modules/note/bind.d.ts +0 -0
  55. package/dist/src/core/global_modules/note/index.d.ts +0 -0
  56. package/dist/src/core/global_modules/note/interpret.d.ts +0 -0
  57. package/dist/src/core/global_modules/program/bind.d.ts +0 -0
  58. package/dist/src/core/global_modules/program/index.d.ts +0 -0
  59. package/dist/src/core/global_modules/program/interpret.d.ts +0 -0
  60. package/dist/src/core/global_modules/program/utils.d.ts +0 -0
  61. package/dist/src/core/global_modules/project/bind.d.ts +0 -0
  62. package/dist/src/core/global_modules/project/index.d.ts +0 -0
  63. package/dist/src/core/global_modules/project/interpret.d.ts +0 -0
  64. package/dist/src/core/global_modules/records/bind.d.ts +0 -0
  65. package/dist/src/core/global_modules/records/index.d.ts +0 -0
  66. package/dist/src/core/global_modules/records/interpret.d.ts +0 -0
  67. package/dist/src/core/global_modules/records/utils/constraints/fk.d.ts +0 -0
  68. package/dist/src/core/global_modules/records/utils/constraints/helper.d.ts +0 -0
  69. package/dist/src/core/global_modules/records/utils/constraints/index.d.ts +0 -0
  70. package/dist/src/core/global_modules/records/utils/constraints/pk.d.ts +0 -0
  71. package/dist/src/core/global_modules/records/utils/constraints/unique.d.ts +0 -0
  72. package/dist/src/core/global_modules/records/utils/data/index.d.ts +0 -0
  73. package/dist/src/core/global_modules/records/utils/data/sqlTypes.d.ts +0 -0
  74. package/dist/src/core/global_modules/records/utils/data/values.d.ts +0 -0
  75. package/dist/src/core/global_modules/records/utils/index.d.ts +0 -0
  76. package/dist/src/core/global_modules/ref/bind.d.ts +0 -0
  77. package/dist/src/core/global_modules/ref/index.d.ts +0 -1
  78. package/dist/src/core/global_modules/ref/interpret.d.ts +2 -0
  79. package/dist/src/core/global_modules/schema/index.d.ts +0 -0
  80. package/dist/src/core/global_modules/table/bind.d.ts +0 -2
  81. package/dist/src/core/global_modules/table/index.d.ts +0 -0
  82. package/dist/src/core/global_modules/table/interpret.d.ts +0 -0
  83. package/dist/src/core/global_modules/table/utils.d.ts +0 -0
  84. package/dist/src/core/global_modules/tableGroup/bind.d.ts +0 -0
  85. package/dist/src/core/global_modules/tableGroup/index.d.ts +0 -0
  86. package/dist/src/core/global_modules/tableGroup/interpret.d.ts +0 -0
  87. package/dist/src/core/global_modules/tablePartial/bind.d.ts +0 -0
  88. package/dist/src/core/global_modules/tablePartial/index.d.ts +0 -0
  89. package/dist/src/core/global_modules/tablePartial/interpret.d.ts +0 -0
  90. package/dist/src/core/global_modules/types.d.ts +0 -0
  91. package/dist/src/core/global_modules/use/index.d.ts +0 -0
  92. package/dist/src/core/global_modules/utils.d.ts +0 -2
  93. package/dist/src/core/lexer/lexer.d.ts +0 -0
  94. package/dist/src/core/lexer/utils.d.ts +0 -0
  95. package/dist/src/core/local_modules/checks/index.d.ts +0 -0
  96. package/dist/src/core/local_modules/checks/validate.d.ts +0 -0
  97. package/dist/src/core/local_modules/custom/index.d.ts +0 -0
  98. package/dist/src/core/local_modules/custom/validate.d.ts +0 -0
  99. package/dist/src/core/local_modules/diagramView/index.d.ts +0 -0
  100. package/dist/src/core/local_modules/diagramView/validate.d.ts +0 -0
  101. package/dist/src/core/local_modules/enum/index.d.ts +0 -0
  102. package/dist/src/core/local_modules/enum/validate.d.ts +0 -0
  103. package/dist/src/core/local_modules/index.d.ts +0 -0
  104. package/dist/src/core/local_modules/indexes/index.d.ts +0 -0
  105. package/dist/src/core/local_modules/indexes/validate.d.ts +0 -0
  106. package/dist/src/core/local_modules/note/index.d.ts +0 -0
  107. package/dist/src/core/local_modules/note/validate.d.ts +0 -0
  108. package/dist/src/core/local_modules/program/index.d.ts +0 -0
  109. package/dist/src/core/local_modules/program/validate.d.ts +0 -0
  110. package/dist/src/core/local_modules/project/index.d.ts +0 -0
  111. package/dist/src/core/local_modules/project/validate.d.ts +0 -0
  112. package/dist/src/core/local_modules/records/index.d.ts +0 -0
  113. package/dist/src/core/local_modules/records/validate.d.ts +0 -0
  114. package/dist/src/core/local_modules/ref/index.d.ts +0 -0
  115. package/dist/src/core/local_modules/ref/validate.d.ts +0 -0
  116. package/dist/src/core/local_modules/table/index.d.ts +0 -0
  117. package/dist/src/core/local_modules/table/validate.d.ts +0 -0
  118. package/dist/src/core/local_modules/tableGroup/index.d.ts +0 -0
  119. package/dist/src/core/local_modules/tableGroup/validate.d.ts +0 -0
  120. package/dist/src/core/local_modules/tablePartial/index.d.ts +0 -0
  121. package/dist/src/core/local_modules/tablePartial/validate.d.ts +0 -0
  122. package/dist/src/core/local_modules/types.d.ts +0 -0
  123. package/dist/src/core/local_modules/use/index.d.ts +0 -0
  124. package/dist/src/core/local_modules/use/validate.d.ts +0 -0
  125. package/dist/src/core/parser/contextStack.d.ts +0 -0
  126. package/dist/src/core/parser/factory.d.ts +0 -0
  127. package/dist/src/core/parser/parser.d.ts +0 -0
  128. package/dist/src/core/parser/utils.d.ts +0 -0
  129. package/dist/src/core/types/errors.d.ts +50 -52
  130. package/dist/src/core/types/filepath.d.ts +0 -0
  131. package/dist/src/core/types/index.d.ts +0 -0
  132. package/dist/src/core/types/internable.d.ts +0 -0
  133. package/dist/src/core/types/keywords.d.ts +0 -2
  134. package/dist/src/core/types/module.d.ts +0 -0
  135. package/dist/src/core/types/nodes.d.ts +0 -0
  136. package/dist/src/core/types/position.d.ts +0 -0
  137. package/dist/src/core/types/relation.d.ts +16 -0
  138. package/dist/src/core/types/report.d.ts +0 -0
  139. package/dist/src/core/types/schemaJson.d.ts +3 -35
  140. package/dist/src/core/types/symbol/factory.d.ts +0 -0
  141. package/dist/src/core/types/symbol/index.d.ts +0 -0
  142. package/dist/src/core/types/symbol/metadata.d.ts +22 -17
  143. package/dist/src/core/types/symbol/symbols.d.ts +0 -0
  144. package/dist/src/core/types/tokens.d.ts +0 -0
  145. package/dist/src/core/utils/chars.d.ts +0 -0
  146. package/dist/src/core/utils/expression.d.ts +0 -0
  147. package/dist/src/core/utils/interpret.d.ts +0 -0
  148. package/dist/src/core/utils/numbers.d.ts +0 -0
  149. package/dist/src/core/utils/span.d.ts +0 -0
  150. package/dist/src/core/utils/tokens.d.ts +0 -0
  151. package/dist/src/core/utils/validate.d.ts +0 -0
  152. package/dist/src/index.d.ts +2 -2
  153. package/dist/src/services/definition/provider.d.ts +0 -0
  154. package/dist/src/services/diagnostics/provider.d.ts +0 -0
  155. package/dist/src/services/index.d.ts +0 -0
  156. package/dist/src/services/monarch.d.ts +0 -0
  157. package/dist/src/services/references/provider.d.ts +0 -0
  158. package/dist/src/services/suggestions/crossFile.d.ts +0 -0
  159. package/dist/src/services/suggestions/provider.d.ts +0 -0
  160. package/dist/src/services/suggestions/recordRowSnippet.d.ts +0 -0
  161. package/dist/src/services/suggestions/use.d.ts +0 -0
  162. package/dist/src/services/suggestions/utils/index.d.ts +0 -0
  163. package/dist/src/services/suggestions/utils/useMerger.d.ts +0 -0
  164. package/dist/src/services/types.d.ts +0 -0
  165. package/dist/src/services/utils.d.ts +0 -0
  166. package/package.json +2 -2
  167. package/dist/src/compiler/queries/transform/syncDep.d.ts +0 -90
  168. package/dist/src/core/global_modules/dep/bind.d.ts +0 -15
  169. package/dist/src/core/global_modules/dep/index.d.ts +0 -2
  170. package/dist/src/core/global_modules/dep/interpret.d.ts +0 -34
  171. package/dist/src/core/local_modules/dep/index.d.ts +0 -2
  172. package/dist/src/core/local_modules/dep/validate.d.ts +0 -18
package/dist/index.d.ts CHANGED
File without changes
@@ -3,11 +3,11 @@ import { SyntaxNode, SyntaxNodeIdGenerator } from '../core/types/nodes';
3
3
  import { NodeSymbolIdGenerator, SymbolFactory } from '../core/types/symbol';
4
4
  import { DBMLCompletionItemProvider, DBMLDefinitionProvider, DBMLDiagnosticsProvider, DBMLReferencesProvider } from '../services/index';
5
5
  import { DbmlProjectLayout } from './projectLayout';
6
- import { DiagramViewBlock, DepBlock, findDiagramViewBlocks, findDepBlocks } from './queries/transform';
6
+ import { DiagramViewBlock, findDiagramViewBlocks } from './queries/transform';
7
7
  import { addDoubleQuoteIfNeeded, escapeString, formatRecordValue, isValidIdentifier, splitQualifiedIdentifier, unescapeString } from './queries/utils';
8
8
  export { ScopeKind } from './types';
9
- export type { DiagramViewBlock, DepBlock, TableNameInput, TextEdit } from './queries/transform';
10
- export { addDoubleQuoteIfNeeded, escapeString, formatRecordValue, isValidIdentifier, splitQualifiedIdentifier, unescapeString, findDiagramViewBlocks, findDepBlocks, };
9
+ export type { DiagramViewBlock, TableNameInput, TextEdit } from './queries/transform';
10
+ export { addDoubleQuoteIfNeeded, escapeString, formatRecordValue, isValidIdentifier, splitQualifiedIdentifier, unescapeString, findDiagramViewBlocks, };
11
11
  export default class Compiler {
12
12
  layout: DbmlProjectLayout;
13
13
  readonly nodeIdGenerator: SyntaxNodeIdGenerator;
@@ -78,11 +78,6 @@ export default class Compiler {
78
78
  edits: import('.').TextEdit[];
79
79
  };
80
80
  findDiagramViewBlocks(filepath: Filepath): DiagramViewBlock[];
81
- syncDep: (filepath: Filepath, operations: import('..').DepSyncOperation[], blocks?: DepBlock[] | undefined) => {
82
- newDbml: string;
83
- edits: import('.').TextEdit[];
84
- };
85
- findDepBlocks(filepath: Filepath): DepBlock[];
86
81
  readonly token: {
87
82
  invalidStream: (filepath: Filepath) => readonly import('..').SyntaxToken[];
88
83
  flatStream: (filepath: Filepath) => readonly import('..').SyntaxToken[];
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
@@ -1,5 +1,4 @@
1
1
  export { renameTable } from './renameTable';
2
2
  export { syncDiagramView, findDiagramViewBlocks, type DiagramViewSyncOperation, type DiagramViewBlock, } from './syncDiagramView';
3
- export { syncDep, findDepBlocks, generateDepBlock, type DepSyncOperation, type DepSyncEdge, type DepEndpointRef, type DepBlock, } from './syncDep';
4
3
  export { applyTextEdits, type TextEdit } from './applyTextEdits';
5
4
  export { type TableNameInput } from './utils';
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
@@ -4,5 +4,4 @@ import { default as Report } from '../../types/report';
4
4
  import { NodeSymbol } from '../../types/symbol';
5
5
  import { GlobalModule } from '../types';
6
6
  export declare const refModule: GlobalModule;
7
- export declare function getDefaultSchemaSymbol(compiler: Compiler, globalSymbol: NodeSymbol): NodeSymbol | undefined;
8
7
  export declare function nodeRefereeOfRefEndpoint(compiler: Compiler, globalSymbol: NodeSymbol, node: SyntaxNode): Report<NodeSymbol | undefined>;
@@ -12,4 +12,6 @@ export declare class RefInterpreter {
12
12
  interpret(): Report<Ref>;
13
13
  private interpretName;
14
14
  private interpretBody;
15
+ private validateRefConstraints;
16
+ private validateCardinalityConstraints;
15
17
  }
File without changes
@@ -9,8 +9,6 @@ export default class TableBinder {
9
9
  type: SyntaxToken;
10
10
  });
11
11
  bind(): CompileError[];
12
- private bindHeaderSettings;
13
- private bindInlineDepValue;
14
12
  private bindBody;
15
13
  private bindFields;
16
14
  private tryToBindColumnType;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,5 +1,4 @@
1
1
  import { default as Compiler } from '../../compiler';
2
- import { RelationCardinality } from '../types';
3
2
  import { PrimaryExpressionNode, SyntaxNode, VariableNode } from '../types/nodes';
4
3
  import { default as Report } from '../types/report';
5
4
  import { NodeSymbol } from '../types/symbol';
@@ -14,4 +13,3 @@ export declare function scanNonListNodeForBinding(node?: SyntaxNode): {
14
13
  })[];
15
14
  }[];
16
15
  export declare function nodeRefereeOfLeftExpression(compiler: Compiler, node: SyntaxNode): NodeSymbol | undefined;
17
- export declare function getMultiplicities(op: string): [RelationCardinality, RelationCardinality] | undefined;
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
@@ -56,58 +56,56 @@ export declare enum CompileErrorCode {
56
56
  INVALID_REF_FIELD = 3039,
57
57
  EMPTY_REF = 3040,
58
58
  REF_REDEFINED = 3041,
59
- INVALID_DEP_CONTEXT = 3042,
60
- INVALID_DEP_FIELD = 3043,
61
- INVALID_NOTE_CONTEXT = 3044,
62
- INVALID_NOTE = 3045,
63
- NOTE_REDEFINED = 3046,
64
- NOTE_CONTENT_REDEFINED = 3047,
65
- EMPTY_NOTE = 3048,
66
- UNKNOWN_NOTE_SETTING = 3049,
67
- DUPLICATE_NOTE_SETTING = 3050,
68
- INVALID_NOTE_SETTING_VALUE = 3051,
69
- INVALID_INDEXES_CONTEXT = 3052,
70
- INVALID_INDEXES_FIELD = 3053,
71
- INVALID_INDEX = 3054,
72
- UNKNOWN_INDEX_SETTING = 3055,
73
- DUPLICATE_INDEX_SETTING = 3056,
74
- UNEXPECTED_INDEX_SETTING_VALUE = 3057,
75
- INVALID_INDEX_SETTING_VALUE = 3058,
76
- INVALID_PROJECT_CONTEXT = 3059,
77
- PROJECT_REDEFINED = 3060,
78
- INVALID_PROJECT_FIELD = 3061,
79
- INVALID_CUSTOM_CONTEXT = 3062,
80
- INVALID_CUSTOM_ELEMENT_VALUE = 3063,
81
- INVALID_ELEMENT_IN_SIMPLE_BODY = 3064,
82
- INVALID_TABLE_PARTIAL_CONTEXT = 3065,
83
- INVALID_TABLE_PARTIAL_ELEMENT_NAME = 3066,
84
- INVALID_TABLE_PARTIAL_SETTING_VALUE = 3067,
85
- DUPLICATE_TABLE_PARTIAL_ELEMENT_NAME = 3068,
86
- DUPLICATE_TABLE_PARTIAL_SETTING = 3069,
87
- INVALID_TABLE_PARTIAL_INJECTION = 3070,
88
- INVALID_TABLE_PARTIAL_INJECTION_OP = 3071,
89
- INVALID_TABLE_PARTIAL_INJECTION_NAME = 3072,
90
- DUPLICATE_TABLE_PARTIAL_INJECTION_NAME = 3073,
91
- UNKNOWN_TABLE_PARTIAL_SETTING = 3074,
92
- INVALID_TABLE_SETTING_VALUE = 3075,
93
- INVALID_CHECKS_CONTEXT = 3076,
94
- INVALID_CHECKS_FIELD = 3077,
95
- INVALID_CHECK = 3078,
96
- UNKNOWN_CHECK_SETTING = 3079,
97
- DUPLICATE_CHECK_SETTING = 3080,
98
- INVALID_CHECK_SETTING_VALUE = 3081,
99
- INVALID_RECORDS_CONTEXT = 3082,
100
- INVALID_RECORDS_NAME = 3083,
101
- INVALID_RECORDS_FIELD = 3084,
102
- DUPLICATE_COLUMN_REFERENCES_IN_RECORDS = 3085,
103
- DUPLICATE_RECORDS_FOR_TABLE = 3086,
104
- INVALID_USE_CONTEXT = 3087,
105
- INVALID_USE_SPECIFIER_KIND = 3088,
106
- INVALID_USE_SPECIFIER_NAME = 3089,
107
- INVALID_DIAGRAMVIEW_CONTEXT = 3090,
108
- DUPLICATE_DIAGRAMVIEW_NAME = 3091,
109
- INVALID_DIAGRAMVIEW_FIELD = 3092,
110
- DUPLICATE_DIAGRAMVIEW_FIELD = 3093,
59
+ INVALID_NOTE_CONTEXT = 3042,
60
+ INVALID_NOTE = 3043,
61
+ NOTE_REDEFINED = 3044,
62
+ NOTE_CONTENT_REDEFINED = 3045,
63
+ EMPTY_NOTE = 3046,
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,
111
109
  BINDING_ERROR = 4000,
112
110
  NONEXISTENT_MODULE = 4001,
113
111
  UNSUPPORTED = 5000,
File without changes
File without changes
File without changes
@@ -2,7 +2,6 @@ export declare enum ElementKind {
2
2
  Table = "table",
3
3
  Enum = "enum",
4
4
  Ref = "ref",
5
- Dep = "dep",
6
5
  Note = "note",
7
6
  Project = "project",
8
7
  Indexes = "indexes",
@@ -24,7 +23,6 @@ export declare enum SettingName {
24
23
  PrimaryKey = "primary key",
25
24
  Unique = "unique",
26
25
  Ref = "ref",
27
- Dep = "dep",
28
26
  NotNull = "not null",
29
27
  Null = "null",
30
28
  Increment = "increment",
File without changes
File without changes
File without changes
@@ -0,0 +1,16 @@
1
+ type BaseRelationshipOp = '>' | '<' | '-' | '<>';
2
+ export type RelationshipOp = `${'?' | ''}${BaseRelationshipOp}${'?' | ''}`;
3
+ export type RelationCardinality = `${number}` | '*' | `${number}..${number | '*'}`;
4
+ export declare function normalizeCardinality(c: RelationCardinality): RelationCardinality;
5
+ export declare function parseCardinality(c: RelationCardinality): {
6
+ min: number;
7
+ max: number | '*';
8
+ };
9
+ export declare const RELATIONSHIP_OPS: ReadonlySet<RelationshipOp>;
10
+ export declare const CARDINALITY_ONE: RelationCardinality;
11
+ export declare const CARDINALITY_MAYBE: RelationCardinality;
12
+ export declare const CARDINALITY_SOME: RelationCardinality;
13
+ export declare const CARDINALITY_MANY: RelationCardinality;
14
+ export declare function getMultiplicities(op: string): [RelationCardinality, RelationCardinality] | undefined;
15
+ export declare function getRelationshipOp(left: RelationCardinality, right: RelationCardinality): RelationshipOp;
16
+ export {};
File without changes
@@ -1,6 +1,7 @@
1
1
  import { NONE_COLOR } from '../../constants';
2
2
  import { Filepath } from './filepath';
3
3
  import { Position } from './position';
4
+ import { RelationshipOp, RelationCardinality } from './relation';
4
5
  export type Color = `#${string}` | typeof NONE_COLOR;
5
6
  export declare enum AliasKind {
6
7
  Table = "table"
@@ -58,7 +59,6 @@ export interface Database {
58
59
  tables: Table[];
59
60
  notes: Note[];
60
61
  refs: Ref[];
61
- deps: Dep[];
62
62
  enums: Enum[];
63
63
  tableGroups: TableGroup[];
64
64
  aliases: Alias[];
@@ -111,7 +111,6 @@ export interface Column {
111
111
  type: ColumnType;
112
112
  token: TokenPosition;
113
113
  inline_refs: InlineRef[];
114
- inline_deps: InlineDep[];
115
114
  checks: Check[];
116
115
  pk?: boolean;
117
116
  dbdefault?: {
@@ -151,7 +150,7 @@ export interface InlineRef {
151
150
  schemaName: string | null;
152
151
  tableName: string;
153
152
  fieldNames: string[];
154
- relation: '>' | '<' | '-' | '<>';
153
+ relation: RelationshipOp;
155
154
  token: TokenPosition;
156
155
  }
157
156
  export interface Ref {
@@ -172,37 +171,6 @@ export interface RefEndpoint {
172
171
  relation: RelationCardinality;
173
172
  token: TokenPosition;
174
173
  }
175
- export type RelationCardinality = '1' | '*';
176
- export interface Dep {
177
- schemaName: string | null;
178
- name: string | null;
179
- edges: DepEdge[];
180
- color?: Color;
181
- note?: {
182
- value: string;
183
- token: TokenPosition;
184
- };
185
- custom?: Record<string, string | number | boolean | null>;
186
- token: TokenPosition;
187
- }
188
- export interface DepEdge {
189
- upstream: DepEndpoint;
190
- downstream: DepEndpoint;
191
- token: TokenPosition;
192
- }
193
- export interface DepEndpoint {
194
- schemaName: string | null;
195
- tableName: string;
196
- fieldNames: string[];
197
- token: TokenPosition;
198
- }
199
- export interface InlineDep {
200
- schemaName: string | null;
201
- tableName: string;
202
- fieldNames: string[];
203
- direction: '->' | '<-';
204
- token: TokenPosition;
205
- }
206
174
  export interface Enum {
207
175
  name: string;
208
176
  schemaName: string | null;
@@ -284,4 +252,4 @@ export type Project = Record<string, never> | {
284
252
  token: TokenPosition;
285
253
  [index: string & Omit<any, 'name' | 'tables' | 'refs' | 'enums' | 'tableGroups' | 'note' | 'tablePartials' | 'records'>]: string;
286
254
  };
287
- export type SchemaElement = Database | Project | Table | Note | Column | ColumnType | Index | Check | InlineRef | InlineDep | Ref | RefEndpoint | Dep | DepEdge | DepEndpoint | Enum | EnumField | TableGroup | TableGroupField | Alias | TablePartial | TablePartialInjection | TableRecord | RecordValue;
255
+ export type SchemaElement = Database | Project | Table | Note | Column | ColumnType | Index | Check | InlineRef | Ref | RefEndpoint | Enum | EnumField | TableGroup | TableGroupField | Alias | TablePartial | TablePartialInjection | TableRecord | RecordValue;
File without changes