@loj-lang/rdsl-compiler 0.5.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 (78) hide show
  1. package/README.md +23 -0
  2. package/dist/cache-signature.d.ts +2 -0
  3. package/dist/cache-signature.d.ts.map +1 -0
  4. package/dist/cache-signature.js +17 -0
  5. package/dist/cache-signature.js.map +1 -0
  6. package/dist/codegen.d.ts +37 -0
  7. package/dist/codegen.d.ts.map +1 -0
  8. package/dist/codegen.js +6394 -0
  9. package/dist/codegen.js.map +1 -0
  10. package/dist/dependency-graph.d.ts +23 -0
  11. package/dist/dependency-graph.d.ts.map +1 -0
  12. package/dist/dependency-graph.js +516 -0
  13. package/dist/dependency-graph.js.map +1 -0
  14. package/dist/expr.d.ts +24 -0
  15. package/dist/expr.d.ts.map +1 -0
  16. package/dist/expr.js +359 -0
  17. package/dist/expr.js.map +1 -0
  18. package/dist/flow-proof.d.ts +68 -0
  19. package/dist/flow-proof.d.ts.map +1 -0
  20. package/dist/flow-proof.js +487 -0
  21. package/dist/flow-proof.js.map +1 -0
  22. package/dist/host-files.d.ts +27 -0
  23. package/dist/host-files.d.ts.map +1 -0
  24. package/dist/host-files.js +441 -0
  25. package/dist/host-files.js.map +1 -0
  26. package/dist/index.d.ts +120 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +948 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/ir.d.ts +451 -0
  31. package/dist/ir.d.ts.map +1 -0
  32. package/dist/ir.js +13 -0
  33. package/dist/ir.js.map +1 -0
  34. package/dist/manifest.d.ts +104 -0
  35. package/dist/manifest.d.ts.map +1 -0
  36. package/dist/manifest.js +635 -0
  37. package/dist/manifest.js.map +1 -0
  38. package/dist/node-inspect.d.ts +23 -0
  39. package/dist/node-inspect.d.ts.map +1 -0
  40. package/dist/node-inspect.js +475 -0
  41. package/dist/node-inspect.js.map +1 -0
  42. package/dist/normalize.d.ts +101 -0
  43. package/dist/normalize.d.ts.map +1 -0
  44. package/dist/normalize.js +1771 -0
  45. package/dist/normalize.js.map +1 -0
  46. package/dist/page-table-block.d.ts +69 -0
  47. package/dist/page-table-block.d.ts.map +1 -0
  48. package/dist/page-table-block.js +241 -0
  49. package/dist/page-table-block.js.map +1 -0
  50. package/dist/parser.d.ts +262 -0
  51. package/dist/parser.d.ts.map +1 -0
  52. package/dist/parser.js +1335 -0
  53. package/dist/parser.js.map +1 -0
  54. package/dist/project-paths.d.ts +6 -0
  55. package/dist/project-paths.d.ts.map +1 -0
  56. package/dist/project-paths.js +84 -0
  57. package/dist/project-paths.js.map +1 -0
  58. package/dist/relation-projection.d.ts +60 -0
  59. package/dist/relation-projection.d.ts.map +1 -0
  60. package/dist/relation-projection.js +121 -0
  61. package/dist/relation-projection.js.map +1 -0
  62. package/dist/rules-proof.d.ts +95 -0
  63. package/dist/rules-proof.d.ts.map +1 -0
  64. package/dist/rules-proof.js +537 -0
  65. package/dist/rules-proof.js.map +1 -0
  66. package/dist/source-files.d.ts +9 -0
  67. package/dist/source-files.d.ts.map +1 -0
  68. package/dist/source-files.js +27 -0
  69. package/dist/source-files.js.map +1 -0
  70. package/dist/style-proof.d.ts +70 -0
  71. package/dist/style-proof.d.ts.map +1 -0
  72. package/dist/style-proof.js +640 -0
  73. package/dist/style-proof.js.map +1 -0
  74. package/dist/validator.d.ts +51 -0
  75. package/dist/validator.d.ts.map +1 -0
  76. package/dist/validator.js +2487 -0
  77. package/dist/validator.js.map +1 -0
  78. package/package.json +40 -0
@@ -0,0 +1,262 @@
1
+ /**
2
+ * ReactDSL Parser
3
+ *
4
+ * Parses .rdsl files (strict YAML subset) into a raw AST.
5
+ *
6
+ * Restrictions vs full YAML:
7
+ * - No anchors/aliases
8
+ * - No merge keys
9
+ * - No custom tags
10
+ * - No implicit bool/date coercions
11
+ */
12
+ import { LineCounter } from 'yaml';
13
+ import type { CreateHandoffDescriptor, DateNavigationDescriptor, InputFieldSeedSource, MessageLike as SharedMessageLike, ReadModelListPresentationDescriptor, ReadModelPageConsumerDescriptor, RowFieldSeedSource, SeedScalarValue, SelectionFieldSeedSource } from '@loj-lang/shared-contracts';
14
+ import type { SourceSpan } from './ir.js';
15
+ export interface RawDecorator {
16
+ name: string;
17
+ args?: string;
18
+ sourceSpan?: SourceSpan;
19
+ }
20
+ export interface RawField {
21
+ name: string;
22
+ typeExpr: string;
23
+ decorators: RawDecorator[];
24
+ sourceSpan?: SourceSpan;
25
+ }
26
+ export interface RawColumnEntry {
27
+ field: string;
28
+ decorators: RawDecorator[];
29
+ sourceSpan?: SourceSpan;
30
+ }
31
+ export interface RawFormFieldEntry extends RawColumnEntry {
32
+ rules?: RawRules;
33
+ }
34
+ export interface RawAction {
35
+ name: string;
36
+ decorators: RawDecorator[];
37
+ sourceSpan?: SourceSpan;
38
+ }
39
+ export interface RawMessageRef {
40
+ ref: string;
41
+ sourceSpan?: SourceSpan;
42
+ }
43
+ export type RawToastMessageValue = string | number | boolean | null | RawMessageRef;
44
+ export interface RawToastMessageDescriptor {
45
+ key?: string;
46
+ defaultMessage?: string;
47
+ values?: Record<string, RawToastMessageValue>;
48
+ sourceSpan?: SourceSpan;
49
+ }
50
+ export type RawMessageLike = SharedMessageLike<string | number | boolean | null>;
51
+ export interface RawEffect {
52
+ type: string;
53
+ value: string | RawToastMessageDescriptor;
54
+ sourceSpan?: SourceSpan;
55
+ }
56
+ export interface RawRules {
57
+ visibleIf?: string;
58
+ enabledIf?: string;
59
+ allowIf?: string;
60
+ enforce?: string;
61
+ sourceSpan?: SourceSpan;
62
+ }
63
+ export type RawViewRules = RawRules | string;
64
+ export interface RawListView {
65
+ title?: RawMessageLike;
66
+ style?: string;
67
+ filters?: string[];
68
+ columns?: RawColumnEntry[];
69
+ actions?: RawAction[];
70
+ pagination?: {
71
+ size?: number;
72
+ style?: string;
73
+ };
74
+ rules?: RawRules;
75
+ sourceSpan?: SourceSpan;
76
+ }
77
+ export interface RawEditView {
78
+ style?: string;
79
+ fields?: (string | RawFormFieldEntry)[];
80
+ includes?: RawCreateInclude[];
81
+ rules?: RawViewRules;
82
+ onSuccess?: RawEffect[];
83
+ sourceSpan?: SourceSpan;
84
+ }
85
+ export interface RawCreateView {
86
+ style?: string;
87
+ fields?: (string | RawFormFieldEntry)[];
88
+ includes?: RawCreateInclude[];
89
+ rules?: RawViewRules;
90
+ onSuccess?: RawEffect[];
91
+ sourceSpan?: SourceSpan;
92
+ }
93
+ export interface RawCreateInclude {
94
+ field: string;
95
+ fields?: (string | RawFormFieldEntry)[];
96
+ minItems?: number;
97
+ rules?: string;
98
+ sourceSpan?: SourceSpan;
99
+ }
100
+ export type RawReadModelListView = ReadModelListPresentationDescriptor & {
101
+ columns?: RawColumnEntry[];
102
+ pagination?: {
103
+ size?: number;
104
+ style?: string;
105
+ };
106
+ sourceSpan?: SourceSpan;
107
+ };
108
+ export interface RawReadModel {
109
+ name: string;
110
+ api?: string;
111
+ rules?: string;
112
+ inputs: RawField[];
113
+ result: RawField[];
114
+ list?: RawReadModelListView;
115
+ sourceSpan?: SourceSpan;
116
+ }
117
+ export interface RawReadView {
118
+ title?: RawMessageLike;
119
+ style?: string;
120
+ fields?: RawColumnEntry[];
121
+ related?: string[];
122
+ sourceSpan?: SourceSpan;
123
+ }
124
+ export interface RawAppSeo {
125
+ siteName?: RawMessageLike;
126
+ defaultTitle?: RawMessageLike;
127
+ titleTemplate?: RawMessageLike;
128
+ defaultDescription?: RawMessageLike;
129
+ defaultImage?: string;
130
+ favicon?: string;
131
+ sourceSpan?: SourceSpan;
132
+ }
133
+ export interface RawPageSeo {
134
+ description?: RawMessageLike;
135
+ canonicalPath?: string;
136
+ image?: string;
137
+ noIndex?: boolean;
138
+ sourceSpan?: SourceSpan;
139
+ }
140
+ export interface RawResource {
141
+ name: string;
142
+ model: string;
143
+ api: string;
144
+ workflow?: string;
145
+ workflowStyle?: string;
146
+ workflowSourceSpan?: SourceSpan;
147
+ list?: RawListView;
148
+ edit?: RawEditView;
149
+ create?: RawCreateView;
150
+ read?: RawReadView;
151
+ sourceSpan?: SourceSpan;
152
+ }
153
+ export interface RawModel {
154
+ name: string;
155
+ fields: RawField[];
156
+ sourceSpan?: SourceSpan;
157
+ }
158
+ export interface RawNavItem {
159
+ label: RawMessageLike;
160
+ icon?: string;
161
+ target: string;
162
+ sourceSpan?: SourceSpan;
163
+ }
164
+ export interface RawNavGroup {
165
+ group: RawMessageLike;
166
+ visibleIf?: string;
167
+ items: RawNavItem[];
168
+ sourceSpan?: SourceSpan;
169
+ }
170
+ export type RawDashboardBlock = ReadModelPageConsumerDescriptor & {
171
+ type: string;
172
+ title: RawMessageLike;
173
+ style?: string;
174
+ data?: string;
175
+ dateNavigation?: Omit<DateNavigationDescriptor, 'prevLabel' | 'nextLabel'> & {
176
+ prevLabel?: RawMessageLike;
177
+ nextLabel?: RawMessageLike;
178
+ sourceSpan?: SourceSpan;
179
+ };
180
+ custom?: string;
181
+ rowActions?: RawDashboardRowAction[];
182
+ sourceSpan?: SourceSpan;
183
+ };
184
+ export type RawDashboardRowSeedValue = SeedScalarValue | ((RowFieldSeedSource & InputFieldSeedSource) & {
185
+ sourceSpan?: SourceSpan;
186
+ });
187
+ export type RawDashboardRowCreateAction = CreateHandoffDescriptor<RawDashboardRowSeedValue> & {
188
+ label?: RawMessageLike;
189
+ sourceSpan?: SourceSpan;
190
+ };
191
+ export interface RawDashboardRowAction {
192
+ create: RawDashboardRowCreateAction;
193
+ sourceSpan?: SourceSpan;
194
+ }
195
+ export type RawPageActionSeedValue = SeedScalarValue | ((InputFieldSeedSource & SelectionFieldSeedSource) & {
196
+ sourceSpan?: SourceSpan;
197
+ });
198
+ export type RawPageCreateAction = CreateHandoffDescriptor<RawPageActionSeedValue> & {
199
+ label?: RawMessageLike;
200
+ sourceSpan?: SourceSpan;
201
+ };
202
+ export interface RawPageAction {
203
+ create: RawPageCreateAction;
204
+ sourceSpan?: SourceSpan;
205
+ }
206
+ export interface RawPage {
207
+ name: string;
208
+ title: RawMessageLike;
209
+ type: string;
210
+ path?: string;
211
+ layout?: string;
212
+ style?: string;
213
+ seo?: RawPageSeo;
214
+ actions?: RawPageAction[];
215
+ blocks: RawDashboardBlock[];
216
+ sourceSpan?: SourceSpan;
217
+ }
218
+ export interface RawApp {
219
+ name: string;
220
+ theme?: string;
221
+ auth?: string;
222
+ style?: string;
223
+ seo?: RawAppSeo;
224
+ navigation?: RawNavGroup[];
225
+ sourceSpan?: SourceSpan;
226
+ }
227
+ export interface RawCompiler {
228
+ target?: string;
229
+ sourceSpan?: SourceSpan;
230
+ }
231
+ export interface RawAST {
232
+ app?: RawApp;
233
+ compiler?: RawCompiler;
234
+ imports: string[];
235
+ models: RawModel[];
236
+ resources: RawResource[];
237
+ readModels: RawReadModel[];
238
+ pages: RawPage[];
239
+ }
240
+ export declare function parseDecorators(input: string): {
241
+ baseName: string;
242
+ decorators: RawDecorator[];
243
+ };
244
+ export declare function parseFieldType(expr: string): {
245
+ typeName: string;
246
+ enumValues?: string[];
247
+ };
248
+ export declare function parseEffect(entry: unknown): RawEffect | null;
249
+ export declare function parseColumnEntry(entry: unknown, sourceSpan?: SourceSpan): RawColumnEntry;
250
+ export declare function parseFormFieldEntry(entry: unknown, fileName: string, lineCounter: LineCounter): string | RawFormFieldEntry;
251
+ export declare function parseActionEntry(entry: unknown, sourceSpan?: SourceSpan): RawAction;
252
+ export interface ParseResult {
253
+ ast: RawAST;
254
+ errors: ParseError[];
255
+ }
256
+ export interface ParseError {
257
+ message: string;
258
+ line?: number;
259
+ col?: number;
260
+ }
261
+ export declare function parse(source: string, fileName?: string): ParseResult;
262
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}