@metaobjectsdev/codegen-ts 1.0.0-rc.1 → 1.0.0-rc.2

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.
@@ -1 +1 @@
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"}
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;AAoDxB,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"}
@@ -68,6 +68,12 @@ function renderFieldEntry(f) {
68
68
  entries.push(`htmlType: ${JSON.stringify(f.htmlType)}`);
69
69
  if (f.rules.length > 0)
70
70
  entries.push(`rules: { ${f.rules.map(renderRule).join(", ")} }`);
71
+ // A `field.enum`'s member symbols. Emitted whenever the field has them, because the
72
+ // descriptor reports `view: "dropdown"` for an enum and a dropdown without options is
73
+ // a promise the descriptor cannot keep.
74
+ if (f.options !== undefined && f.options.length > 0) {
75
+ entries.push(`options: [${f.options.map((v) => JSON.stringify(v)).join(", ")}] as const`);
76
+ }
71
77
  // Currency-specific keys: only emitted for currency-subtype fields.
72
78
  if (f.currency !== undefined) {
73
79
  entries.push(`currency: ${JSON.stringify(f.currency.currency)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"entity-constants.js","sourceRoot":"","sources":["../../src/templates/entity-constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-constants.js","sourceRoot":"","sources":["../../src/templates/entity-constants.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,17 @@ export interface UiFieldDescriptor {
33
33
  readonly currency: string;
34
34
  readonly locale: string;
35
35
  } | undefined;
36
+ /**
37
+ * The member symbols, present exactly when the field is a `field.enum`.
38
+ *
39
+ * A descriptor that reports `view: "dropdown"` and carries no options tells a consumer
40
+ * to render a `<select>` and gives it nothing to put in one. That was the shape between
41
+ * 0.25.0 — which moved an enum field's form view from `text` to `dropdown` — and this,
42
+ * and it forced every consumer to restate the member list the metadata already declares.
43
+ * Found on the public reference app, where the same four symbols appeared as literals in
44
+ * five hand-written files.
45
+ */
46
+ readonly options?: readonly string[] | undefined;
36
47
  /**
37
48
  * Present when the generated FORM renders this field as a nested value-object
38
49
  * sub-form rather than an input — a `field.object` whose `@objectRef` resolves (see
@@ -1 +1 @@
1
- {"version":3,"file":"entity-ui-descriptor.d.ts","sourceRoot":"","sources":["../../src/templates/entity-ui-descriptor.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAiC1F,iEAAiE;AACjE,MAAM,MAAM,MAAM,GACd;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAChF;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAClF,sEAAsE;GACpE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;iFAC6E;IAC7E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACvF;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;CACzF;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;uFACmF;IACnF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAOrD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAKnD;AAoGD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,iBAAiB,CAuB3F;AAED,+FAA+F;AAC/F,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAW5F"}
1
+ {"version":3,"file":"entity-ui-descriptor.d.ts","sourceRoot":"","sources":["../../src/templates/entity-ui-descriptor.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAkC1F,iEAAiE;AACjE,MAAM,MAAM,MAAM,GACd;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAChF;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAClF,sEAAsE;GACpE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;iFAC6E;IAC7E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACvF;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACjD;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;CACzF;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;uFACmF;IACnF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAOrD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAKnD;AAoGD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,iBAAiB,CA4B3F;AAED,+FAA+F;AAC/F,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAW5F"}
@@ -30,6 +30,7 @@
30
30
  import { VIEW_SUBTYPE_TEXT, VIEW_SUBTYPE_TEXTAREA, VIEW_SUBTYPE_NUMBER, VIEW_SUBTYPE_CHECKBOX, VIEW_SUBTYPE_DATE, VIEW_SUBTYPE_PASSWORD, VIEW_SUBTYPE_HIDDEN, VIEW_SUBTYPE_DROPDOWN, VIEW_SUBTYPE_RADIO, VALIDATOR_SUBTYPE_REQUIRED, VALIDATOR_SUBTYPE_LENGTH, VALIDATOR_SUBTYPE_REGEX, VALIDATOR_ATTR_MIN, VALIDATOR_ATTR_MAX, VALIDATOR_ATTR_PATTERN, FIELD_ATTR_MAX_LENGTH, FIELD_ATTR_REQUIRED, pluralize, toSnakeCase, } from "@metaobjectsdev/metadata";
31
31
  import { inferViewKind, currencyMetaFor, labelFor, humanize, valueObjectFor } from "./field-meta.js";
32
32
  import { VIEW_CONTEXT_FORM } from "../view-context.js";
33
+ import { enumValues } from "../enum-meta.js";
33
34
  import { isProjection } from "../projection/projection-detector.js";
34
35
  // `restPath` lives HERE rather than in api-surface.ts, which is where it used to sit and
35
36
  // which now re-exports it. The descriptor is what emits `$path`, so the composition has to
@@ -217,6 +218,11 @@ export function buildUiFieldDescriptor(field, root) {
217
218
  currency: currencyMeta === null
218
219
  ? undefined
219
220
  : { currency: currencyMeta.currency, locale: currencyMeta.locale },
221
+ // Whatever the field's view resolves to, an enum's members belong on the descriptor:
222
+ // they are declared metadata, and withholding them is what makes a consumer hard-code
223
+ // them. Read through the RESOLVING accessor (ADR-0039) so a field that inherits
224
+ // `@values` from an abstract enum via `extends` carries them too.
225
+ options: enumValues(field),
220
226
  nested: vo === undefined
221
227
  ? undefined
222
228
  : { objectRef: vo.name, isArray: field.resolvedIsArray() },
@@ -1 +1 @@
1
- {"version":3,"file":"entity-ui-descriptor.js","sourceRoot":"","sources":["../../src/templates/entity-ui-descriptor.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,6DAA6D;AAC7D,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,wFAAwF;AACxF,iEAAiE;AACjE,yFAAyF;AACzF,+CAA+C;AAC/C,EAAE;AACF,wFAAwF;AACxF,wFAAwF;AACxF,yFAAyF;AACzF,0FAA0F;AAC1F,WAAW;AACX,EAAE;AACF,0FAA0F;AAC1F,2FAA2F;AAC3F,0FAA0F;AAC1F,mEAAmE;AACnE,EAAE;AACF,sFAAsF;AACtF,2FAA2F;AAC3F,6EAA6E;AAC7E,yFAAyF;AACzF,uDAAuD;AACvD,EAAE;AACF,0FAA0F;AAC1F,2EAA2E;AAG3E,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EACT,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,yFAAyF;AACzF,2FAA2F;AAC3F,2FAA2F;AAC3F,uFAAuF;AACvF,2EAA2E;AAC3E,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAyCzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,YAAY,CAAC,MAAgB;IAC3C,wFAAwF;IACxF,oFAAoF;IACpF,kFAAkF;IAClF,OAAO,YAAY,CAAC,MAAM,CAAC;QACzB,CAAC,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;QAC9D,CAAC,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAkB;IACzC,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IACzE,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,iBAAiB;YACpB,OAAO,MAAM,CAAC;QAChB,KAAK,mBAAmB;YACtB,OAAO,QAAQ,CAAC;QAClB,KAAK,iBAAiB;YACpB,OAAO,MAAM,CAAC;QAChB,KAAK,qBAAqB;YACxB,OAAO,UAAU,CAAC;QACpB,KAAK,qBAAqB;YACxB,OAAO,UAAU,CAAC;QACpB,KAAK,mBAAmB;YACtB,OAAO,QAAQ,CAAC;QAClB,KAAK,kBAAkB;YACrB,OAAO,OAAO,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,qBAAqB,CAAC;QAC3B,KAAK,qBAAqB;YACxB,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,KAAgB;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,sFAAsF;IACtF,eAAe;IACf,EAAE;IACF,qFAAqF;IACrF,qFAAqF;IACrF,uFAAuF;IACvF,uFAAuF;IACvF,+EAA+E;IAC/E,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,KAAK,0BAA0B,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YACjF,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,KAAK,wBAAwB,EAAE,CAAC;YACtD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,EAAE,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,sBAAsB,EAAE,CAAC,CAAC;gBAC7F,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrD,IAAI,CAAC,YAAY,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,WAAW,UAAU,sBAAsB;SACrD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAgB,EAAE,IAAe;IACtE,kFAAkF;IAClF,gFAAgF;IAChF,uFAAuF;IACvF,qFAAqF;IACrF,uFAAuF;IACvF,0DAA0D;IAC1D,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC/D,MAAM,EAAE,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxE,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;QACzC,IAAI;QACJ,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC;QAChC,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;QAC7B,QAAQ,EAAE,YAAY,KAAK,IAAI;YAC7B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE;QACpE,MAAM,EAAE,EAAE,KAAK,SAAS;YACtB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,eAAe,EAAE,EAAE;KAC7D,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,uBAAuB,CAAC,GAAe,EAAE,IAAe;IACtE,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,IAAI;QAChB,mFAAmF;QACnF,oFAAoF;QACpF,iDAAiD;QACjD,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC;QACnB,oFAAoF;QACpF,8BAA8B;QAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;KACjE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"entity-ui-descriptor.js","sourceRoot":"","sources":["../../src/templates/entity-ui-descriptor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inferred-types.d.ts","sourceRoot":"","sources":["../../src/templates/inferred-types.ts"],"names":[],"mappings":"AASA,OAAO,EAAuB,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAgCtE,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEjF;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,EAClB,OAAO,UAAQ,EACf,GAAG,CAAC,EAAE,aAAa,EACnB,OAAO,UAAQ,GACd,IAAI,CA8BN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAK9E;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAExD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAsC1F;AA4BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAmC7E;AAyFD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAsBxF"}
1
+ {"version":3,"file":"inferred-types.d.ts","sourceRoot":"","sources":["../../src/templates/inferred-types.ts"],"names":[],"mappings":"AASA,OAAO,EAAuB,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAiCtE,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEjF;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,EAClB,OAAO,UAAQ,EACf,GAAG,CAAC,EAAE,aAAa,EACnB,OAAO,UAAQ,GACd,IAAI,CA8BN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAK9E;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAExD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAmE1F;AA4BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAmC7E;AAyFD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAsBxF"}
@@ -12,6 +12,7 @@ import { variableNameFromEntity, toPascalCase } from "../naming.js";
12
12
  import { valueObjectModuleSpecifier } from "../import-path.js";
13
13
  import { stripPackage } from "@metaobjectsdev/metadata";
14
14
  import { enumValues } from "../enum-meta.js";
15
+ import { sharedEnumZodConstName } from "./enums-file.js";
15
16
  import { renderDocsFor } from "./jsdoc.js";
16
17
  import { sharedEnumForField } from "../enum-shared.js";
17
18
  import { sharedEnumImportSpecifier, providedEnumImportSpecifier } from "../enum-import.js";
@@ -118,8 +119,23 @@ export function renderEnumTypeAliases(entity, ctx) {
118
119
  // always pass ctx (entity-file template), so shared materialization applies.
119
120
  const shared = ctx !== undefined ? sharedEnumForField(field) : undefined;
120
121
  if (shared === undefined) {
121
- // Inline enum — emit the literal union exactly as before.
122
- lines.push(`export type ${typeName} = ${enumUnionString(values)};`);
122
+ // Inline enum — the literal union, PLUS a named runtime constant.
123
+ //
124
+ // The type alias alone is erased at runtime, so hand-written code that needs a
125
+ // MEMBER had nothing to import and wrote the symbol as a literal — while the same
126
+ // list appeared three or four more times in this one generated file (the Drizzle
127
+ // `enum:` option and each Zod schema). A package-level SHARED enum has always had
128
+ // a runtime constant (`<E>Enum` in the shared enums module); an inline one had
129
+ // none anywhere, so "use the constant, not a magic string" was advice an adopter
130
+ // could not follow. Same name-shape as the shared one, so which kind of enum it is
131
+ // stops mattering at the call site.
132
+ //
133
+ // `.options` is the member array and `.enum.<Member>` the individual symbol, in
134
+ // both Zod 3 and Zod 4 — generated code here must be safe on both.
135
+ lines.push(code `export type ${typeName} = ${enumUnionString(values)};`);
136
+ lines.push(code `export const ${sharedEnumZodConstName(typeName)} = ${imp("z@zod")}.enum([${values
137
+ .map((v) => JSON.stringify(v))
138
+ .join(", ")}]);`);
123
139
  continue;
124
140
  }
125
141
  // Shared / provided enum — re-export from the materialized module or the
@@ -127,9 +143,19 @@ export function renderEnumTypeAliases(entity, ctx) {
127
143
  const spec = shared.provided
128
144
  ? providedEnumImportSpecifier(ctx, shared.name)
129
145
  : sharedEnumImportSpecifier(ctx, entity.package);
130
- lines.push(`export { type ${shared.name} } from ${JSON.stringify(spec)};`);
146
+ // Re-export the runtime constant beside the type for a MATERIALIZED shared enum, so a
147
+ // consumer reaches its members the same way it reaches an inline enum's, without having
148
+ // to know which kind it is or which module the shared one landed in.
149
+ //
150
+ // NOT for a `@provided` enum. That declaration lives in a module the ADOPTER owns and
151
+ // configured, and nothing here knows or can require that it exports a Zod constant —
152
+ // naming one would emit an import of a symbol that may not exist and fail their build.
153
+ // Only the type is contracted for a provided enum, and only the type is re-exported.
154
+ lines.push(shared.provided
155
+ ? code `export { type ${shared.name} } from ${JSON.stringify(spec)};`
156
+ : code `export { type ${shared.name}, ${sharedEnumZodConstName(shared.name)} } from ${JSON.stringify(spec)};`);
131
157
  }
132
- return lines.length > 0 ? code `${lines.join("\n")}` : null;
158
+ return lines.length > 0 ? joinCode(lines, { on: "\n" }) : null;
133
159
  }
134
160
  // ---------------------------------------------------------------------------
135
161
  // Value-object interface emitter
@@ -1 +1 @@
1
- {"version":3,"file":"inferred-types.js","sourceRoot":"","sources":["../../src/templates/inferred-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inferred-types.js","sourceRoot":"","sources":["../../src/templates/inferred-types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metaobjectsdev/codegen-ts",
3
- "version": "1.0.0-rc.1",
3
+ "version": "1.0.0-rc.2",
4
4
  "description": "TypeScript codegen engine for MetaObjects — emits Drizzle, Zod, and Fastify artifacts.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -111,8 +111,8 @@
111
111
  "access": "public"
112
112
  },
113
113
  "dependencies": {
114
- "@metaobjectsdev/metadata": "1.0.0-rc.1",
115
- "@metaobjectsdev/render": "1.0.0-rc.1",
114
+ "@metaobjectsdev/metadata": "1.0.0-rc.2",
115
+ "@metaobjectsdev/render": "1.0.0-rc.2",
116
116
  "@biomejs/js-api": "^0.7.0",
117
117
  "@biomejs/wasm-nodejs": "^1.9.4",
118
118
  "@toon-format/toon": "^2.3.0",
@@ -124,9 +124,9 @@
124
124
  },
125
125
  "devDependencies": {
126
126
  "@biomejs/biome": "^1.9.0",
127
- "@metaobjectsdev/codegen-ts-react": "1.0.0-rc.1",
128
- "@metaobjectsdev/migrate-ts": "1.0.0-rc.1",
129
- "@metaobjectsdev/runtime-ts": "1.0.0-rc.1",
127
+ "@metaobjectsdev/codegen-ts-react": "1.0.0-rc.2",
128
+ "@metaobjectsdev/migrate-ts": "1.0.0-rc.2",
129
+ "@metaobjectsdev/runtime-ts": "1.0.0-rc.2",
130
130
  "bun-types": "latest",
131
131
  "drizzle-orm": "^0.38.0",
132
132
  "hono": "^4.6.0",
@@ -76,6 +76,13 @@ function renderFieldEntry(f: UiFieldDescriptor): string {
76
76
  if (f.htmlType !== undefined) entries.push(`htmlType: ${JSON.stringify(f.htmlType)}`);
77
77
  if (f.rules.length > 0) entries.push(`rules: { ${f.rules.map(renderRule).join(", ")} }`);
78
78
 
79
+ // A `field.enum`'s member symbols. Emitted whenever the field has them, because the
80
+ // descriptor reports `view: "dropdown"` for an enum and a dropdown without options is
81
+ // a promise the descriptor cannot keep.
82
+ if (f.options !== undefined && f.options.length > 0) {
83
+ entries.push(`options: [${f.options.map((v) => JSON.stringify(v)).join(", ")}] as const`);
84
+ }
85
+
79
86
  // Currency-specific keys: only emitted for currency-subtype fields.
80
87
  if (f.currency !== undefined) {
81
88
  entries.push(`currency: ${JSON.stringify(f.currency.currency)}`);
@@ -52,6 +52,7 @@ import {
52
52
  } from "@metaobjectsdev/metadata";
53
53
  import { inferViewKind, currencyMetaFor, labelFor, humanize, valueObjectFor } from "./field-meta.js";
54
54
  import { VIEW_CONTEXT_FORM } from "../view-context.js";
55
+ import { enumValues } from "../enum-meta.js";
55
56
  import { isProjection } from "../projection/projection-detector.js";
56
57
  // `restPath` lives HERE rather than in api-surface.ts, which is where it used to sit and
57
58
  // which now re-exports it. The descriptor is what emits `$path`, so the composition has to
@@ -81,6 +82,17 @@ export interface UiFieldDescriptor {
81
82
  readonly rules: readonly UiRule[];
82
83
  /** Present only for a `field.currency`. */
83
84
  readonly currency?: { readonly currency: string; readonly locale: string } | undefined;
85
+ /**
86
+ * The member symbols, present exactly when the field is a `field.enum`.
87
+ *
88
+ * A descriptor that reports `view: "dropdown"` and carries no options tells a consumer
89
+ * to render a `<select>` and gives it nothing to put in one. That was the shape between
90
+ * 0.25.0 — which moved an enum field's form view from `text` to `dropdown` — and this,
91
+ * and it forced every consumer to restate the member list the metadata already declares.
92
+ * Found on the public reference app, where the same four symbols appeared as literals in
93
+ * five hand-written files.
94
+ */
95
+ readonly options?: readonly string[] | undefined;
84
96
  /**
85
97
  * Present when the generated FORM renders this field as a nested value-object
86
98
  * sub-form rather than an input — a `field.object` whose `@objectRef` resolves (see
@@ -284,6 +296,11 @@ export function buildUiFieldDescriptor(field: MetaField, root?: MetaRoot): UiFie
284
296
  currency: currencyMeta === null
285
297
  ? undefined
286
298
  : { currency: currencyMeta.currency, locale: currencyMeta.locale },
299
+ // Whatever the field's view resolves to, an enum's members belong on the descriptor:
300
+ // they are declared metadata, and withholding them is what makes a consumer hard-code
301
+ // them. Read through the RESOLVING accessor (ADR-0039) so a field that inherits
302
+ // `@values` from an abstract enum via `extends` carries them too.
303
+ options: enumValues(field),
287
304
  nested: vo === undefined
288
305
  ? undefined
289
306
  : { objectRef: vo.name, isArray: field.resolvedIsArray() },
@@ -37,6 +37,7 @@ import { variableNameFromEntity, toPascalCase } from "../naming.js";
37
37
  import { valueObjectModuleSpecifier } from "../import-path.js";
38
38
  import { stripPackage } from "@metaobjectsdev/metadata";
39
39
  import { enumValues } from "../enum-meta.js";
40
+ import { sharedEnumZodConstName } from "./enums-file.js";
40
41
  import { renderDocsFor } from "./jsdoc.js";
41
42
  import { sharedEnumForField } from "../enum-shared.js";
42
43
  import { sharedEnumImportSpecifier, providedEnumImportSpecifier } from "../enum-import.js";
@@ -131,7 +132,7 @@ export function enumUnionString(values: string[]): string {
131
132
  export function renderEnumTypeAliases(entity: MetaObject, ctx?: RenderContext): Code | null {
132
133
  // De-duplicate by type-alias name — multiple fields can extend the same abstract enum.
133
134
  const seen = new Set<string>();
134
- const lines: string[] = [];
135
+ const lines: Code[] = [];
135
136
  // ADR-0044/#228 — an inline enum's alias is `<Owner><Field>`; `<Owner>` is this
136
137
  // object's EMITTED name so a collision-qualified value object declares (and its
137
138
  // interface references) `AcmeAlphaNoteStatus`, not a bare `NoteStatus`. Entities
@@ -153,8 +154,25 @@ export function renderEnumTypeAliases(entity: MetaObject, ctx?: RenderContext):
153
154
  // always pass ctx (entity-file template), so shared materialization applies.
154
155
  const shared = ctx !== undefined ? sharedEnumForField(field) : undefined;
155
156
  if (shared === undefined) {
156
- // Inline enum — emit the literal union exactly as before.
157
- lines.push(`export type ${typeName} = ${enumUnionString(values)};`);
157
+ // Inline enum — the literal union, PLUS a named runtime constant.
158
+ //
159
+ // The type alias alone is erased at runtime, so hand-written code that needs a
160
+ // MEMBER had nothing to import and wrote the symbol as a literal — while the same
161
+ // list appeared three or four more times in this one generated file (the Drizzle
162
+ // `enum:` option and each Zod schema). A package-level SHARED enum has always had
163
+ // a runtime constant (`<E>Enum` in the shared enums module); an inline one had
164
+ // none anywhere, so "use the constant, not a magic string" was advice an adopter
165
+ // could not follow. Same name-shape as the shared one, so which kind of enum it is
166
+ // stops mattering at the call site.
167
+ //
168
+ // `.options` is the member array and `.enum.<Member>` the individual symbol, in
169
+ // both Zod 3 and Zod 4 — generated code here must be safe on both.
170
+ lines.push(code`export type ${typeName} = ${enumUnionString(values)};`);
171
+ lines.push(
172
+ code`export const ${sharedEnumZodConstName(typeName)} = ${imp("z@zod")}.enum([${values
173
+ .map((v) => JSON.stringify(v))
174
+ .join(", ")}]);`,
175
+ );
158
176
  continue;
159
177
  }
160
178
  // Shared / provided enum — re-export from the materialized module or the
@@ -162,10 +180,22 @@ export function renderEnumTypeAliases(entity: MetaObject, ctx?: RenderContext):
162
180
  const spec = shared.provided
163
181
  ? providedEnumImportSpecifier(ctx!, shared.name)
164
182
  : sharedEnumImportSpecifier(ctx!, entity.package);
165
- lines.push(`export { type ${shared.name} } from ${JSON.stringify(spec)};`);
183
+ // Re-export the runtime constant beside the type for a MATERIALIZED shared enum, so a
184
+ // consumer reaches its members the same way it reaches an inline enum's, without having
185
+ // to know which kind it is or which module the shared one landed in.
186
+ //
187
+ // NOT for a `@provided` enum. That declaration lives in a module the ADOPTER owns and
188
+ // configured, and nothing here knows or can require that it exports a Zod constant —
189
+ // naming one would emit an import of a symbol that may not exist and fail their build.
190
+ // Only the type is contracted for a provided enum, and only the type is re-exported.
191
+ lines.push(
192
+ shared.provided
193
+ ? code`export { type ${shared.name} } from ${JSON.stringify(spec)};`
194
+ : code`export { type ${shared.name}, ${sharedEnumZodConstName(shared.name)} } from ${JSON.stringify(spec)};`,
195
+ );
166
196
  }
167
197
 
168
- return lines.length > 0 ? code`${lines.join("\n")}` : null;
198
+ return lines.length > 0 ? joinCode(lines, { on: "\n" }) : null;
169
199
  }
170
200
 
171
201
  // ---------------------------------------------------------------------------