@metaobjectsdev/codegen-ts 0.24.5 → 1.0.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 +37 -12
- package/dist/api-surface.d.ts +29 -0
- package/dist/api-surface.d.ts.map +1 -1
- package/dist/api-surface.js +47 -0
- package/dist/api-surface.js.map +1 -1
- package/dist/column-mapper.d.ts +12 -0
- package/dist/column-mapper.d.ts.map +1 -1
- package/dist/column-mapper.js +1 -0
- package/dist/column-mapper.js.map +1 -1
- package/dist/constants.d.ts +24 -11
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +54 -19
- package/dist/constants.js.map +1 -1
- package/dist/db-emitting.d.ts +6 -0
- package/dist/db-emitting.d.ts.map +1 -0
- package/dist/db-emitting.js +26 -0
- package/dist/db-emitting.js.map +1 -0
- package/dist/generator-registry.d.ts.map +1 -1
- package/dist/generator-registry.js +14 -1
- package/dist/generator-registry.js.map +1 -1
- package/dist/generator.d.ts +5 -0
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js.map +1 -1
- package/dist/generators/agent-docs-file.d.ts +19 -0
- package/dist/generators/agent-docs-file.d.ts.map +1 -0
- package/dist/generators/agent-docs-file.js +257 -0
- package/dist/generators/agent-docs-file.js.map +1 -0
- package/dist/generators/agent-requirements-page.d.ts +22 -0
- package/dist/generators/agent-requirements-page.d.ts.map +1 -0
- package/dist/generators/agent-requirements-page.js +175 -0
- package/dist/generators/agent-requirements-page.js.map +1 -0
- package/dist/generators/agent-schema-input.d.ts +69 -0
- package/dist/generators/agent-schema-input.d.ts.map +1 -0
- package/dist/generators/agent-schema-input.js +23 -0
- package/dist/generators/agent-schema-input.js.map +1 -0
- package/dist/generators/agent-schema-page.d.ts +21 -0
- package/dist/generators/agent-schema-page.d.ts.map +1 -0
- package/dist/generators/agent-schema-page.js +241 -0
- package/dist/generators/agent-schema-page.js.map +1 -0
- package/dist/generators/agent-ui-page.d.ts +22 -0
- package/dist/generators/agent-ui-page.d.ts.map +1 -0
- package/dist/generators/agent-ui-page.js +253 -0
- package/dist/generators/agent-ui-page.js.map +1 -0
- package/dist/generators/api-docs-file.d.ts.map +1 -1
- package/dist/generators/api-docs-file.js +13 -6
- package/dist/generators/api-docs-file.js.map +1 -1
- package/dist/generators/api-model.d.ts +6 -0
- package/dist/generators/api-model.d.ts.map +1 -1
- package/dist/generators/api-model.js +54 -35
- package/dist/generators/api-model.js.map +1 -1
- package/dist/generators/callable-file.js +1 -1
- package/dist/generators/callable-file.js.map +1 -1
- package/dist/generators/docs-data-builder.d.ts.map +1 -1
- package/dist/generators/docs-data-builder.js +47 -2
- package/dist/generators/docs-data-builder.js.map +1 -1
- package/dist/generators/docs-data.d.ts +6 -2
- package/dist/generators/docs-data.d.ts.map +1 -1
- package/dist/generators/index.d.ts +3 -8
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/index.js +19 -14
- package/dist/generators/index.js.map +1 -1
- package/dist/generators/names-file.d.ts +17 -0
- package/dist/generators/names-file.d.ts.map +1 -0
- package/dist/generators/names-file.js +95 -0
- package/dist/generators/names-file.js.map +1 -0
- package/dist/generators/requirements-markdown.d.ts +18 -1
- package/dist/generators/requirements-markdown.d.ts.map +1 -1
- package/dist/generators/requirements-markdown.js +11 -9
- package/dist/generators/requirements-markdown.js.map +1 -1
- package/dist/generators/routes-file-hono.d.ts +17 -2
- package/dist/generators/routes-file-hono.d.ts.map +1 -1
- package/dist/generators/routes-file-hono.js +9 -11
- package/dist/generators/routes-file-hono.js.map +1 -1
- package/dist/generators/routes-file.d.ts +17 -2
- package/dist/generators/routes-file.d.ts.map +1 -1
- package/dist/generators/routes-file.js +10 -8
- package/dist/generators/routes-file.js.map +1 -1
- package/dist/generators/template-generator.d.ts.map +1 -1
- package/dist/generators/template-generator.js +20 -6
- package/dist/generators/template-generator.js.map +1 -1
- package/dist/index.d.ts +20 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +43 -4
- package/dist/index.js.map +1 -1
- package/dist/metaobjects-config.d.ts +38 -1
- package/dist/metaobjects-config.d.ts.map +1 -1
- package/dist/metaobjects-config.js +9 -1
- package/dist/metaobjects-config.js.map +1 -1
- package/dist/names.d.ts +275 -0
- package/dist/names.d.ts.map +1 -0
- package/dist/names.js +433 -0
- package/dist/names.js.map +1 -0
- package/dist/overwrite-policy.d.ts.map +1 -1
- package/dist/overwrite-policy.js +15 -3
- package/dist/overwrite-policy.js.map +1 -1
- package/dist/projection/extract-view-spec.d.ts +25 -1
- package/dist/projection/extract-view-spec.d.ts.map +1 -1
- package/dist/projection/extract-view-spec.js +79 -6
- package/dist/projection/extract-view-spec.js.map +1 -1
- package/dist/reference-templates.d.ts +1 -1
- package/dist/reference-templates.d.ts.map +1 -1
- package/dist/reference-templates.js +1 -1
- package/dist/reference-templates.js.map +1 -1
- package/dist/render-context.d.ts +12 -1
- package/dist/render-context.d.ts.map +1 -1
- package/dist/render-context.js +1 -0
- package/dist/render-context.js.map +1 -1
- package/dist/retired-codegen-attrs.d.ts +32 -0
- package/dist/retired-codegen-attrs.d.ts.map +1 -0
- package/dist/retired-codegen-attrs.js +47 -0
- package/dist/retired-codegen-attrs.js.map +1 -0
- package/dist/routes-expose.d.ts +63 -0
- package/dist/routes-expose.d.ts.map +1 -0
- package/dist/routes-expose.js +57 -0
- package/dist/routes-expose.js.map +1 -0
- package/dist/runner.d.ts +18 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +109 -7
- package/dist/runner.js.map +1 -1
- package/dist/templates/callable-file.d.ts +7 -2
- package/dist/templates/callable-file.d.ts.map +1 -1
- package/dist/templates/callable-file.js +54 -9
- package/dist/templates/callable-file.js.map +1 -1
- package/dist/templates/drizzle-schema.d.ts.map +1 -1
- package/dist/templates/drizzle-schema.js +236 -65
- package/dist/templates/drizzle-schema.js.map +1 -1
- package/dist/templates/entity-constants.d.ts +15 -6
- package/dist/templates/entity-constants.d.ts.map +1 -1
- package/dist/templates/entity-constants.js +85 -161
- 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 +38 -4
- package/dist/templates/entity-file.js.map +1 -1
- package/dist/templates/entity-meta-file.d.ts +15 -1
- package/dist/templates/entity-meta-file.d.ts.map +1 -1
- package/dist/templates/entity-meta-file.js +12 -2
- package/dist/templates/entity-meta-file.js.map +1 -1
- package/dist/templates/entity-ui-descriptor.d.ts +112 -0
- package/dist/templates/entity-ui-descriptor.d.ts.map +1 -0
- package/dist/templates/entity-ui-descriptor.js +238 -0
- package/dist/templates/entity-ui-descriptor.js.map +1 -0
- package/dist/templates/field-meta.d.ts +46 -9
- package/dist/templates/field-meta.d.ts.map +1 -1
- package/dist/templates/field-meta.js +95 -21
- package/dist/templates/field-meta.js.map +1 -1
- package/dist/templates/names-decl.d.ts +38 -0
- package/dist/templates/names-decl.d.ts.map +1 -0
- package/dist/templates/names-decl.js +104 -0
- package/dist/templates/names-decl.js.map +1 -0
- package/dist/templates/projection-decl.d.ts +21 -0
- package/dist/templates/projection-decl.d.ts.map +1 -1
- package/dist/templates/projection-decl.js +53 -29
- package/dist/templates/projection-decl.js.map +1 -1
- package/dist/templates/queries-file.d.ts.map +1 -1
- package/dist/templates/queries-file.js +17 -2
- package/dist/templates/queries-file.js.map +1 -1
- package/dist/templates/requirement-test.d.ts.map +1 -1
- package/dist/templates/requirement-test.js +13 -2
- package/dist/templates/requirement-test.js.map +1 -1
- package/dist/templates/routes-file-hono.d.ts +2 -1
- package/dist/templates/routes-file-hono.d.ts.map +1 -1
- package/dist/templates/routes-file-hono.js +11 -2
- package/dist/templates/routes-file-hono.js.map +1 -1
- package/dist/templates/routes-file.d.ts +2 -1
- package/dist/templates/routes-file.d.ts.map +1 -1
- package/dist/templates/routes-file.js +54 -21
- package/dist/templates/routes-file.js.map +1 -1
- package/dist/templates/value-object-file.d.ts.map +1 -1
- package/dist/templates/value-object-file.js +15 -1
- package/dist/templates/value-object-file.js.map +1 -1
- package/dist/templates/view-decl.d.ts +37 -1
- package/dist/templates/view-decl.d.ts.map +1 -1
- package/dist/templates/view-decl.js +27 -3
- package/dist/templates/view-decl.js.map +1 -1
- package/dist/templates/zod-validators.d.ts +21 -0
- package/dist/templates/zod-validators.d.ts.map +1 -1
- package/dist/templates/zod-validators.js +40 -5
- package/dist/templates/zod-validators.js.map +1 -1
- package/dist/view-context.d.ts +24 -0
- package/dist/view-context.d.ts.map +1 -0
- package/dist/view-context.js +81 -0
- package/dist/view-context.js.map +1 -0
- package/package.json +6 -6
- package/src/api-surface.ts +53 -0
- package/src/column-mapper.ts +13 -0
- package/src/constants.ts +91 -16
- package/src/db-emitting.ts +31 -0
- package/src/generator-registry.ts +14 -4
- package/src/generator.ts +5 -0
- package/src/generators/agent-docs-file.ts +297 -0
- package/src/generators/agent-requirements-page.ts +199 -0
- package/src/generators/agent-schema-input.ts +88 -0
- package/src/generators/agent-schema-page.ts +297 -0
- package/src/generators/agent-ui-page.ts +290 -0
- package/src/generators/api-docs-file.ts +13 -6
- package/src/generators/api-model.ts +63 -34
- package/src/generators/callable-file.ts +1 -1
- package/src/generators/docs-data-builder.ts +46 -2
- package/src/generators/docs-data.ts +6 -2
- package/src/generators/index.ts +25 -14
- package/src/generators/names-file.ts +98 -0
- package/src/generators/requirements-markdown.ts +36 -2
- package/src/generators/routes-file-hono.ts +19 -10
- package/src/generators/routes-file.ts +20 -7
- package/src/generators/template-generator.ts +20 -6
- package/src/index.ts +64 -4
- package/src/metaobjects-config.ts +48 -2
- package/src/names.ts +629 -0
- package/src/overwrite-policy.ts +15 -3
- package/src/projection/extract-view-spec.ts +85 -6
- package/src/reference/entity.ts +21 -2
- package/src/reference/names.ts +125 -0
- package/src/reference/queries.ts +19 -3
- package/src/reference/routes-hono.ts +19 -9
- package/src/reference/routes.ts +25 -9
- package/src/reference-templates.ts +1 -1
- package/src/render-context.ts +13 -1
- package/src/retired-codegen-attrs.ts +52 -0
- package/src/routes-expose.ts +86 -0
- package/src/runner.ts +122 -11
- package/src/templates/callable-file.ts +60 -8
- package/src/templates/drizzle-schema.ts +248 -60
- package/src/templates/entity-constants.ts +95 -184
- package/src/templates/entity-file.ts +46 -4
- package/src/templates/entity-meta-file.ts +16 -3
- package/src/templates/entity-ui-descriptor.ts +305 -0
- package/src/templates/field-meta.ts +100 -19
- package/src/templates/names-decl.ts +165 -0
- package/src/templates/projection-decl.ts +72 -31
- package/src/templates/queries-file.ts +17 -2
- package/src/templates/requirement-test.ts +13 -2
- package/src/templates/routes-file-hono.ts +14 -2
- package/src/templates/routes-file.ts +69 -24
- package/src/templates/value-object-file.ts +15 -1
- package/src/templates/view-decl.ts +53 -3
- package/src/templates/zod-validators.ts +41 -5
- package/src/view-context.ts +88 -0
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
// with FK .references() on FK columns derived from relationship children,
|
|
3
3
|
// plus the relations() block auto-emitted at the end.
|
|
4
4
|
import { code, imp, joinCode } from "ts-poet";
|
|
5
|
-
import { MetaObject, MetaField, MetaIndex, stripPackage } from "@metaobjectsdev/metadata";
|
|
6
|
-
import { FIELD_SUBTYPE_LONG, IDENTITY_ATTR_FIELDS, IDENTITY_ATTR_GENERATION, GENERATION_INCREMENT, GENERATION_UUID, FIELD_ATTR_AUTO_SET, FIELD_ATTR_OBJECT_REF, } from "@metaobjectsdev/metadata";
|
|
5
|
+
import { MetaObject, MetaField, MetaIndex, isMetaObject, stripPackage } from "@metaobjectsdev/metadata";
|
|
6
|
+
import { FIELD_SUBTYPE_LONG, IDENTITY_ATTR_FIELDS, IDENTITY_ATTR_GENERATION, IDENTITY_ATTR_EXPR, IDENTITY_ATTR_USING, IDENTITY_ATTR_ORDERS, IDENTITY_ATTR_WHERE, GENERATION_INCREMENT, GENERATION_UUID, FIELD_ATTR_AUTO_SET, FIELD_ATTR_OBJECT_REF, } from "@metaobjectsdev/metadata";
|
|
7
7
|
import { fieldDeclaringPackage } from "../render-context.js";
|
|
8
8
|
import { crossEntitySpecifier, valueObjectModuleSpecifier } from "../import-path.js";
|
|
9
9
|
import { mapColumnType } from "../column-mapper.js";
|
|
10
|
-
import { tableNameFromEntity
|
|
10
|
+
import { tableNameFromEntity } from "../naming.js";
|
|
11
|
+
import { namesRef, physicalNameExpr, sourceSchemaExpr, indexNameExpr, columnExpr, } from "../names.js";
|
|
12
|
+
import { resolveTableSchema } from "@metaobjectsdev/metadata";
|
|
11
13
|
import { renderRelationsBlock } from "./relations-block.js";
|
|
12
14
|
import { renderDocsFor } from "./jsdoc.js";
|
|
13
15
|
import { collectTphSubtypeFields } from "./tph-discriminator.js";
|
|
@@ -26,6 +28,77 @@ export function renderDrizzleSchema(obj, ctx) {
|
|
|
26
28
|
const tableFnSym = imp(`${tableFn}@${importModule}`);
|
|
27
29
|
const tableName = obj.dbTable ?? tableNameFromEntity(obj.name, ctx.columnNamingStrategy);
|
|
28
30
|
const varName = ctx.collectionName(obj.name);
|
|
31
|
+
// §A6/§B2 — reference `<Entity>Names` instead of embedding the physical names a SECOND
|
|
32
|
+
// time. `namesRef` is undefined whenever the names generator is not active in this run
|
|
33
|
+
// (opt-in under ADR-0034 scaffold-and-own — an unconditional import would break every
|
|
34
|
+
// project that has not enabled it) or the object has no primary source — both PRESENCE
|
|
35
|
+
// guards. No per-site equality check: whenever the constant exists, it IS the name;
|
|
36
|
+
// `primaryRdbSource` (@metaobjectsdev/metadata) already refuses (throws) any object
|
|
37
|
+
// whose `@role: primary` sources disagree on a name, and BOTH branches reach it — the
|
|
38
|
+
// constant through `resolveObjectNames`, and `obj.dbTable` above on its own — so this
|
|
39
|
+
// file never has to re-check, and the literal arm is refused too rather than silently
|
|
40
|
+
// binding the inherited parent's table when the names generator is out of the run.
|
|
41
|
+
const names = namesRef(obj, ctx);
|
|
42
|
+
const tableNameExpr = physicalNameExpr(names, tableName, obj);
|
|
43
|
+
// @schema — the table binding must land in the SAME schema the migration creates the table
|
|
44
|
+
// in. migrate-ts qualifies every table, view, index and FK it emits (`CREATE TABLE
|
|
45
|
+
// "sales"."widgets"`), and under ADR-0015 it owns where a table lives; codegen dropping the
|
|
46
|
+
// schema meant generated queries hit `public.widgets` while the migration built
|
|
47
|
+
// `sales.widgets`. Whether that surfaced depended entirely on the adopter's `search_path`,
|
|
48
|
+
// which is the worst kind of bug — it works on the machine that has it configured.
|
|
49
|
+
//
|
|
50
|
+
// Drizzle expresses this with a DIFFERENT call shape rather than a third argument:
|
|
51
|
+
// `pgSchema("sales").table(name, …)`. It is built inline rather than hoisted to a `const`
|
|
52
|
+
// so two tables in one file sharing a schema cannot collide on a generated identifier; a
|
|
53
|
+
// schema object is just a descriptor, so a second call costs nothing.
|
|
54
|
+
//
|
|
55
|
+
// sqlite/d1 are excluded because SQLite has no schema concept at all — migrate already
|
|
56
|
+
// REFUSES a non-default @schema there (expected-schema.ts), so there is nothing to honour
|
|
57
|
+
// and no divergence to close.
|
|
58
|
+
const tableSchema = dialect === "sqlite" ? undefined : resolveTableSchema(obj);
|
|
59
|
+
const schemaExpr = tableSchema === undefined ? undefined
|
|
60
|
+
: sourceSchemaExpr(names) ?? code `${JSON.stringify(tableSchema)}`;
|
|
61
|
+
const tableCall = schemaExpr === undefined
|
|
62
|
+
? code `${tableFnSym}`
|
|
63
|
+
: code `${imp(`pgSchema@${importModule}`)}(${schemaExpr}).table`;
|
|
64
|
+
// A column's constant, on the same terms — but resolved against the entity that DECLARES
|
|
65
|
+
// the field, which is not always `obj`. Under TPH the fold below emits a subtype's own
|
|
66
|
+
// columns into this base's table, and those columns live in the SUBTYPE's names artifact;
|
|
67
|
+
// looking them up in the base's finds nothing.
|
|
68
|
+
//
|
|
69
|
+
// This used to pass `names` for every column and call the resulting miss "normal". It was
|
|
70
|
+
// not: the base's artifact genuinely does not carry a subtype's column, so every TPH
|
|
71
|
+
// subtype column fell through to the literal while `<Sub>Names.fields.<f>.column` sat
|
|
72
|
+
// right there, already imported by the subtype's own artifact. C# never had the bug
|
|
73
|
+
// because its emitter passes the subtype entity to `ColumnRef`; this is that shape.
|
|
74
|
+
//
|
|
75
|
+
// `fromPackage` stays `obj.package` so the import path is computed relative to the file
|
|
76
|
+
// being emitted (this base's), not to the subtype's own package.
|
|
77
|
+
// THIS entity's artifact first. It already carries every INHERITED field — a concrete
|
|
78
|
+
// entity's artifact spreads its abstract parent's `fields` — so an `extends` chain needs
|
|
79
|
+
// no redirect, and taking one would be a regression: an abstract base has no source, so
|
|
80
|
+
// it has no artifact of its own to redirect TO, and the column would fall back to a
|
|
81
|
+
// literal that `obj`'s artifact was carrying all along.
|
|
82
|
+
//
|
|
83
|
+
// A miss here means the field belongs to a different entity ENTIRELY, which under TPH is
|
|
84
|
+
// exactly the subtype whose columns this base's table absorbs. Only then resolve against
|
|
85
|
+
// the declaring entity, found through the field's own parent link.
|
|
86
|
+
//
|
|
87
|
+
// `isMetaObject`, never `instanceof`: two physical copies of @metaobjectsdev/metadata in
|
|
88
|
+
// one process give the class object and the instance different identities, so the check
|
|
89
|
+
// would return false for a real node — silently.
|
|
90
|
+
const columnNameExpr = (field, dbName) => {
|
|
91
|
+
if (names === undefined || names.resolved.fields[field.name] !== undefined) {
|
|
92
|
+
return columnExpr(names, field.name, dbName);
|
|
93
|
+
}
|
|
94
|
+
const owner = field.parent;
|
|
95
|
+
// `fromPackage` is obj's: the import path is relative to the file being emitted (this
|
|
96
|
+
// base's), not to the subtype's own package.
|
|
97
|
+
const ownerNames = owner !== undefined && isMetaObject(owner) && owner !== obj
|
|
98
|
+
? namesRef(owner, ctx, obj.package)
|
|
99
|
+
: undefined;
|
|
100
|
+
return columnExpr(ownerNames, field.name, dbName);
|
|
101
|
+
};
|
|
29
102
|
const primary = obj.primaryIdentity();
|
|
30
103
|
const rawPkFields = primary?.attr(IDENTITY_ATTR_FIELDS);
|
|
31
104
|
const pkFieldsList = Array.isArray(rawPkFields)
|
|
@@ -39,20 +112,57 @@ export function renderDrizzleSchema(obj, ctx) {
|
|
|
39
112
|
const isComposite = pkFieldNames.size > 1;
|
|
40
113
|
// Collect secondary identities and the field names that need .unique() on
|
|
41
114
|
// their column. identity.secondary is ALWAYS unique (no @unique attr) — only
|
|
42
|
-
//
|
|
43
|
-
//
|
|
44
|
-
//
|
|
115
|
+
// An `identity.secondary` reaches the table ONLY as the `uniqueIndex(...)` callback
|
|
116
|
+
// emitted further down — never additionally as `.unique()` on its column.
|
|
117
|
+
//
|
|
118
|
+
// It used to do both for a single-column identity, under a comment describing an
|
|
119
|
+
// either/or ("single-column identities propagate .unique() to the column; multi-column
|
|
120
|
+
// ones emit a callback uniqueIndex() entry instead") that the code did not implement:
|
|
121
|
+
// the callback loop has no column-count condition, so a one-column secondary got a
|
|
122
|
+
// column-level unique AND a table-level unique index. `migrate-ts` emits only the index
|
|
123
|
+
// for that shape — it mirrors a `<table>_<col>_unique` constraint for `@unique` fields
|
|
124
|
+
// and nothing extra for a secondary — so the generated schema declared a constraint the
|
|
125
|
+
// database does not have, and `drizzle-kit push` run against it proposes creating one.
|
|
126
|
+
//
|
|
127
|
+
// `.unique()` still comes from the FIELD's own `@unique`, via the column mapper, which
|
|
128
|
+
// is exactly the arm migrate mirrors.
|
|
45
129
|
const secondaryIdentities = obj.secondaryIdentities();
|
|
46
|
-
const uniqueFieldNames = new Set();
|
|
47
|
-
for (const sec of secondaryIdentities) {
|
|
48
|
-
const fields = sec.attr(IDENTITY_ATTR_FIELDS);
|
|
49
|
-
if (!Array.isArray(fields) || fields.length !== 1)
|
|
50
|
-
continue; // multi-col uniques use a callback uniqueIndex, not a column flag
|
|
51
|
-
uniqueFieldNames.add(fields[0]);
|
|
52
|
-
}
|
|
53
130
|
const columnLines = [];
|
|
54
131
|
// Collect CHECK constraints for enum columns; emitted as table-level check() callbacks.
|
|
55
132
|
const checkConstraints = [];
|
|
133
|
+
/**
|
|
134
|
+
* One CHECK entry, composed against `<Entity>Names` when the artifact is in the run.
|
|
135
|
+
*
|
|
136
|
+
* #293 — migrate's `<table>_<col>_chk` is the shared convention and it is the AUTHORITY:
|
|
137
|
+
* its suffix form is systematic across five constraint kinds and those names are already
|
|
138
|
+
* in live databases, so flipping migrate instead would emit DROP/ADD CONSTRAINT churn
|
|
139
|
+
* against production for a cosmetic difference. Referencing the constants therefore
|
|
140
|
+
* composes the IDENTICAL string at runtime rather than changing the convention — the
|
|
141
|
+
* template literal below evaluates to exactly what the literal arm spells.
|
|
142
|
+
*
|
|
143
|
+
* The expression's column goes through `sql.raw`, not `sql.identifier`: the latter QUOTES
|
|
144
|
+
* the name, which changes the constraint text migrate compares against.
|
|
145
|
+
*/
|
|
146
|
+
const checkEntry = (field, spec) => {
|
|
147
|
+
const colExpr = columnNameExpr(field, spec.dbName);
|
|
148
|
+
const values = spec.checkConstraintValues;
|
|
149
|
+
const sqlSym = imp("sql@drizzle-orm");
|
|
150
|
+
// No artifact in this run (the documented ADR-0034 opt-out) — spell both halves, which
|
|
151
|
+
// is what this file did unconditionally before.
|
|
152
|
+
if (names === undefined || values === undefined) {
|
|
153
|
+
return {
|
|
154
|
+
name: code `${JSON.stringify(`${tableName}_${spec.dbName}_chk`)}`,
|
|
155
|
+
expr: code `${spec.checkConstraint ?? ""}`,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
// `\${` emits a literal `${` into the generated source: the name becomes a template
|
|
159
|
+
// literal and the expression an interpolation, both evaluated at run time in the
|
|
160
|
+
// consumer's code, where they produce the identical strings the literal arm spells.
|
|
161
|
+
return {
|
|
162
|
+
name: code `\`\${${tableNameExpr}}_\${${colExpr}}_chk\``,
|
|
163
|
+
expr: code `\${${sqlSym}.raw(${colExpr})} IN (${values})`,
|
|
164
|
+
};
|
|
165
|
+
};
|
|
56
166
|
// Int-backed field.enum customType helpers, emitted ahead of the table. Keyed by
|
|
57
167
|
// const name so a shared enum used by two fields of the SAME entity emits once.
|
|
58
168
|
const enumIntTypes = new Map();
|
|
@@ -64,7 +174,6 @@ export function renderDrizzleSchema(obj, ctx) {
|
|
|
64
174
|
if (child.isDerived())
|
|
65
175
|
continue;
|
|
66
176
|
const isPk = pkFieldNames.has(child.name);
|
|
67
|
-
const isUnique = uniqueFieldNames.has(child.name) && !isPk;
|
|
68
177
|
const fkInfo = fkMap.get(child.name);
|
|
69
178
|
// Compute the column spec once per field and reuse it for both the column
|
|
70
179
|
// line and the CHECK collection.
|
|
@@ -73,18 +182,10 @@ export function renderDrizzleSchema(obj, ctx) {
|
|
|
73
182
|
enumIntTypes.set(spec.enumIntCustomType.fnConstName, spec.enumIntCustomType);
|
|
74
183
|
}
|
|
75
184
|
const fieldDocs = renderDocsFor(child);
|
|
76
|
-
const columnLine = renderColumn(spec, child, ctx, isPk, pkGeneration, fkInfo, isComposite,
|
|
185
|
+
const columnLine = renderColumn(spec, columnNameExpr(child, spec.dbName), child, ctx, isPk, pkGeneration, fkInfo, isComposite, obj.package, obj.name);
|
|
77
186
|
columnLines.push(fieldDocs ? code ` ${fieldDocs}\n${columnLine}` : columnLine);
|
|
78
|
-
if (spec.checkConstraint !== undefined)
|
|
79
|
-
checkConstraints.push(
|
|
80
|
-
// #293 — migrate's `<table>_<col>_chk` is the shared convention, and it is the
|
|
81
|
-
// authority: its suffix form is systematic across five constraint kinds and those
|
|
82
|
-
// names are already in live databases, so flipping migrate instead would emit
|
|
83
|
-
// DROP/ADD CONSTRAINT churn against production for a cosmetic difference.
|
|
84
|
-
name: `${tableName}_${spec.dbName}_chk`,
|
|
85
|
-
expr: spec.checkConstraint,
|
|
86
|
-
});
|
|
87
|
-
}
|
|
187
|
+
if (spec.checkConstraint !== undefined)
|
|
188
|
+
checkConstraints.push(checkEntry(child, spec));
|
|
88
189
|
}
|
|
89
190
|
// FR-017 Tier 2 — TPH single-table inheritance. When this entity is a
|
|
90
191
|
// discriminator base, fold every concrete subtype's own columns into this
|
|
@@ -101,57 +202,123 @@ export function renderDrizzleSchema(obj, ctx) {
|
|
|
101
202
|
enumIntTypes.set(spec.enumIntCustomType.fnConstName, spec.enumIntCustomType);
|
|
102
203
|
}
|
|
103
204
|
const fieldDocs = renderDocsFor(child);
|
|
104
|
-
const columnLine = renderColumn(spec, child, ctx, false, undefined, fkMap.get(child.name), isComposite,
|
|
205
|
+
const columnLine = renderColumn(spec, columnNameExpr(child, spec.dbName), child, ctx, false, undefined, fkMap.get(child.name), isComposite, obj.package, obj.name, true);
|
|
105
206
|
columnLines.push(fieldDocs ? code ` ${fieldDocs}\n${columnLine}` : columnLine);
|
|
106
207
|
// Enum CHECK constraints stay valid under TPH: `NULL IN (...)` is NULL
|
|
107
208
|
// (not false), so other-subtype rows with NULL pass the check.
|
|
108
|
-
if (spec.checkConstraint !== undefined)
|
|
109
|
-
checkConstraints.push(
|
|
110
|
-
// #293 — migrate's `<table>_<col>_chk` is the shared convention, and it is the
|
|
111
|
-
// authority: its suffix form is systematic across five constraint kinds and those
|
|
112
|
-
// names are already in live databases, so flipping migrate instead would emit
|
|
113
|
-
// DROP/ADD CONSTRAINT churn against production for a cosmetic difference.
|
|
114
|
-
name: `${tableName}_${spec.dbName}_chk`,
|
|
115
|
-
expr: spec.checkConstraint,
|
|
116
|
-
});
|
|
117
|
-
}
|
|
209
|
+
if (spec.checkConstraint !== undefined)
|
|
210
|
+
checkConstraints.push(checkEntry(child, spec));
|
|
118
211
|
}
|
|
119
212
|
// Build all table callback entries
|
|
120
213
|
const callbackEntries = [];
|
|
121
214
|
if (isComposite && primary !== undefined) {
|
|
122
215
|
callbackEntries.push(buildCompositeKeyCallback(pkFieldNames, importModule));
|
|
123
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* One index callback entry, for BOTH `identity.secondary` (unique) and `index.lookup`
|
|
219
|
+
* (non-unique). The two shapes differ only in that boolean, and migrate treats their
|
|
220
|
+
* physical attributes identically — `@expr`/`@using`/`@orders`/`@where` are registered on
|
|
221
|
+
* both by the same provider — so they are emitted by ONE function here. They used to be
|
|
222
|
+
* two near-identical loops, which is how the physical attributes came to be honoured by
|
|
223
|
+
* neither: a rule written twice is a rule that can be forgotten twice.
|
|
224
|
+
*
|
|
225
|
+
* What was missing is a SHAPE divergence, not a naming one (the names were reconciled
|
|
226
|
+
* separately). An `@expr`-only index emitted NOTHING at all here, because both loops
|
|
227
|
+
* required a non-empty `@fields` — while migrate emits it, keying off `@expr`. And
|
|
228
|
+
* `@where` never reached this file, so a PARTIAL unique index read as a FULLY unique one
|
|
229
|
+
* in the generated schema: `drizzle-kit push` would propose replacing the database's
|
|
230
|
+
* partial index with a total one, and any diff written from generated source disagreed
|
|
231
|
+
* with the database over a difference that was not real. Same class as the sqlite
|
|
232
|
+
* emitter dropping these in 0.15.21.
|
|
233
|
+
*/
|
|
234
|
+
const indexEntry = (
|
|
235
|
+
// `type`/`subType` as well as `name`: the index-name resolver and the artifact's
|
|
236
|
+
// `identities` / `indexes` collections both key off which KIND of node this is, and
|
|
237
|
+
// ADR-0040 put that distinction in the type rather than in an attribute.
|
|
238
|
+
node, fieldNames, unique) => {
|
|
239
|
+
const str = (n) => {
|
|
240
|
+
const raw = node.attr(n);
|
|
241
|
+
return typeof raw === "string" && raw.trim().length > 0 ? raw.trim() : undefined;
|
|
242
|
+
};
|
|
243
|
+
const expr = str(IDENTITY_ATTR_EXPR);
|
|
244
|
+
// An expression index keys off @expr; a plain one needs @fields. Mirrors migrate's
|
|
245
|
+
// `if (fieldNames.length === 0 && expr === undefined) continue`.
|
|
246
|
+
if (fieldNames.length === 0 && expr === undefined)
|
|
247
|
+
return undefined;
|
|
248
|
+
const sqlSym = imp("sql@drizzle-orm");
|
|
249
|
+
const indexSym = imp(`${unique ? "uniqueIndex" : "index"}@${importModule}`);
|
|
250
|
+
// @orders is positional against @fields; migrate only serializes it when at least one
|
|
251
|
+
// entry is `desc`, because an all-ascending array must be indistinguishable from no
|
|
252
|
+
// orders at all for diff stability. Match that exactly or the two disagree on a
|
|
253
|
+
// no-op.
|
|
254
|
+
const ordersRaw = node.attr(IDENTITY_ATTR_ORDERS);
|
|
255
|
+
const orders = Array.isArray(ordersRaw)
|
|
256
|
+
? fieldNames.map((_, i) => (ordersRaw[i] === "desc" ? "desc" : "asc"))
|
|
257
|
+
: [];
|
|
258
|
+
const anyDesc = orders.some((o) => o === "desc");
|
|
259
|
+
const colRefs = fieldNames.map((f, i) => anyDesc ? `table.${f}.${orders[i] === "desc" ? "desc" : "asc"}()` : `table.${f}`);
|
|
260
|
+
// sqlite's `.on()` accepts only columns — no SQL — so an expression index is not
|
|
261
|
+
// expressible there. It is skipped rather than emitted wrong; migrate still creates it,
|
|
262
|
+
// and a Drizzle declaration that silently indexed a COLUMN instead of the expression
|
|
263
|
+
// would be a worse answer than an absent one.
|
|
264
|
+
if (expr !== undefined && dialect === "sqlite")
|
|
265
|
+
return undefined;
|
|
266
|
+
// @using selects the access method and takes the columns itself, so it REPLACES .on().
|
|
267
|
+
// Postgres-only: SQLite has no USING clause. migrate omits a `btree` value as the
|
|
268
|
+
// default, and so does this — emitting it would be a spurious difference.
|
|
269
|
+
const using = dialect === "sqlite" ? undefined : str(IDENTITY_ATTR_USING);
|
|
270
|
+
const target = expr !== undefined ? code `${sqlSym}\`${expr}\``
|
|
271
|
+
: code `${colRefs.join(", ")}`;
|
|
272
|
+
// The CONSTANT when the artifact is in the run, the literal otherwise — and the
|
|
273
|
+
// literal arm goes through `resolveIndexName` too, so the two paths answer with one
|
|
274
|
+
// function. Both halves matter: migrate's expected-schema resolves the same name and
|
|
275
|
+
// the two spelled it independently until now, which is how codegen came to declare
|
|
276
|
+
// `idx_<table>_<col>` against an index the database actually held under
|
|
277
|
+
// `identity.name` (fdb4118f1); and an empty `index.lookup` name — which the loader
|
|
278
|
+
// accepts, unlike an identity — is refused here rather than emitting `index("")`.
|
|
279
|
+
const indexName = indexNameExpr(names, node);
|
|
280
|
+
const head = using !== undefined && using !== "btree"
|
|
281
|
+
? code `${indexSym}(${indexName}).using(${JSON.stringify(using)}, ${target})`
|
|
282
|
+
: code `${indexSym}(${indexName}).on(${target})`;
|
|
283
|
+
// @where — the partial-index predicate, available on both dialects.
|
|
284
|
+
const where = str(IDENTITY_ATTR_WHERE);
|
|
285
|
+
return where === undefined ? head : code `${head}.where(${sqlSym}\`${where}\`)`;
|
|
286
|
+
};
|
|
124
287
|
// identity.secondary — always unique (uniqueness is in the type, no boolean).
|
|
125
288
|
for (const sec of secondaryIdentities) {
|
|
126
289
|
const fields = sec.attr(IDENTITY_ATTR_FIELDS);
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
//
|
|
290
|
+
// The identity's OWN name, which is what migrate puts in the database
|
|
291
|
+
// (`expected-schema.ts`, secondary-identity pass) and what `index.lookup` three
|
|
292
|
+
// blocks below already emits. This used to compose `idx_<table>_<col>...` by running
|
|
293
|
+
// the naming strategy over the FIELD names — two defects in one expression: the name
|
|
294
|
+
// disagreed with migrate's (so a DROP INDEX written from generated source failed, and
|
|
295
|
+
// any schema diff reported a difference that was not real), and running the strategy
|
|
296
|
+
// over a field NAME cannot see `@column`, so a declared physical column was invisible
|
|
297
|
+
// to it. Gated by `secondary-index-name-parity.test.ts`, whose fixture is de-blinded
|
|
298
|
+
// against exactly that second defect.
|
|
299
|
+
// Column refs use the callback param `table` (not the outer varName) so TS does not see
|
|
132
300
|
// the table referencing itself inside its own initializer (TS7022/TS7024).
|
|
133
|
-
const
|
|
134
|
-
|
|
301
|
+
const entry = indexEntry(sec, Array.isArray(fields) ? fields : [], /* unique */ true);
|
|
302
|
+
if (entry !== undefined)
|
|
303
|
+
callbackEntries.push(entry);
|
|
135
304
|
}
|
|
136
305
|
// index.lookup — always non-unique. Use MetaIndex.fields() per ADR-0039.
|
|
137
306
|
for (const lookup of obj.lookupIndexes()) {
|
|
138
|
-
const
|
|
139
|
-
if (
|
|
140
|
-
|
|
141
|
-
const indexSym = imp(`index@${importModule}`);
|
|
142
|
-
const cols = fields.map((f) => `table.${f}`).join(", ");
|
|
143
|
-
callbackEntries.push(code `${indexSym}(${JSON.stringify(lookup.name)}).on(${cols})`);
|
|
307
|
+
const entry = indexEntry(lookup, lookup.fields(), /* unique */ false);
|
|
308
|
+
if (entry !== undefined)
|
|
309
|
+
callbackEntries.push(entry);
|
|
144
310
|
}
|
|
145
|
-
// Emit table-level CHECK constraints for enum fields.
|
|
311
|
+
// Emit table-level CHECK constraints for enum fields. Both halves are composed by
|
|
312
|
+
// `checkEntry` above, which owns the constant-vs-literal decision for the pair.
|
|
146
313
|
for (const { name, expr } of checkConstraints) {
|
|
147
314
|
const checkSym = imp(`check@${importModule}`);
|
|
148
315
|
const sqlSym = imp("sql@drizzle-orm");
|
|
149
|
-
callbackEntries.push(code `${checkSym}(${
|
|
316
|
+
callbackEntries.push(code `${checkSym}(${name}, ${sqlSym}\`${expr}\`)`);
|
|
150
317
|
}
|
|
151
318
|
let tableBlock;
|
|
152
319
|
if (callbackEntries.length > 0) {
|
|
153
320
|
tableBlock = code `
|
|
154
|
-
export const ${varName} = ${
|
|
321
|
+
export const ${varName} = ${tableCall}(${tableNameExpr}, {
|
|
155
322
|
${joinCode(columnLines, { on: ",\n", trim: false })}
|
|
156
323
|
}, (table) => [
|
|
157
324
|
${joinCode(callbackEntries, { on: ",\n ", trim: false })}
|
|
@@ -160,7 +327,7 @@ ${joinCode(columnLines, { on: ",\n", trim: false })}
|
|
|
160
327
|
}
|
|
161
328
|
else {
|
|
162
329
|
tableBlock = code `
|
|
163
|
-
export const ${varName} = ${
|
|
330
|
+
export const ${varName} = ${tableCall}(${tableNameExpr}, {
|
|
164
331
|
${joinCode(columnLines, { on: ",\n", trim: false })}
|
|
165
332
|
});
|
|
166
333
|
`;
|
|
@@ -278,7 +445,11 @@ function inlineObjectLiteral(obj) {
|
|
|
278
445
|
return `{ ${entries.join(", ")} }`;
|
|
279
446
|
}
|
|
280
447
|
/** Render one column line (field name + Drizzle column expression). */
|
|
281
|
-
function renderColumn(spec,
|
|
448
|
+
function renderColumn(spec,
|
|
449
|
+
// §A6 — the column's physical name as an EXPRESSION: either the `<Entity>Names` constant
|
|
450
|
+
// or the same literal as before. Passed in rather than derived here so one call site owns
|
|
451
|
+
// the decision (and the equality check that makes it byte-safe).
|
|
452
|
+
dbNameExpr, field, ctx, isPk, pkGeneration, fkInfo, isComposite, entityPackage = undefined,
|
|
282
453
|
// Name of the entity this column belongs to — used to detect a self-referential
|
|
283
454
|
// FK (target entity === this entity), which Drizzle emits without a self-import.
|
|
284
455
|
currentEntityName = "",
|
|
@@ -291,13 +462,12 @@ forceNullable = false) {
|
|
|
291
462
|
const fnSym = spec.enumIntCustomType !== undefined
|
|
292
463
|
? spec.enumIntCustomType.fnConstName
|
|
293
464
|
: imp(`${spec.fnName}@${spec.importModule}`);
|
|
294
|
-
const dbNameLit = JSON.stringify(spec.dbName);
|
|
295
465
|
let baseCall;
|
|
296
466
|
if (spec.fnOptions !== undefined && Object.keys(spec.fnOptions).length > 0) {
|
|
297
|
-
baseCall = code `${fnSym}(${
|
|
467
|
+
baseCall = code `${fnSym}(${dbNameExpr}, ${inlineObjectLiteral(spec.fnOptions)})`;
|
|
298
468
|
}
|
|
299
469
|
else {
|
|
300
|
-
baseCall = code `${fnSym}(${
|
|
470
|
+
baseCall = code `${fnSym}(${dbNameExpr})`;
|
|
301
471
|
}
|
|
302
472
|
let pkSuffix = "";
|
|
303
473
|
if (isPk) {
|
|
@@ -310,11 +480,11 @@ forceNullable = false) {
|
|
|
310
480
|
// Postgres: bigserial for long (8-byte), serial for int (4-byte).
|
|
311
481
|
if (field.subType === FIELD_SUBTYPE_LONG) {
|
|
312
482
|
const bigserialSym = imp(`bigserial@${spec.importModule}`);
|
|
313
|
-
baseCall = code `${bigserialSym}(${
|
|
483
|
+
baseCall = code `${bigserialSym}(${dbNameExpr}, { mode: "number" })`;
|
|
314
484
|
}
|
|
315
485
|
else {
|
|
316
486
|
const serialSym = imp(`serial@${spec.importModule}`);
|
|
317
|
-
baseCall = code `${serialSym}(${
|
|
487
|
+
baseCall = code `${serialSym}(${dbNameExpr})`;
|
|
318
488
|
}
|
|
319
489
|
pkSuffix = isComposite ? "" : ".primaryKey()";
|
|
320
490
|
}
|
|
@@ -332,17 +502,18 @@ forceNullable = false) {
|
|
|
332
502
|
}
|
|
333
503
|
}
|
|
334
504
|
let modifiersStr = pkSuffix;
|
|
335
|
-
//
|
|
336
|
-
|
|
337
|
-
|
|
505
|
+
// No `isUnique` parameter here any more, and its absence is the fix rather than a tidy-up.
|
|
506
|
+
// A single-column `identity.secondary` used to append `.unique()` on top of the constraint
|
|
507
|
+
// migrate already emits under the identity's own name, so codegen declared one constraint
|
|
508
|
+
// the database does not have. When that producer was removed both call sites started
|
|
509
|
+
// passing a literal `false`, leaving a parameter whose every branch was unreachable — a
|
|
510
|
+
// dead switch that reads like a live one. `spec.modifiers` carries whatever uniqueness the
|
|
511
|
+
// column genuinely has, and the loop below is the only thing that applies it.
|
|
338
512
|
for (const m of spec.modifiers) {
|
|
339
513
|
// Single-column PKs imply notNull/unique; avoid emitting them twice.
|
|
340
514
|
// Composite-PK columns are NOT declared with .primaryKey(), so they DO need .notNull().
|
|
341
515
|
if (isPk && !isComposite && (m === ".notNull()" || m === ".unique()"))
|
|
342
516
|
continue;
|
|
343
|
-
// Avoid double-emitting .unique() if it was already appended above.
|
|
344
|
-
if (isUnique && m === ".unique()")
|
|
345
|
-
continue;
|
|
346
517
|
// TPH subtype-only column: never .notNull() / .unique() — rows of other
|
|
347
518
|
// subtypes store NULL, so neither constraint can hold across the table.
|
|
348
519
|
if (forceNullable && (m === ".notNull()" || m === ".unique()"))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drizzle-schema.js","sourceRoot":"","sources":["../../src/templates/drizzle-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"drizzle-schema.js","sourceRoot":"","sources":["../../src/templates/drizzle-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { type Code } from "ts-poet";
|
|
2
|
-
import type { MetaData } from "@metaobjectsdev/metadata";
|
|
3
2
|
import { MetaObject } from "@metaobjectsdev/metadata";
|
|
3
|
+
import { resourcePath } from "./entity-ui-descriptor.js";
|
|
4
|
+
export { resourcePath };
|
|
5
|
+
export declare function renderEntityConstants(obj: MetaObject,
|
|
4
6
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
7
|
+
* @deprecated Accepted and IGNORED. The API base URL left the descriptor: generated
|
|
8
|
+
* client artifacts emit entity-relative paths and the base is supplied once at the
|
|
9
|
+
* client provider (`baseUrl`), because where the browser sends a request is a
|
|
10
|
+
* deployment fact rather than something to freeze at `meta gen` time.
|
|
11
|
+
*
|
|
12
|
+
* It must STAY in the signature: `src/reference/entity.ts` is copied verbatim into
|
|
13
|
+
* adopter repos (ADR-0034) and calls this positionally, so removing the parameter
|
|
14
|
+
* would fail to compile in every ejected copy. Removal is a separate later break.
|
|
8
15
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
16
|
+
_apiPrefix?: string, names?: {
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly symbol: Code;
|
|
19
|
+
} | undefined): Code;
|
|
11
20
|
//# sourceMappingURL=entity-constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-constants.d.ts","sourceRoot":"","sources":["../../src/templates/entity-constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entity-constants.d.ts","sourceRoot":"","sources":["../../src/templates/entity-constants.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAkB,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EAEL,YAAY,EAGb,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EAAE,YAAY,EAAE,CAAC;AA6CxB,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,UAAU;AACf;;;;;;;;;GASG;AACH,UAAU,SAAK,EAIf,KAAK,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,GACnE,IAAI,CA0DN"}
|