@metaobjectsdev/codegen-ts 0.9.0 → 0.11.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/column-mapper.d.ts +12 -6
- package/dist/column-mapper.d.ts.map +1 -1
- package/dist/column-mapper.js +68 -28
- package/dist/column-mapper.js.map +1 -1
- package/dist/constants.d.ts +8 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +16 -0
- package/dist/constants.js.map +1 -1
- package/dist/docs-paths.d.ts +58 -0
- package/dist/docs-paths.d.ts.map +1 -0
- package/dist/docs-paths.js +89 -0
- package/dist/docs-paths.js.map +1 -0
- package/dist/enum-import.d.ts +14 -0
- package/dist/enum-import.d.ts.map +1 -0
- package/dist/enum-import.js +35 -0
- package/dist/enum-import.js.map +1 -0
- package/dist/enum-shared.d.ts +32 -0
- package/dist/enum-shared.d.ts.map +1 -0
- package/dist/enum-shared.js +83 -0
- package/dist/enum-shared.js.map +1 -0
- package/dist/generator-registry.d.ts +22 -0
- package/dist/generator-registry.d.ts.map +1 -0
- package/dist/generator-registry.js +161 -0
- package/dist/generator-registry.js.map +1 -0
- package/dist/generator.d.ts +6 -0
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js.map +1 -1
- package/dist/generators/api-doc-render.d.ts +17 -0
- package/dist/generators/api-doc-render.d.ts.map +1 -0
- package/dist/generators/api-doc-render.js +431 -0
- package/dist/generators/api-doc-render.js.map +1 -0
- package/dist/generators/api-docs-file.d.ts +21 -0
- package/dist/generators/api-docs-file.d.ts.map +1 -0
- package/dist/generators/api-docs-file.js +112 -0
- package/dist/generators/api-docs-file.js.map +1 -0
- package/dist/generators/api-field-shape.d.ts +39 -0
- package/dist/generators/api-field-shape.d.ts.map +1 -0
- package/dist/generators/api-field-shape.js +92 -0
- package/dist/generators/api-field-shape.js.map +1 -0
- package/dist/generators/api-label.d.ts +3 -0
- package/dist/generators/api-label.d.ts.map +1 -0
- package/dist/generators/api-label.js +8 -0
- package/dist/generators/api-label.js.map +1 -0
- package/dist/generators/api-model.d.ts +122 -0
- package/dist/generators/api-model.d.ts.map +1 -0
- package/dist/generators/api-model.js +809 -0
- package/dist/generators/api-model.js.map +1 -0
- package/dist/generators/docs-data-builder.d.ts +26 -4
- package/dist/generators/docs-data-builder.d.ts.map +1 -1
- package/dist/generators/docs-data-builder.js +439 -167
- package/dist/generators/docs-data-builder.js.map +1 -1
- package/dist/generators/docs-data.d.ts +136 -27
- package/dist/generators/docs-data.d.ts.map +1 -1
- package/dist/generators/docs-data.js +1 -1
- package/dist/generators/docs-data.js.map +1 -1
- package/dist/generators/docs-file.d.ts +19 -0
- package/dist/generators/docs-file.d.ts.map +1 -1
- package/dist/generators/docs-file.js +154 -27
- package/dist/generators/docs-file.js.map +1 -1
- package/dist/generators/entity-file.d.ts.map +1 -1
- package/dist/generators/entity-file.js +29 -14
- package/dist/generators/entity-file.js.map +1 -1
- package/dist/generators/extractor-file.d.ts.map +1 -1
- package/dist/generators/extractor-file.js +2 -1
- package/dist/generators/extractor-file.js.map +1 -1
- package/dist/generators/field-anchor.d.ts +7 -0
- package/dist/generators/field-anchor.d.ts.map +1 -0
- package/dist/generators/field-anchor.js +23 -0
- package/dist/generators/field-anchor.js.map +1 -0
- package/dist/generators/index.d.ts +8 -1
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/index.js +6 -0
- package/dist/generators/index.js.map +1 -1
- package/dist/generators/mermaid-er.d.ts +14 -0
- package/dist/generators/mermaid-er.d.ts.map +1 -1
- package/dist/generators/mermaid-er.js +14 -0
- package/dist/generators/mermaid-er.js.map +1 -1
- package/dist/generators/output-parser-file.d.ts.map +1 -1
- package/dist/generators/output-parser-file.js +3 -4
- package/dist/generators/output-parser-file.js.map +1 -1
- package/dist/generators/output-prompt-file.d.ts.map +1 -1
- package/dist/generators/output-prompt-file.js +2 -2
- package/dist/generators/output-prompt-file.js.map +1 -1
- package/dist/generators/prompt-render-file.d.ts.map +1 -1
- package/dist/generators/prompt-render-file.js +3 -4
- package/dist/generators/prompt-render-file.js.map +1 -1
- package/dist/generators/queries-file.d.ts.map +1 -1
- package/dist/generators/queries-file.js +8 -3
- package/dist/generators/queries-file.js.map +1 -1
- package/dist/generators/render-helper-file.d.ts.map +1 -1
- package/dist/generators/render-helper-file.js +2 -2
- package/dist/generators/render-helper-file.js.map +1 -1
- package/dist/generators/routes-file-hono.d.ts.map +1 -1
- package/dist/generators/routes-file-hono.js +5 -1
- package/dist/generators/routes-file-hono.js.map +1 -1
- package/dist/generators/routes-file.d.ts +3 -0
- package/dist/generators/routes-file.d.ts.map +1 -1
- package/dist/generators/routes-file.js +6 -1
- package/dist/generators/routes-file.js.map +1 -1
- package/dist/generators/template-doc-builder.d.ts +19 -0
- package/dist/generators/template-doc-builder.d.ts.map +1 -0
- package/dist/generators/template-doc-builder.js +220 -0
- package/dist/generators/template-doc-builder.js.map +1 -0
- package/dist/generators/template-doc-data.d.ts +62 -0
- package/dist/generators/template-doc-data.d.ts.map +1 -0
- package/dist/generators/template-doc-data.js +16 -0
- package/dist/generators/template-doc-data.js.map +1 -0
- package/dist/generators/template-payload-tree.d.ts +15 -0
- package/dist/generators/template-payload-tree.d.ts.map +1 -0
- package/dist/generators/template-payload-tree.js +61 -0
- package/dist/generators/template-payload-tree.js.map +1 -0
- package/dist/generators/template-source-annotate.d.ts +74 -0
- package/dist/generators/template-source-annotate.d.ts.map +1 -0
- package/dist/generators/template-source-annotate.js +184 -0
- package/dist/generators/template-source-annotate.js.map +1 -0
- package/dist/generators/template-source-render.d.ts +24 -0
- package/dist/generators/template-source-render.d.ts.map +1 -0
- package/dist/generators/template-source-render.js +175 -0
- package/dist/generators/template-source-render.js.map +1 -0
- package/dist/generators/trace-helper-file.d.ts +9 -0
- package/dist/generators/trace-helper-file.d.ts.map +1 -0
- package/dist/generators/trace-helper-file.js +196 -0
- package/dist/generators/trace-helper-file.js.map +1 -0
- package/dist/import-path.d.ts +18 -0
- package/dist/import-path.d.ts.map +1 -1
- package/dist/import-path.js +21 -0
- package/dist/import-path.js.map +1 -1
- package/dist/index.d.ts +29 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -2
- package/dist/index.js.map +1 -1
- package/dist/metaobjects-config.d.ts +101 -2
- package/dist/metaobjects-config.d.ts.map +1 -1
- package/dist/metaobjects-config.js +46 -0
- package/dist/metaobjects-config.js.map +1 -1
- package/dist/naming.d.ts +39 -2
- package/dist/naming.d.ts.map +1 -1
- package/dist/naming.js +52 -3
- package/dist/naming.js.map +1 -1
- package/dist/payload-codegen.d.ts.map +1 -1
- package/dist/payload-codegen.js +14 -6
- package/dist/payload-codegen.js.map +1 -1
- package/dist/pk-resolver.d.ts.map +1 -1
- package/dist/pk-resolver.js +4 -2
- package/dist/pk-resolver.js.map +1 -1
- package/dist/projection/extract-view-spec.d.ts.map +1 -1
- package/dist/projection/extract-view-spec.js +52 -26
- package/dist/projection/extract-view-spec.js.map +1 -1
- package/dist/relation-resolver.d.ts +16 -0
- package/dist/relation-resolver.d.ts.map +1 -1
- package/dist/relation-resolver.js +82 -1
- package/dist/relation-resolver.js.map +1 -1
- package/dist/render-context.d.ts +25 -2
- package/dist/render-context.d.ts.map +1 -1
- package/dist/render-context.js +7 -0
- package/dist/render-context.js.map +1 -1
- package/dist/render-engine/embedded-templates.generated.d.ts +2 -0
- package/dist/render-engine/embedded-templates.generated.d.ts.map +1 -0
- package/dist/render-engine/embedded-templates.generated.js +15 -0
- package/dist/render-engine/embedded-templates.generated.js.map +1 -0
- package/dist/render-engine/framework-provider.d.ts.map +1 -1
- package/dist/render-engine/framework-provider.js +26 -13
- package/dist/render-engine/framework-provider.js.map +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +20 -0
- package/dist/runner.js.map +1 -1
- package/dist/templates/docs-file.d.ts +2 -6
- package/dist/templates/docs-file.d.ts.map +1 -1
- package/dist/templates/docs-file.js +2 -5
- package/dist/templates/docs-file.js.map +1 -1
- package/dist/templates/drizzle-schema.d.ts.map +1 -1
- package/dist/templates/drizzle-schema.js +72 -23
- package/dist/templates/drizzle-schema.js.map +1 -1
- package/dist/templates/entity-constants.d.ts +7 -0
- package/dist/templates/entity-constants.d.ts.map +1 -1
- package/dist/templates/entity-constants.js +3 -3
- package/dist/templates/entity-constants.js.map +1 -1
- package/dist/templates/entity-file.d.ts.map +1 -1
- package/dist/templates/entity-file.js +16 -5
- package/dist/templates/entity-file.js.map +1 -1
- package/dist/templates/enums-file.d.ts +11 -0
- package/dist/templates/enums-file.d.ts.map +1 -0
- package/dist/templates/enums-file.js +44 -0
- package/dist/templates/enums-file.js.map +1 -0
- package/dist/templates/extract-delegate-emitter.d.ts.map +1 -1
- package/dist/templates/extract-delegate-emitter.js +6 -8
- package/dist/templates/extract-delegate-emitter.js.map +1 -1
- package/dist/templates/extractor.d.ts.map +1 -1
- package/dist/templates/extractor.js +58 -41
- package/dist/templates/extractor.js.map +1 -1
- package/dist/templates/field-meta.d.ts.map +1 -1
- package/dist/templates/field-meta.js +2 -6
- package/dist/templates/field-meta.js.map +1 -1
- package/dist/templates/filter-allowlist.d.ts +7 -2
- package/dist/templates/filter-allowlist.d.ts.map +1 -1
- package/dist/templates/filter-allowlist.js +18 -10
- package/dist/templates/filter-allowlist.js.map +1 -1
- package/dist/templates/filter-shared.js +2 -2
- package/dist/templates/filter-shared.js.map +1 -1
- package/dist/templates/filter-type.d.ts +7 -1
- package/dist/templates/filter-type.d.ts.map +1 -1
- package/dist/templates/filter-type.js +10 -6
- package/dist/templates/filter-type.js.map +1 -1
- package/dist/templates/find-templates.d.ts +4 -0
- package/dist/templates/find-templates.d.ts.map +1 -0
- package/dist/templates/find-templates.js +15 -0
- package/dist/templates/find-templates.js.map +1 -0
- package/dist/templates/fr010-field-mapping.d.ts +2 -0
- package/dist/templates/fr010-field-mapping.d.ts.map +1 -1
- package/dist/templates/fr010-field-mapping.js +15 -11
- package/dist/templates/fr010-field-mapping.js.map +1 -1
- package/dist/templates/inferred-types.d.ts +44 -7
- package/dist/templates/inferred-types.d.ts.map +1 -1
- package/dist/templates/inferred-types.js +121 -19
- package/dist/templates/inferred-types.js.map +1 -1
- package/dist/templates/mermaid-er.d.ts +35 -2
- package/dist/templates/mermaid-er.d.ts.map +1 -1
- package/dist/templates/mermaid-er.js +174 -7
- package/dist/templates/mermaid-er.js.map +1 -1
- package/dist/templates/output-format-spec-emitter.js +1 -1
- package/dist/templates/output-format-spec-emitter.js.map +1 -1
- package/dist/templates/output-parser.d.ts.map +1 -1
- package/dist/templates/output-parser.js +31 -80
- package/dist/templates/output-parser.js.map +1 -1
- package/dist/templates/output-prompt.d.ts.map +1 -1
- package/dist/templates/output-prompt.js +2 -2
- package/dist/templates/output-prompt.js.map +1 -1
- package/dist/templates/queries-file.d.ts.map +1 -1
- package/dist/templates/queries-file.js +113 -5
- package/dist/templates/queries-file.js.map +1 -1
- package/dist/templates/queries.d.ts +7 -2
- package/dist/templates/queries.d.ts.map +1 -1
- package/dist/templates/queries.js +15 -15
- package/dist/templates/queries.js.map +1 -1
- package/dist/templates/relations-block.d.ts.map +1 -1
- package/dist/templates/relations-block.js +12 -3
- package/dist/templates/relations-block.js.map +1 -1
- package/dist/templates/render-helper.d.ts.map +1 -1
- package/dist/templates/render-helper.js +5 -5
- package/dist/templates/render-helper.js.map +1 -1
- package/dist/templates/routes-file-hono.d.ts.map +1 -1
- package/dist/templates/routes-file-hono.js +1 -2
- package/dist/templates/routes-file-hono.js.map +1 -1
- package/dist/templates/routes-file.d.ts.map +1 -1
- package/dist/templates/routes-file.js +184 -7
- package/dist/templates/routes-file.js.map +1 -1
- package/dist/templates/tph-discriminator.d.ts +56 -0
- package/dist/templates/tph-discriminator.d.ts.map +1 -0
- package/dist/templates/tph-discriminator.js +180 -0
- package/dist/templates/tph-discriminator.js.map +1 -0
- package/dist/templates/value-object-file.d.ts +2 -1
- package/dist/templates/value-object-file.d.ts.map +1 -1
- package/dist/templates/value-object-file.js +33 -5
- package/dist/templates/value-object-file.js.map +1 -1
- package/dist/templates/zod-validators.d.ts +65 -2
- package/dist/templates/zod-validators.d.ts.map +1 -1
- package/dist/templates/zod-validators.js +202 -22
- package/dist/templates/zod-validators.js.map +1 -1
- package/package.json +103 -34
- package/src/column-mapper.ts +79 -32
- package/src/constants.ts +18 -0
- package/src/docs-paths.ts +128 -0
- package/src/enum-import.ts +43 -0
- package/src/enum-shared.ts +95 -0
- package/src/generator-registry.ts +204 -0
- package/src/generator.ts +6 -0
- package/src/generators/api-doc-render.ts +572 -0
- package/src/generators/api-docs-file.ts +146 -0
- package/src/generators/api-field-shape.ts +114 -0
- package/src/generators/api-label.ts +7 -0
- package/src/generators/api-model.ts +1067 -0
- package/src/generators/docs-data-builder.ts +483 -189
- package/src/generators/docs-data.ts +139 -28
- package/src/generators/docs-file.ts +205 -39
- package/src/generators/entity-file.ts +31 -15
- package/src/generators/extractor-file.ts +2 -1
- package/src/generators/field-anchor.ts +24 -0
- package/src/generators/index.ts +8 -1
- package/src/generators/mermaid-er.ts +14 -0
- package/src/generators/output-parser-file.ts +3 -4
- package/src/generators/output-prompt-file.ts +2 -1
- package/src/generators/prompt-render-file.ts +3 -4
- package/src/generators/queries-file.ts +9 -3
- package/src/generators/render-helper-file.ts +2 -1
- package/src/generators/routes-file-hono.ts +5 -1
- package/src/generators/routes-file.ts +7 -1
- package/src/generators/template-doc-builder.ts +306 -0
- package/src/generators/template-doc-data.ts +85 -0
- package/src/generators/template-payload-tree.ts +71 -0
- package/src/generators/template-source-annotate.ts +290 -0
- package/src/generators/template-source-render.ts +203 -0
- package/src/generators/trace-helper-file.ts +301 -0
- package/src/import-path.ts +28 -0
- package/src/index.ts +55 -4
- package/src/metaobjects-config.ts +146 -2
- package/src/naming.ts +73 -3
- package/src/payload-codegen.ts +16 -5
- package/src/pk-resolver.ts +4 -2
- package/src/projection/extract-view-spec.ts +50 -31
- package/src/relation-resolver.ts +103 -1
- package/src/render-context.ts +32 -2
- package/src/render-engine/embedded-templates.generated.ts +14 -0
- package/src/render-engine/framework-provider.ts +25 -11
- package/src/runner.ts +24 -0
- package/src/templates/docs-file.ts +2 -9
- package/src/templates/drizzle-schema.ts +80 -28
- package/src/templates/entity-constants.ts +3 -3
- package/src/templates/entity-file.ts +16 -5
- package/src/templates/enums-file.ts +50 -0
- package/src/templates/extract-delegate-emitter.ts +6 -7
- package/src/templates/extractor.ts +70 -40
- package/src/templates/field-meta.ts +1 -7
- package/src/templates/filter-allowlist.ts +18 -11
- package/src/templates/filter-shared.ts +2 -2
- package/src/templates/filter-type.ts +9 -7
- package/src/templates/find-templates.ts +15 -0
- package/src/templates/fr010-field-mapping.ts +15 -13
- package/src/templates/inferred-types.ts +122 -21
- package/src/templates/mermaid-er.ts +176 -8
- package/src/templates/output-format-spec-emitter.ts +1 -1
- package/src/templates/output-parser.ts +31 -80
- package/src/templates/output-prompt.ts +2 -1
- package/src/templates/queries-file.ts +133 -4
- package/src/templates/queries.ts +21 -15
- package/src/templates/relations-block.ts +19 -3
- package/src/templates/render-helper.ts +5 -4
- package/src/templates/routes-file-hono.ts +1 -2
- package/src/templates/routes-file.ts +234 -7
- package/src/templates/tph-discriminator.ts +232 -0
- package/src/templates/value-object-file.ts +39 -5
- package/src/templates/zod-validators.ts +225 -21
- package/templates/api/agent-api.md.mustache +30 -0
- package/templates/api/entity-api.md.mustache +69 -0
- package/templates/api/index.md.mustache +21 -0
- package/templates/docs/entity-page.md.mustache +33 -21
- package/templates/docs/template-page.md.mustache +56 -0
- package/dist/templates/extract-schema-emitter.d.ts +0 -8
- package/dist/templates/extract-schema-emitter.d.ts.map +0 -1
- package/dist/templates/extract-schema-emitter.js +0 -81
- package/dist/templates/extract-schema-emitter.js.map +0 -1
- package/src/templates/extract-schema-emitter.ts +0 -111
package/README.md
CHANGED
|
@@ -198,7 +198,7 @@ if (!r.success) { /* handle r.error (a ZodError) */ } else { /* use r.data */ }
|
|
|
198
198
|
| Field subtype | Emitted Zod |
|
|
199
199
|
|---|---|
|
|
200
200
|
| `field.string`, `field.class` | `z.string()` |
|
|
201
|
-
| `field.int`, `field.long
|
|
201
|
+
| `field.int`, `field.long` | `z.number().int()` |
|
|
202
202
|
| `field.double`, `field.float` | `z.number()` |
|
|
203
203
|
| `field.boolean` | `z.boolean()` |
|
|
204
204
|
| `field.object` (with `@objectRef`) | nested `z.object({ ... })` |
|
package/dist/column-mapper.d.ts
CHANGED
|
@@ -37,20 +37,26 @@ export interface ColumnSpec {
|
|
|
37
37
|
checkConstraint?: string;
|
|
38
38
|
/**
|
|
39
39
|
* Optional `.$type<...>()` chain target. Renderer (drizzle-schema.ts) emits
|
|
40
|
-
*
|
|
41
|
-
*
|
|
40
|
+
* it ahead of the modifiers chain, using ts-poet `imp()` for objectRef
|
|
41
|
+
* variants so the cross-module type import auto-hoists. `array` controls the
|
|
42
|
+
* `[]` suffix: a single value (`VO`) vs a collection (`VO[]`).
|
|
42
43
|
* `kind: "scalar"` covers string[]/number[]/boolean[] — no import needed.
|
|
43
|
-
* `kind: "objectRef"` covers SourceLens
|
|
44
|
-
*
|
|
44
|
+
* `kind: "objectRef"` covers SourceLens/Dissent/etc. — only the bare VO `name`
|
|
45
|
+
* is carried; the renderer resolves the import MODULE via the shared
|
|
46
|
+
* `valueObjectModuleSpecifier` (layout/package/extStyle-aware, identical to the
|
|
47
|
+
* field's TS type + Zod schema). A single Postgres jsonb object column
|
|
48
|
+
* (`array: false`) gets `.$type<VO>()`; an array of VOs held in one jsonb
|
|
49
|
+
* column gets `.$type<VO[]>()`.
|
|
45
50
|
*/
|
|
46
51
|
dollarTypeRef?: {
|
|
47
52
|
kind: "scalar";
|
|
48
53
|
tsType: "string" | "number" | "boolean";
|
|
54
|
+
array: boolean;
|
|
49
55
|
} | {
|
|
50
56
|
kind: "objectRef";
|
|
51
57
|
name: string;
|
|
52
|
-
|
|
58
|
+
array: boolean;
|
|
53
59
|
};
|
|
54
60
|
}
|
|
55
|
-
export declare function mapColumnType(field: MetaField, dialect: Dialect, strategy?: ColumnNamingStrategy): ColumnSpec;
|
|
61
|
+
export declare function mapColumnType(field: MetaField, dialect: Dialect, strategy?: ColumnNamingStrategy, timestampMode?: "date" | "string"): ColumnSpec;
|
|
56
62
|
//# sourceMappingURL=column-mapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-mapper.d.ts","sourceRoot":"","sources":["../src/column-mapper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"column-mapper.d.ts","sourceRoot":"","sources":["../src/column-mapper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAoC1D,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE7E,YAAY,EAAE,OAAO,EAAE,CAAC;AAExB;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AA+DxC,MAAM,WAAW,UAAU;IACzB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,iEAAiE;IACjE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EACV;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAC3E;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CACzD;AAsED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,GAAE,oBAAqD,EAC/D,aAAa,GAAE,MAAM,GAAG,QAAmB,GAC1C,UAAU,CAmRZ"}
|
package/dist/column-mapper.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// Field-type → Drizzle column type mapping. Per design §6.
|
|
2
2
|
// Uses the typed MetaField.validators() accessor (effective — includes inherited) for all validator checks.
|
|
3
|
-
import { FIELD_SUBTYPE_STRING, FIELD_SUBTYPE_INT, FIELD_SUBTYPE_LONG, FIELD_SUBTYPE_CURRENCY, FIELD_SUBTYPE_DOUBLE, FIELD_SUBTYPE_FLOAT, FIELD_SUBTYPE_DECIMAL, FIELD_SUBTYPE_BOOLEAN, FIELD_SUBTYPE_DATE, FIELD_SUBTYPE_TIME, FIELD_SUBTYPE_TIMESTAMP, FIELD_SUBTYPE_OBJECT,
|
|
3
|
+
import { FIELD_SUBTYPE_STRING, FIELD_SUBTYPE_INT, FIELD_SUBTYPE_LONG, FIELD_SUBTYPE_CURRENCY, FIELD_SUBTYPE_DOUBLE, FIELD_SUBTYPE_FLOAT, FIELD_SUBTYPE_DECIMAL, FIELD_SUBTYPE_BOOLEAN, FIELD_SUBTYPE_DATE, FIELD_SUBTYPE_TIME, FIELD_SUBTYPE_TIMESTAMP, FIELD_SUBTYPE_OBJECT, FIELD_SUBTYPE_ENUM, FIELD_SUBTYPE_UUID, VALIDATOR_SUBTYPE_REQUIRED, VALIDATOR_SUBTYPE_LENGTH, FIELD_ATTR_MAX_LENGTH, FIELD_ATTR_PRECISION, FIELD_ATTR_SCALE, FIELD_ATTR_REQUIRED, FIELD_ATTR_UNIQUE, FIELD_ATTR_DEFAULT, FIELD_ATTR_OBJECT_REF, FIELD_ATTR_STORAGE, STORAGE_JSONB, VALIDATOR_ATTR_MAX, FIELD_ATTR_DB_COLUMN_TYPE, DB_COLUMN_TYPE_UUID, DB_COLUMN_TYPE_JSONB, DB_COLUMN_TYPE_TIMESTAMP_WITH_TZ, } from "@metaobjectsdev/metadata";
|
|
4
4
|
import { columnNameFromField } from "./naming.js";
|
|
5
5
|
import { enumValues } from "./enum-meta.js";
|
|
6
|
-
import { DEFAULT_COLUMN_NAMING_STRATEGY } from "@metaobjectsdev/metadata";
|
|
6
|
+
import { DEFAULT_COLUMN_NAMING_STRATEGY, stripPackage } from "@metaobjectsdev/metadata";
|
|
7
7
|
/**
|
|
8
8
|
* Patterns recognized as SQL expressions in a default value. Anything matching
|
|
9
9
|
* these is treated as a SQL expression, not a string literal. Mirrors
|
|
@@ -33,7 +33,6 @@ function sqliteJsonArrayElementTsType(subType) {
|
|
|
33
33
|
switch (subType) {
|
|
34
34
|
case FIELD_SUBTYPE_STRING:
|
|
35
35
|
case FIELD_SUBTYPE_ENUM:
|
|
36
|
-
case FIELD_SUBTYPE_CLASS:
|
|
37
36
|
case FIELD_SUBTYPE_UUID:
|
|
38
37
|
case FIELD_SUBTYPE_DATE:
|
|
39
38
|
case FIELD_SUBTYPE_TIME:
|
|
@@ -80,8 +79,8 @@ function canonicalizeSqlExpr(value) {
|
|
|
80
79
|
* unrecognized value never reaches here; an unknown value returns undefined
|
|
81
80
|
* (fall through to subtype default).
|
|
82
81
|
*/
|
|
83
|
-
function pgColumnTypeOverride(field) {
|
|
84
|
-
const dbColumnType = field.
|
|
82
|
+
function pgColumnTypeOverride(field, timestampMode = "string") {
|
|
83
|
+
const dbColumnType = field.attr(FIELD_ATTR_DB_COLUMN_TYPE);
|
|
85
84
|
if (typeof dbColumnType !== "string")
|
|
86
85
|
return undefined;
|
|
87
86
|
switch (dbColumnType) {
|
|
@@ -91,9 +90,10 @@ function pgColumnTypeOverride(field) {
|
|
|
91
90
|
return { fnName: "jsonb" };
|
|
92
91
|
case DB_COLUMN_TYPE_TIMESTAMP_WITH_TZ:
|
|
93
92
|
// Drizzle pg-core: timestamp(col, { withTimezone: true }) → timestamptz.
|
|
94
|
-
// mode
|
|
95
|
-
//
|
|
96
|
-
|
|
93
|
+
// mode defaults to "string" (ISO-8601 wire contract, matching the generated
|
|
94
|
+
// Zod); a consumer can opt into "date" (drizzle's native mode) via
|
|
95
|
+
// codegen.timestampMode when its hand-written code works with JS Dates.
|
|
96
|
+
return { fnName: "timestamp", fnOptions: { mode: timestampMode, withTimezone: true } };
|
|
97
97
|
default:
|
|
98
98
|
return undefined;
|
|
99
99
|
}
|
|
@@ -101,7 +101,7 @@ function pgColumnTypeOverride(field) {
|
|
|
101
101
|
/** Resolve max length from validator.length child or @maxLength attr.
|
|
102
102
|
* Uses field.validators() (effective) so inherited validators are seen. */
|
|
103
103
|
function getMaxLength(field) {
|
|
104
|
-
const lenAttr = field.
|
|
104
|
+
const lenAttr = field.attr(FIELD_ATTR_MAX_LENGTH);
|
|
105
105
|
if (typeof lenAttr === "number")
|
|
106
106
|
return lenAttr;
|
|
107
107
|
for (const child of field.validators()) {
|
|
@@ -116,11 +116,20 @@ function getMaxLength(field) {
|
|
|
116
116
|
/** Check for validator.required child OR @required attr.
|
|
117
117
|
* Uses field.validators() (effective) so inherited validators are seen. */
|
|
118
118
|
function isRequired(field) {
|
|
119
|
-
if (field.
|
|
119
|
+
if (field.attr(FIELD_ATTR_REQUIRED) === true)
|
|
120
120
|
return true;
|
|
121
121
|
return field.validators().some((child) => child.subType === VALIDATOR_SUBTYPE_REQUIRED);
|
|
122
122
|
}
|
|
123
|
-
|
|
123
|
+
/** The bare (package-stripped) @objectRef name on a field.object, or undefined
|
|
124
|
+
* when unset. Used as the `.$type<VO>()` target + its sibling-module import.
|
|
125
|
+
* A fully-qualified ref (acme::ai::SourceLens) strips to the short name. */
|
|
126
|
+
function objectRefBaseName(field) {
|
|
127
|
+
const ref = field.attr(FIELD_ATTR_OBJECT_REF);
|
|
128
|
+
if (typeof ref === "string" && ref.length > 0)
|
|
129
|
+
return stripPackage(ref);
|
|
130
|
+
return undefined;
|
|
131
|
+
}
|
|
132
|
+
export function mapColumnType(field, dialect, strategy = DEFAULT_COLUMN_NAMING_STRATEGY, timestampMode = "string") {
|
|
124
133
|
const dbName = field.column ?? columnNameFromField(field.name, strategy);
|
|
125
134
|
const importModule = dialect === "sqlite" ? "drizzle-orm/sqlite-core" : "drizzle-orm/pg-core";
|
|
126
135
|
const subType = field.subType;
|
|
@@ -156,13 +165,21 @@ export function mapColumnType(field, dialect, strategy = DEFAULT_COLUMN_NAMING_S
|
|
|
156
165
|
// isn't a silent rounding hazard.
|
|
157
166
|
leadingComment = "TODO: SQLite has no decimal type; stored as text. Convert at the application boundary or migrate to Postgres for native numeric.";
|
|
158
167
|
break;
|
|
168
|
+
case FIELD_SUBTYPE_OBJECT:
|
|
169
|
+
// A nested object is stored as a single JSON column (the default
|
|
170
|
+
// single-jsonb-column storage). SQLite has no native jsonb, so the
|
|
171
|
+
// idiomatic Drizzle form is text(..., { mode: "json" }) — agreeing with
|
|
172
|
+
// migrate-ts/expected-schema, which maps field.object → { kind: "json" }
|
|
173
|
+
// (JSON on SQLite). @storage flattened expansion is a separate codegen
|
|
174
|
+
// gap; the column TYPE here is the single-column JSON representation.
|
|
175
|
+
fnName = "text";
|
|
176
|
+
fnOptions = { mode: "json" };
|
|
177
|
+
break;
|
|
159
178
|
case FIELD_SUBTYPE_DATE:
|
|
160
179
|
case FIELD_SUBTYPE_TIME:
|
|
161
180
|
case FIELD_SUBTYPE_TIMESTAMP:
|
|
162
181
|
case FIELD_SUBTYPE_STRING:
|
|
163
182
|
case FIELD_SUBTYPE_ENUM:
|
|
164
|
-
case FIELD_SUBTYPE_CLASS:
|
|
165
|
-
case FIELD_SUBTYPE_OBJECT:
|
|
166
183
|
case FIELD_SUBTYPE_UUID:
|
|
167
184
|
// SQLite has no native uuid type; store as TEXT (string native binding).
|
|
168
185
|
fnName = "text";
|
|
@@ -177,7 +194,7 @@ export function mapColumnType(field, dialect, strategy = DEFAULT_COLUMN_NAMING_S
|
|
|
177
194
|
// A physical @dbColumnType override wins over the subtype default (Postgres
|
|
178
195
|
// only; SQLite has no native analogue and falls through above). Resolved
|
|
179
196
|
// first so the override-precedence matches migrate-ts's expected-schema.
|
|
180
|
-
const override = pgColumnTypeOverride(field);
|
|
197
|
+
const override = pgColumnTypeOverride(field, timestampMode);
|
|
181
198
|
if (override !== undefined) {
|
|
182
199
|
// Override fully determines the physical type; skip the subtype switch.
|
|
183
200
|
fnName = override.fnName;
|
|
@@ -217,7 +234,7 @@ export function mapColumnType(field, dialect, strategy = DEFAULT_COLUMN_NAMING_S
|
|
|
217
234
|
// inconsistent with the string-typed schema + wire contract and
|
|
218
235
|
// throws on a string write. See SP-B api-contract-generated lane.
|
|
219
236
|
fnName = "timestamp";
|
|
220
|
-
fnOptions = { mode:
|
|
237
|
+
fnOptions = { mode: timestampMode };
|
|
221
238
|
break;
|
|
222
239
|
case FIELD_SUBTYPE_UUID:
|
|
223
240
|
// Postgres native uuid column; native TS binding stays `string`.
|
|
@@ -229,8 +246,8 @@ export function mapColumnType(field, dialect, strategy = DEFAULT_COLUMN_NAMING_S
|
|
|
229
246
|
// declared @precision/@scale (mirroring migrate-ts/expected-schema so
|
|
230
247
|
// codegen and the DDL agree), falling back to a sane default.
|
|
231
248
|
fnName = "numeric";
|
|
232
|
-
const precision = field.
|
|
233
|
-
const scale = field.
|
|
249
|
+
const precision = field.attr(FIELD_ATTR_PRECISION);
|
|
250
|
+
const scale = field.attr(FIELD_ATTR_SCALE);
|
|
234
251
|
if (typeof precision === "number" && typeof scale === "number") {
|
|
235
252
|
fnOptions = { precision, scale };
|
|
236
253
|
}
|
|
@@ -253,9 +270,15 @@ export function mapColumnType(field, dialect, strategy = DEFAULT_COLUMN_NAMING_S
|
|
|
253
270
|
}
|
|
254
271
|
break;
|
|
255
272
|
}
|
|
256
|
-
case FIELD_SUBTYPE_ENUM:
|
|
257
|
-
case FIELD_SUBTYPE_CLASS:
|
|
258
273
|
case FIELD_SUBTYPE_OBJECT:
|
|
274
|
+
// A nested object is stored as a single jsonb column (the default
|
|
275
|
+
// single-jsonb-column storage), matching migrate-ts/expected-schema,
|
|
276
|
+
// which maps field.object → { kind: "json" } → JSONB on Postgres.
|
|
277
|
+
// @storage flattened expansion is a separate codegen gap; the column
|
|
278
|
+
// TYPE here is the single-column jsonb representation.
|
|
279
|
+
fnName = "jsonb";
|
|
280
|
+
break;
|
|
281
|
+
case FIELD_SUBTYPE_ENUM:
|
|
259
282
|
default:
|
|
260
283
|
fnName = "text";
|
|
261
284
|
break;
|
|
@@ -275,7 +298,11 @@ export function mapColumnType(field, dialect, strategy = DEFAULT_COLUMN_NAMING_S
|
|
|
275
298
|
}
|
|
276
299
|
}
|
|
277
300
|
const modifiers = [];
|
|
278
|
-
|
|
301
|
+
// Postgres native arrays (text[]/integer[]/…) apply to SCALAR array fields
|
|
302
|
+
// only. An object-typed field is stored as a single jsonb column holding the
|
|
303
|
+
// JSON array (storage jsonb/subdocument), so it gets NO native .array() — the
|
|
304
|
+
// array-ness is carried by the .$type<VO[]>() annotation computed below.
|
|
305
|
+
if (dialect === "postgres" && isArray && subType !== FIELD_SUBTYPE_OBJECT) {
|
|
279
306
|
modifiers.push(".array()");
|
|
280
307
|
}
|
|
281
308
|
// SQLite stores arrays as JSON in a text column; Drizzle's text(...,{mode:"json"})
|
|
@@ -291,11 +318,11 @@ export function mapColumnType(field, dialect, strategy = DEFAULT_COLUMN_NAMING_S
|
|
|
291
318
|
if (isRequired(field)) {
|
|
292
319
|
modifiers.push(".notNull()");
|
|
293
320
|
}
|
|
294
|
-
if (field.
|
|
321
|
+
if (field.attr(FIELD_ATTR_UNIQUE) === true) {
|
|
295
322
|
modifiers.push(".unique()");
|
|
296
323
|
}
|
|
297
324
|
let defaultExpr;
|
|
298
|
-
const defaultAttr = field.
|
|
325
|
+
const defaultAttr = field.attr(FIELD_ATTR_DEFAULT);
|
|
299
326
|
if (defaultAttr !== undefined) {
|
|
300
327
|
// SQL-expression detection runs on the raw string value — a string like
|
|
301
328
|
// "CURRENT_TIMESTAMP" or "now" must be emitted as sql`...`, not a literal.
|
|
@@ -319,23 +346,36 @@ export function mapColumnType(field, dialect, strategy = DEFAULT_COLUMN_NAMING_S
|
|
|
319
346
|
defaultExpr = { kind: "literal", value: typedValue };
|
|
320
347
|
}
|
|
321
348
|
}
|
|
322
|
-
//
|
|
323
|
-
//
|
|
349
|
+
// jsonb / JSON-in-text columns infer as `unknown` in Drizzle without a
|
|
350
|
+
// .$type<>() annotation. Carry the logical TS type so the column is typed:
|
|
351
|
+
// - SQLite isArray: arrays serialize as JSON-in-text → .$type<E[]>() (scalar
|
|
352
|
+
// element type, or the @objectRef VO for object arrays).
|
|
353
|
+
// - Postgres field.object: a single jsonb column → .$type<VO>(), or
|
|
354
|
+
// .$type<VO[]>() when isArray (the JSON array lives in the one column; no
|
|
355
|
+
// native .array() is emitted for object storage — see modifiers above).
|
|
356
|
+
// Scalar Postgres arrays use native .array() (already element-typed by
|
|
357
|
+
// Drizzle) so they need no $type.
|
|
324
358
|
let dollarTypeRef;
|
|
325
359
|
if (dialect === "sqlite" && isArray) {
|
|
326
360
|
if (subType === FIELD_SUBTYPE_OBJECT) {
|
|
327
|
-
const
|
|
328
|
-
if (
|
|
329
|
-
dollarTypeRef = { kind: "objectRef", name:
|
|
361
|
+
const base = objectRefBaseName(field);
|
|
362
|
+
if (base !== undefined) {
|
|
363
|
+
dollarTypeRef = { kind: "objectRef", name: base, array: true };
|
|
330
364
|
}
|
|
331
365
|
}
|
|
332
366
|
else {
|
|
333
367
|
const scalar = sqliteJsonArrayElementTsType(subType);
|
|
334
368
|
if (scalar !== undefined) {
|
|
335
|
-
dollarTypeRef = { kind: "scalar", tsType: scalar };
|
|
369
|
+
dollarTypeRef = { kind: "scalar", tsType: scalar, array: true };
|
|
336
370
|
}
|
|
337
371
|
}
|
|
338
372
|
}
|
|
373
|
+
else if (dialect === "postgres" && subType === FIELD_SUBTYPE_OBJECT) {
|
|
374
|
+
const base = objectRefBaseName(field);
|
|
375
|
+
if (base !== undefined) {
|
|
376
|
+
dollarTypeRef = { kind: "objectRef", name: base, array: isArray };
|
|
377
|
+
}
|
|
378
|
+
}
|
|
339
379
|
const result = {
|
|
340
380
|
fnName,
|
|
341
381
|
dbName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-mapper.js","sourceRoot":"","sources":["../src/column-mapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"column-mapper.js","sourceRoot":"","sources":["../src/column-mapper.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -4,4 +4,12 @@ export declare const GENERATED_HEADER = "@generated by @metaobjectsdev/codegen-t
|
|
|
4
4
|
export declare const EXTRA_SUFFIX = ".extra";
|
|
5
5
|
/** Default outDir used by tests + as a sane default for generate(). */
|
|
6
6
|
export declare const DEFAULT_OUT_DIR = "./src/db/entities";
|
|
7
|
+
/** `@emitTanstack: false` — skip the TanStack hooks + grid generators for an entity. */
|
|
8
|
+
export declare const CODEGEN_ATTR_EMIT_TANSTACK = "emitTanstack";
|
|
9
|
+
/** `@emitGrid: true` — opt a TPH subtype IN to its own per-subtype grid (default: the polymorphic base grid is the single source). */
|
|
10
|
+
export declare const CODEGEN_ATTR_EMIT_GRID = "emitGrid";
|
|
11
|
+
/** `@emitForm: false` — skip the React form generator for an entity. */
|
|
12
|
+
export declare const CODEGEN_ATTR_EMIT_FORM = "emitForm";
|
|
13
|
+
/** `@emitRoutes: false` — skip the Fastify routes generator for an entity. */
|
|
14
|
+
export declare const CODEGEN_ATTR_EMIT_ROUTES = "emitRoutes";
|
|
7
15
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,6CAA6C,CAAC;AAE3E,6EAA6E;AAC7E,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,uEAAuE;AACvE,eAAO,MAAM,eAAe,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,6CAA6C,CAAC;AAE3E,6EAA6E;AAC7E,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,uEAAuE;AACvE,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAWnD,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD,sIAAsI;AACtI,eAAO,MAAM,sBAAsB,aAAa,CAAC;AACjD,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,aAAa,CAAC;AACjD,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,eAAe,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -5,4 +5,20 @@ export const GENERATED_HEADER = "@generated by @metaobjectsdev/codegen-ts";
|
|
|
5
5
|
export const EXTRA_SUFFIX = ".extra";
|
|
6
6
|
/** Default outDir used by tests + as a sane default for generate(). */
|
|
7
7
|
export const DEFAULT_OUT_DIR = "./src/db/entities";
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
// Codegen-control attributes.
|
|
10
|
+
//
|
|
11
|
+
// These are per-entity opt-in/opt-out flags read by generators (NOT metamodel
|
|
12
|
+
// vocabulary — they tune codegen, not the model). Named here so the literals
|
|
13
|
+
// aren't scattered as magic strings across the generator packages (compile-time
|
|
14
|
+
// typo safety), matching the metadata package's constants discipline.
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
/** `@emitTanstack: false` — skip the TanStack hooks + grid generators for an entity. */
|
|
17
|
+
export const CODEGEN_ATTR_EMIT_TANSTACK = "emitTanstack";
|
|
18
|
+
/** `@emitGrid: true` — opt a TPH subtype IN to its own per-subtype grid (default: the polymorphic base grid is the single source). */
|
|
19
|
+
export const CODEGEN_ATTR_EMIT_GRID = "emitGrid";
|
|
20
|
+
/** `@emitForm: false` — skip the React form generator for an entity. */
|
|
21
|
+
export const CODEGEN_ATTR_EMIT_FORM = "emitForm";
|
|
22
|
+
/** `@emitRoutes: false` — skip the Fastify routes generator for an entity. */
|
|
23
|
+
export const CODEGEN_ATTR_EMIT_ROUTES = "emitRoutes";
|
|
8
24
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAElC,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,0CAA0C,CAAC;AAE3E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;AAErC,uEAAuE;AACvE,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAElC,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,0CAA0C,CAAC;AAE3E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;AAErC,uEAAuE;AACvE,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAEnD,8EAA8E;AAC9E,8BAA8B;AAC9B,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAChF,sEAAsE;AACtE,8EAA8E;AAE9E,wFAAwF;AACxF,MAAM,CAAC,MAAM,0BAA0B,GAAG,cAAc,CAAC;AACzD,sIAAsI;AACtI,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;AACjD,wEAAwE;AACxE,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;AACjD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type OutputLayout } from "./import-path.js";
|
|
2
|
+
/** The minimal shape needed to place a docs page / compute a link to it: a
|
|
3
|
+
* short name and its EFFECTIVE package. Build one from a metadata node via
|
|
4
|
+
* `docPageNode()`. */
|
|
5
|
+
export interface DocPageNode {
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly package?: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
/** A metadata node enough to derive page placement. `resolutionKey()` carries
|
|
10
|
+
* the EFFECTIVE package (own package OR the file-default captured at parse
|
|
11
|
+
* time) folded as `<pkg>::<name>` — `.package` alone is often undefined for
|
|
12
|
+
* objects (FR5d keeps object fqn() bare), so we read placement off the
|
|
13
|
+
* resolution key instead. */
|
|
14
|
+
interface PlaceableNode {
|
|
15
|
+
readonly name: string;
|
|
16
|
+
resolutionKey(): string;
|
|
17
|
+
}
|
|
18
|
+
/** Effective package of a placeable node: the prefix of `resolutionKey()`
|
|
19
|
+
* before the trailing `::<name>`, or undefined when the node is package-less. */
|
|
20
|
+
export declare function effectivePackage(node: PlaceableNode): string | undefined;
|
|
21
|
+
/** Build a placement node ({name, effective package}) from a metadata node. The
|
|
22
|
+
* single bridge from a loaded node to the path/href helpers — so file location
|
|
23
|
+
* and link href derive from the SAME effective package. */
|
|
24
|
+
export declare function docPageNode(node: PlaceableNode): DocPageNode;
|
|
25
|
+
/** Output path (relative to the docs out dir) for a node's `.md` page.
|
|
26
|
+
* Flat → `<name>.md` (today's value, byte-identical). Package → folded under
|
|
27
|
+
* the package path (`acme/sales/Order.md`); a package-less node stays at root. */
|
|
28
|
+
export declare function docPageOutputPath(layout: OutputLayout, node: DocPageNode): string;
|
|
29
|
+
/** Relative href FROM `fromNode`'s page TO `toNode`'s page. Derived from the
|
|
30
|
+
* same `docPageOutputPath()` placement, so a link always points at the file's
|
|
31
|
+
* real location in BOTH layouts. Flat → `./<to>.md`; package → a correct
|
|
32
|
+
* relative path (e.g. `../comms/OrderEmail.md`). */
|
|
33
|
+
export declare function docPageHref(layout: OutputLayout, fromNode: DocPageNode, toNode: DocPageNode): string;
|
|
34
|
+
/** Relative href between two doc pages whose output paths (relative to the shared
|
|
35
|
+
* docs outDir) may sit under different surface sub-roots — e.g. model `Order.md`
|
|
36
|
+
* and api `api/Order.md`. The shared relative-path rule, over raw paths;
|
|
37
|
+
* docPageHref delegates its package-layout branch here. */
|
|
38
|
+
export declare function surfaceCrossHref(fromOutputPath: string, toOutputPath: string): string;
|
|
39
|
+
/** Href FROM a page (at `fromOutputPath`, relative to the docs root) TO a page
|
|
40
|
+
* (`page`, relative to the surface's own root) in an api surface. Relative via
|
|
41
|
+
* `surfaceCrossHref` when the surface is in the same tree; absolute `baseUrl/page`
|
|
42
|
+
* when the surface declares a baseUrl (federated / separate repo). */
|
|
43
|
+
export declare function apiSurfaceHref(fromOutputPath: string, surface: {
|
|
44
|
+
subDir: string;
|
|
45
|
+
baseUrl?: string;
|
|
46
|
+
}, page: string): string;
|
|
47
|
+
/** A page about to be emitted, paired with the FQN of the node that produced it
|
|
48
|
+
* (for a precise collision diagnostic). */
|
|
49
|
+
export interface DocPagePlacement {
|
|
50
|
+
path: string;
|
|
51
|
+
fqn: string;
|
|
52
|
+
}
|
|
53
|
+
/** Hard backstop against silent overwrite (ALL layouts): if two placements
|
|
54
|
+
* resolve to the SAME output path, THROW naming both colliding node FQNs and
|
|
55
|
+
* the path. Guarantees a docs run never silently drops a page. */
|
|
56
|
+
export declare function assertNoDuplicateDocPaths(placements: DocPagePlacement[]): void;
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=docs-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-paths.d.ts","sourceRoot":"","sources":["../src/docs-paths.ts"],"names":[],"mappings":"AAaA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEpE;;uBAEuB;AACvB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED;;;;8BAI8B;AAC9B,UAAU,aAAa;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,aAAa,IAAI,MAAM,CAAC;CACzB;AAED;kFACkF;AAClF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CASxE;AAED;;4DAE4D;AAC5D,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,CAE5D;AAED;;mFAEmF;AACnF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAKjF;AAED;;;qDAGqD;AACrD,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,WAAW,GAClB,MAAM,CAMR;AAED;;;4DAG4D;AAC5D,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAIrF;AAED;;;uEAGuE;AACvE,wBAAgB,cAAc,CAC5B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7C,IAAI,EAAE,MAAM,GACX,MAAM,CAKR;AAED;4CAC4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;mEAEmE;AACnE,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAa9E"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// docs-paths.ts — the SINGLE source of truth for where a docs page is written
|
|
2
|
+
// AND how one page links to another. The file location and every inbound link
|
|
3
|
+
// href are derived from the SAME functions here, so they can never diverge.
|
|
4
|
+
//
|
|
5
|
+
// Why this matters: pages are placed by short name. In "flat" layout two nodes
|
|
6
|
+
// that share a short name across different packages (e.g. `acme::sales::Order`
|
|
7
|
+
// and `acme::billing::Order`) would both want `Order.md` and one would silently
|
|
8
|
+
// overwrite the other. `assertNoDuplicateDocPaths()` is the hard backstop that
|
|
9
|
+
// turns that data-loss into a clear error; "package" layout folds pages under
|
|
10
|
+
// package-path subdirs (`acme/sales/Order.md`) so multi-package models work.
|
|
11
|
+
import { PACKAGE_SEPARATOR } from "@metaobjectsdev/metadata";
|
|
12
|
+
import { relative as posixRelative } from "node:path/posix";
|
|
13
|
+
import { packageToPath } from "./import-path.js";
|
|
14
|
+
/** Effective package of a placeable node: the prefix of `resolutionKey()`
|
|
15
|
+
* before the trailing `::<name>`, or undefined when the node is package-less. */
|
|
16
|
+
export function effectivePackage(node) {
|
|
17
|
+
const key = node.resolutionKey();
|
|
18
|
+
const suffix = `${PACKAGE_SEPARATOR}${node.name}`;
|
|
19
|
+
if (key === node.name)
|
|
20
|
+
return undefined;
|
|
21
|
+
if (key.endsWith(suffix)) {
|
|
22
|
+
const pkg = key.slice(0, key.length - suffix.length);
|
|
23
|
+
return pkg === "" ? undefined : pkg;
|
|
24
|
+
}
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
/** Build a placement node ({name, effective package}) from a metadata node. The
|
|
28
|
+
* single bridge from a loaded node to the path/href helpers — so file location
|
|
29
|
+
* and link href derive from the SAME effective package. */
|
|
30
|
+
export function docPageNode(node) {
|
|
31
|
+
return { name: node.name, package: effectivePackage(node) };
|
|
32
|
+
}
|
|
33
|
+
/** Output path (relative to the docs out dir) for a node's `.md` page.
|
|
34
|
+
* Flat → `<name>.md` (today's value, byte-identical). Package → folded under
|
|
35
|
+
* the package path (`acme/sales/Order.md`); a package-less node stays at root. */
|
|
36
|
+
export function docPageOutputPath(layout, node) {
|
|
37
|
+
const filename = `${node.name}.md`;
|
|
38
|
+
if (layout === "flat")
|
|
39
|
+
return filename;
|
|
40
|
+
const dir = packageToPath(node.package);
|
|
41
|
+
return dir === "" ? filename : `${dir}/${filename}`;
|
|
42
|
+
}
|
|
43
|
+
/** Relative href FROM `fromNode`'s page TO `toNode`'s page. Derived from the
|
|
44
|
+
* same `docPageOutputPath()` placement, so a link always points at the file's
|
|
45
|
+
* real location in BOTH layouts. Flat → `./<to>.md`; package → a correct
|
|
46
|
+
* relative path (e.g. `../comms/OrderEmail.md`). */
|
|
47
|
+
export function docPageHref(layout, fromNode, toNode) {
|
|
48
|
+
const toPath = docPageOutputPath(layout, toNode);
|
|
49
|
+
if (layout === "flat")
|
|
50
|
+
return `./${toPath}`;
|
|
51
|
+
// Relative path from the FROM page's directory to the TO page — the same
|
|
52
|
+
// raw-path rule surfaceCrossHref uses, so the two can never diverge.
|
|
53
|
+
return surfaceCrossHref(docPageOutputPath(layout, fromNode), toPath);
|
|
54
|
+
}
|
|
55
|
+
/** Relative href between two doc pages whose output paths (relative to the shared
|
|
56
|
+
* docs outDir) may sit under different surface sub-roots — e.g. model `Order.md`
|
|
57
|
+
* and api `api/Order.md`. The shared relative-path rule, over raw paths;
|
|
58
|
+
* docPageHref delegates its package-layout branch here. */
|
|
59
|
+
export function surfaceCrossHref(fromOutputPath, toOutputPath) {
|
|
60
|
+
const fromDir = fromOutputPath.includes("/") ? fromOutputPath.slice(0, fromOutputPath.lastIndexOf("/")) : "";
|
|
61
|
+
const rel = posixRelative(fromDir, toOutputPath);
|
|
62
|
+
return rel.startsWith(".") ? rel : `./${rel}`;
|
|
63
|
+
}
|
|
64
|
+
/** Href FROM a page (at `fromOutputPath`, relative to the docs root) TO a page
|
|
65
|
+
* (`page`, relative to the surface's own root) in an api surface. Relative via
|
|
66
|
+
* `surfaceCrossHref` when the surface is in the same tree; absolute `baseUrl/page`
|
|
67
|
+
* when the surface declares a baseUrl (federated / separate repo). */
|
|
68
|
+
export function apiSurfaceHref(fromOutputPath, surface, page) {
|
|
69
|
+
if (surface.baseUrl !== undefined && surface.baseUrl !== "") {
|
|
70
|
+
return `${surface.baseUrl.replace(/\/$/, "")}/${page}`;
|
|
71
|
+
}
|
|
72
|
+
return surfaceCrossHref(fromOutputPath, `${surface.subDir}/${page}`);
|
|
73
|
+
}
|
|
74
|
+
/** Hard backstop against silent overwrite (ALL layouts): if two placements
|
|
75
|
+
* resolve to the SAME output path, THROW naming both colliding node FQNs and
|
|
76
|
+
* the path. Guarantees a docs run never silently drops a page. */
|
|
77
|
+
export function assertNoDuplicateDocPaths(placements) {
|
|
78
|
+
const seen = new Map();
|
|
79
|
+
for (const { path, fqn } of placements) {
|
|
80
|
+
const prior = seen.get(path);
|
|
81
|
+
if (prior !== undefined) {
|
|
82
|
+
throw new Error(`docs: duplicate output path "${path}" from nodes ${prior} and ${fqn} — ` +
|
|
83
|
+
`use package layout (outputLayout: "package" / meta docs --layout package) ` +
|
|
84
|
+
`to disambiguate.`);
|
|
85
|
+
}
|
|
86
|
+
seen.set(path, fqn);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=docs-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-paths.js","sourceRoot":"","sources":["../src/docs-paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { RenderContext } from "./render-context.js";
|
|
2
|
+
/**
|
|
3
|
+
* Specifier to import a MATERIALIZED shared enum into an entity file in
|
|
4
|
+
* `entityPkg`. The shared module sits at the entity-module target root; in
|
|
5
|
+
* package layout the entity may be nested, so the `./enums` base is adjusted by
|
|
6
|
+
* package depth.
|
|
7
|
+
*/
|
|
8
|
+
export declare function sharedEnumImportSpecifier(ctx: RenderContext, entityPkg: string | undefined): string;
|
|
9
|
+
/**
|
|
10
|
+
* Specifier to import an externally-PROVIDED enum. Resolved from codegen config
|
|
11
|
+
* (`providedEnumModule`); throws a clear codegen-time error when unset.
|
|
12
|
+
*/
|
|
13
|
+
export declare function providedEnumImportSpecifier(ctx: RenderContext, enumName: string): string;
|
|
14
|
+
//# sourceMappingURL=enum-import.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-import.d.ts","sourceRoot":"","sources":["../src/enum-import.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,CAGR;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUxF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// FR-019 — import-specifier resolution for shared + provided enums.
|
|
2
|
+
//
|
|
3
|
+
// A consuming entity file references a shared enum `E` by importing it:
|
|
4
|
+
// • materialized (non-@provided) → from the generated shared enums module
|
|
5
|
+
// (`./enums`, at the entity-module target root, package-layout-aware).
|
|
6
|
+
// • @provided → from the per-port-configured module
|
|
7
|
+
// (`ctx.providedEnumModule`). Missing config ⇒ a codegen-time error naming
|
|
8
|
+
// the enum + the config key (ADR-0026: namespace is config, not metadata).
|
|
9
|
+
import { withExt } from "./render-context.js";
|
|
10
|
+
import { relativeModuleSpecifier } from "./import-path.js";
|
|
11
|
+
import { SHARED_ENUMS_BASENAME } from "./templates/enums-file.js";
|
|
12
|
+
/**
|
|
13
|
+
* Specifier to import a MATERIALIZED shared enum into an entity file in
|
|
14
|
+
* `entityPkg`. The shared module sits at the entity-module target root; in
|
|
15
|
+
* package layout the entity may be nested, so the `./enums` base is adjusted by
|
|
16
|
+
* package depth.
|
|
17
|
+
*/
|
|
18
|
+
export function sharedEnumImportSpecifier(ctx, entityPkg) {
|
|
19
|
+
const base = withExt(`./${SHARED_ENUMS_BASENAME}`, ctx.extStyle);
|
|
20
|
+
return relativeModuleSpecifier(ctx.selfTarget.outputLayout, entityPkg, base);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Specifier to import an externally-PROVIDED enum. Resolved from codegen config
|
|
24
|
+
* (`providedEnumModule`); throws a clear codegen-time error when unset.
|
|
25
|
+
*/
|
|
26
|
+
export function providedEnumImportSpecifier(ctx, enumName) {
|
|
27
|
+
const mod = ctx.providedEnumModule;
|
|
28
|
+
if (mod === undefined || mod === "") {
|
|
29
|
+
throw new Error(`provided enum "${enumName}" is marked @provided but no module is configured ` +
|
|
30
|
+
`to import it from. Set "providedEnumModule" in your codegen config (e.g. ` +
|
|
31
|
+
`providedEnumModule: "@your-app/enums") so the generated code can reference "${enumName}".`);
|
|
32
|
+
}
|
|
33
|
+
return mod;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=enum-import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-import.js","sourceRoot":"","sources":["../src/enum-import.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,wEAAwE;AACxE,4EAA4E;AAC5E,2EAA2E;AAC3E,yEAAyE;AACzE,+EAA+E;AAC/E,+EAA+E;AAE/E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,GAAkB,EAClB,SAA6B;IAE7B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,qBAAqB,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjE,OAAO,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAkB,EAAE,QAAgB;IAC9E,MAAM,GAAG,GAAG,GAAG,CAAC,kBAAkB,CAAC;IACnC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,kBAAkB,QAAQ,oDAAoD;YAC9E,2EAA2E;YAC3E,+EAA+E,QAAQ,IAAI,CAC5F,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { MetaField, MetaRoot } from "@metaobjectsdev/metadata";
|
|
2
|
+
/** A shared (root-level abstract) enum declaration the codegen must reason about. */
|
|
3
|
+
export interface SharedEnum {
|
|
4
|
+
/** The materialized type name — the abstract declaration's PascalCase name (cross-port identity). */
|
|
5
|
+
readonly name: string;
|
|
6
|
+
/** Member symbols (the @values SSOT). */
|
|
7
|
+
readonly values: string[];
|
|
8
|
+
/** True when the declaration carries `@provided: true` (reference, don't materialize). */
|
|
9
|
+
readonly provided: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The root-level abstract `field.enum` a concrete enum field resolves to via
|
|
13
|
+
* `extends`, or undefined when the field is an inline enum (no root-abstract
|
|
14
|
+
* super). A super qualifies only when it is (a) an abstract field, AND (b) a
|
|
15
|
+
* direct child of the metadata root (a package-level declaration) — NOT an
|
|
16
|
+
* abstract field nested inside another object.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveSharedEnumDecl(field: MetaField): MetaField | undefined;
|
|
19
|
+
/** The shared-enum descriptor a field resolves to, or undefined for inline enums. */
|
|
20
|
+
export declare function sharedEnumForField(field: MetaField): SharedEnum | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* All shared (root-level abstract) enum declarations in the loaded root that are
|
|
23
|
+
* actually CONSUMED by at least one concrete entity field — keyed by the
|
|
24
|
+
* materialized type name. A declaration nobody extends is not materialized (no
|
|
25
|
+
* dangling type). Deterministic order: first-consumption order across entities.
|
|
26
|
+
*/
|
|
27
|
+
export declare function collectSharedEnums(root: MetaRoot): Map<string, SharedEnum>;
|
|
28
|
+
/** The shared enums that metaobjects MATERIALIZES (non-@provided, consumed). */
|
|
29
|
+
export declare function materializedSharedEnums(root: MetaRoot): SharedEnum[];
|
|
30
|
+
/** Whether any shared enum (materialized or provided) is consumed in the model. */
|
|
31
|
+
export declare function hasSharedEnums(root: MetaRoot): boolean;
|
|
32
|
+
//# sourceMappingURL=enum-shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-shared.d.ts","sourceRoot":"","sources":["../src/enum-shared.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AASpE,qFAAqF;AACrF,MAAM,WAAW,UAAU;IACzB,qGAAqG;IACrG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAU7E;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAU3E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAU1E;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,EAAE,CAEpE;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAEtD"}
|