@metaobjectsdev/codegen-ts 0.21.2 → 0.21.4-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.
@@ -113,13 +113,13 @@ export interface MetaobjectsGenConfig extends Omit<ResolvedGenConfig, "dbImport"
113
113
  * porting docs). This keeps the option a safe no-op on sqlite/D1 instead of
114
114
  * emitting a non-compiling column + a Zod schema disagreeing with it.
115
115
  *
116
- * Date-mode filtering (`?filter[<timestamp>][gte]=...`) is not yet supported
117
- * `runtime-ts`'s filter parser keeps the qs value a string, which throws at
118
- * request time against a Date-mode Drizzle column. Known limitation; not
119
- * threaded through at runtime, but `runGen` DOES warn (once per run, naming
120
- * every offending entity+field) when this mode meets a `@filterable`
121
- * `field.timestamp` see `runner.ts`'s Important-4 check. Track before
122
- * recommending date mode for a filterable timestamp field.
116
+ * Date-mode filtering (`?filter[<timestamp>][gte]=...`) IS supported: a
117
+ * `@filterable` `field.timestamp` generated under this mode carries
118
+ * `dateValues: true` in its `FilterAllowlist` rule, and `runtime-ts`'s filter
119
+ * parser coerces the query-string value with `new Date(...)` rather than binding
120
+ * a string against a Date-typed column (a malformed value is rejected as
121
+ * `filter.invalid_value`). `field.date` / `field.time` are unaffected Drizzle
122
+ * types both as strings under every dialect.
123
123
  */
124
124
  timestampMode?: "date" | "string";
125
125
  /** Path prefix applied to generated route registrations + hook fetch URLs. Defaults to "". */
package/dist/runner.d.ts CHANGED
@@ -19,6 +19,17 @@ export interface RunGenOpts {
19
19
  * different). "fresh" → overwrite and re-baseline (the `--baseline=fresh`
20
20
  * CLI flag). */
21
21
  baseline?: BaselineMode;
22
+ /**
23
+ * Preview only — render and report, touching NOTHING on disk (no output files,
24
+ * no `.gen-state/` snapshot). Backs `meta gen --dry-run`.
25
+ *
26
+ * Until 0.21.x the flag existed only in the CLI's *display* object and was never
27
+ * passed here, so `--dry-run` wrote every file exactly like a real run — while the
28
+ * website, `meta init`'s next-steps and the CLI help all called it "preview without
29
+ * writing". A fresh adopter found it by deleting a generated file, running
30
+ * `--dry-run`, and watching it reappear.
31
+ */
32
+ dryRun?: boolean;
22
33
  }
23
34
  export interface RunGenResult {
24
35
  files: WriteResult[];
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,0BAA0B,CAAC;AAMrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAMpE,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAU/B,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;4BAEwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;oDACgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;qBAEiB;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;gDAC4C;IAC5C,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B;AAkBD,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAiVpE"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,0BAA0B,CAAC;AAMrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAMpE,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAU/B,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;4BAEwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;oDACgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;qBAEiB;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;gDAC4C;IAC5C,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B;AAkBD,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAuUpE"}
package/dist/runner.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { join, relative, resolve, isAbsolute, dirname } from "node:path";
2
2
  import { tmpdir } from "node:os";
3
3
  import { fileURLToPath } from "node:url";
4
- import { readFileSync } from "node:fs";
4
+ import { existsSync, readFileSync } from "node:fs";
5
5
  import { MetaRoot, OBJECT_SUBTYPE_VALUE, FIELD_SUBTYPE_TIMESTAMP, FIELD_ATTR_FILTERABLE } from "@metaobjectsdev/metadata";
6
6
  import { assignEmittedNames } from "./naming/collision-names.js";
7
7
  import { isAbstract } from "./instance-artifacts.js";
@@ -123,34 +123,11 @@ export async function runGen(opts) {
123
123
  }
124
124
  // 2. Resolve targets + entity-module target.
125
125
  const config = normalizeConfig(opts.config);
126
- // Important-4 (post-#281 pre-publish review) a @filterable timestamp field
127
- // under timestampMode:"date" throws at REQUEST time in runtime-ts's filter
128
- // parser (documented limitation; see drizzle-fastify/filter-parser.ts's
129
- // "datetime" coerce case). Detect-and-WARN at generation time instead of
130
- // leaving it a silent build-time no-signal (repo precedent: #226/#258
131
- // detect-and-refuse an un-appliable migration at gen time rather than fail
132
- // at apply). Reading config.timestampMode AFTER normalizeConfig means this is
133
- // naturally silent on sqlite/D1 (normalized to "string" there) and in the
134
- // default "string" mode — no dialect/mode branching needed here. One warning
135
- // for the whole run, naming every offending entity+field, not one per field.
136
- if (config.timestampMode === "date") {
137
- const offenders = safeEntities
138
- .filter((e) => !e.isAbstract)
139
- .map((e) => ({
140
- entity: e.name,
141
- fields: e.fields()
142
- .filter((f) => f.subType === FIELD_SUBTYPE_TIMESTAMP && f.attr(FIELD_ATTR_FILTERABLE) === true)
143
- .map((f) => f.name),
144
- }))
145
- .filter((o) => o.fields.length > 0);
146
- if (offenders.length > 0) {
147
- const named = offenders.map((o) => `${o.entity}.${o.fields.join(",")}`).join("; ");
148
- warnings.push(`timestampMode: "date" — @filterable timestamp field(s) [${named}] will throw at ` +
149
- `request time when filtered (e.g. ?filter[field][gte]=...) — runtime-ts's filter ` +
150
- `parser does not yet thread the Date-mode column type through. Not enforced; ` +
151
- `remove @filterable from these fields or avoid filtering them until this is fixed.`);
152
- }
153
- }
126
+ // (Historical: a warning stood here for a @filterable timestamp under
127
+ // timestampMode:"date", which used to throw at REQUEST time in runtime-ts's
128
+ // filter parser. That limitation is fixed — the generated allowlist now carries
129
+ // `dateValues: true` for a Date-mode timestamp column and the parser coerces with
130
+ // `new Date(...)` so the warning was removed rather than left to cry wolf.)
154
131
  const targets = config.targets;
155
132
  const targetOf = (g) => {
156
133
  const name = g.target ?? DEFAULT_TARGET_NAME;
@@ -302,6 +279,19 @@ export async function runGen(opts) {
302
279
  // 5. Write phase.
303
280
  const writes = [];
304
281
  const conflicts = [];
282
+ // --dry-run: report what WOULD be written and touch nothing — no output files
283
+ // and no .gen-state/ snapshot (writing the snapshot would silently re-baseline
284
+ // the merge base, so a later real run could skip a genuinely-needed write).
285
+ if (opts.dryRun === true) {
286
+ for (const file of emitted) {
287
+ // Report the outcome faithfully rather than a placeholder: a path that does
288
+ // not exist yet would be created ("new"), one that does would be rewritten.
289
+ // Merge/conflict outcomes can't be known without doing the merge, so this
290
+ // deliberately reports the coarser truth instead of guessing.
291
+ writes.push({ path: file.fullPath, status: existsSync(file.fullPath) ? "overwrite" : "new" });
292
+ }
293
+ return { files: writes, warnings, conflicts };
294
+ }
305
295
  for (const file of emitted) {
306
296
  // Key the snapshot by project-relative path so multi-target projects keep
307
297
  // distinct entries (e.g. `database/Post.ts` vs `web/Post.queries.ts`).
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC1H,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAIlB,MAAM,uBAAuB,CAAC;AAE/B;kFACkF;AAClF,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD;kFACkF;AAClF,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AA8BrE;;;;;GAKG;AACH,SAAS,aAAa;IACpB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAA0B,CAAC;QAChF,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAgB;IAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC5C,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,0EAA0E;IAC1E,gEAAgE;IAChE,uEAAuE;IACvE,2DAA2D;IAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS;QAChD,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS;QAChD,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,WAAW;YAClB,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS;YACxB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEzD,iFAAiF;IACjF,iFAAiF;IACjF,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;IAC/F,MAAM,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,MAAM,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,IACE,eAAe,KAAK,SAAS;QAC7B,cAAc,KAAK,SAAS;QAC5B,cAAc,KAAK,eAAe,EAClC,CAAC;QACD,QAAQ,CAAC,IAAI,CACX,kBAAkB,cAAc,MAAM,eAAe,oBAAoB;YACvE,6CAA6C,CAChD,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,wEAAwE;IACxE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,YAAY,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;IAE3B,+CAA+C;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAClC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACvC,MAAM,QAAQ,GAAG,YAAY;QAC3B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC,UAAU,CAAC;IACf,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY;YAC9B,CAAC,CAAC,oDAAoD;YACtD,CAAC,CAAC,6BAA6B,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,6BAA6B,MAAM,GAAG,CAAC,CAAC;QACtD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAI,CACX,qCAAqC,MAAM,CAAC,IAAI,4CAA4C,CAC7F,CAAC;YACF,SAAS;QACX,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,6EAA6E;IAC7E,wEAAwE;IACxE,2EAA2E;IAC3E,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,kEAAkE;IAClE,+EAA+E;IAC/E,sEAAsE;IACtE,sDAAsD;IACtD,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,eAAe,CAAC,CAAC,CAAC,CAC3C,CAAC;IACF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,IAAI,KAAK,CACb,6BAA6B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,iCAAiC;gBACjF,gCAAgC,KAAK,SAAS,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;gBACzE,qGAAqG,CACxG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5C,6EAA6E;IAC7E,2EAA2E;IAC3E,wEAAwE;IACxE,yEAAyE;IACzE,sEAAsE;IACtE,2EAA2E;IAC3E,8EAA8E;IAC9E,0EAA0E;IAC1E,6EAA6E;IAC7E,6EAA6E;IAC7E,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,YAAY;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,MAAM,EAAE,CAAC,CAAC,IAAI;YACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;iBACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,uBAAuB,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAC;iBAC9F,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACtB,CAAC,CAAC;aACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnF,QAAQ,CAAC,IAAI,CACX,2DAA2D,KAAK,kBAAkB;gBAChF,kFAAkF;gBAClF,8EAA8E;gBAC9E,mFAAmF,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,QAAQ,GAAG,CAAC,CAAY,EAAkB,EAAE;QAChD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,mBAAmB,CAAC;QAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CACb,cAAc,CAAC,CAAC,IAAI,gCAAgC,IAAI,KAAK;gBAC7D,kBAAkB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrD,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,2CAA2C;IAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU;QAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACrE,MAAM,kBAAkB,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAE,CAAC;IAE3F,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,mBAAmB,CAAC,KAAK,kBAAkB,CAAC,IAAI,CACrE,CAAC;IACF,IAAI,gBAAgB,IAAI,kBAAkB,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACb,WAAW,kBAAkB,CAAC,IAAI,wCAAwC;YAC1E,oEAAoE;YACpE,kCAAkC,CACnC,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,wEAAwE;IACxE,wEAAwE;IACxE,+EAA+E;IAC/E,gFAAgF;IAChF,2EAA2E;IAC3E,4EAA4E;IAC5E,+EAA+E;IAC/E,2EAA2E;IAC3E,iFAAiF;IACjF,gFAAgF;IAChF,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,oBAAoB,GAAG,CAAC,CAAa,EAAW,EAAE,CACtD,CAAC,CAAC,OAAO,KAAK,oBAAoB,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACtF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/B,IAAI,oBAAoB,CAAC,CAAC,CAAC;YAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IAChE,+EAA+E;IAC/E,8EAA8E;IAC9E,8EAA8E;IAC9E,4EAA4E;IAC5E,qEAAqE;IACrE,4DAA4D;IAC5D,MAAM,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,KAAK,oBAAoB;YAC5C,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACrD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACX,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,+EAA+E;IAC/E,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;IAEpF,kFAAkF;IAClF,MAAM,OAAO,GAAiE,EAAE,CAAC;IACjF,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,0EAA0E;QAC1E,4EAA4E;QAC5E,oDAAoD;QACpD,IAAI,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,QAAQ,CAAC,IAAI,CACX,IAAI,SAAS,CAAC,IAAI,iDAAiD;gBACnE,UAAU,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,4BAA4B,CACrG,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvC,qEAAqE;QACrE,uEAAuE;QACvE,oEAAoE;QACpE,qEAAqE;QACrE,0EAA0E;QAC1E,wEAAwE;QACxE,mDAAmD;QACnD,MAAM,WAAW,GAAG,WAAW,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;YAC7E,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC;YACzC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QACtB,MAAM,aAAa,GAAG,iBAAiB,CAAC;YACtC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;YACvD,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,KAAK;YACL,WAAW;YACX,SAAS;YACT,gBAAgB;YAChB,UAAU;YACV,kBAAkB;YAClB,GAAG,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS,IAAI,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC;SAClG,CAAC,CAAC;QACH,MAAM,GAAG,GAAe;YACtB,QAAQ,EAAE,YAAY;YACtB,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI;YAC7C,MAAM,EAAE;gBACN,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,iBAAiB;aAClB;YACD,aAAa;YACb,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;YACjD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;SAC3D,CAAC;QAEF,IAAI,KAAoB,CAAC;QACzB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YACrE,IAAI,SAAS,EAAE,CAAC;gBACd,qEAAqE;gBACrE,0EAA0E;gBAC1E,2EAA2E;gBAC3E,4EAA4E;gBAC5E,0EAA0E;gBAC1E,2EAA2E;gBAC3E,4EAA4E;gBAC5E,8EAA8E;gBAC9E,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;oBAAE,SAAS;gBACjD,MAAM,IAAI,KAAK,CACb,2BAA2B,QAAQ,oBAAoB;oBACvD,IAAI,SAAS,CAAC,WAAW,UAAU,SAAS,CAAC,IAAI,KAAK;oBACtD,+CAA+C,CAChD,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,SAAS,GAAkB,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,0EAA0E;QAC1E,uEAAuE;QACvE,wEAAwE;QACxE,mDAAmD;QACnD,MAAM,UAAU,GAAuD;YACrE,QAAQ;YACR,WAAW;YACX,QAAQ;SACT,CAAC;QACF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,UAAU,CAAC,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,QAAQ,CAAC,IAAI,CACX,qBAAqB,IAAI,CAAC,QAAQ,qCAAqC;gBACvE,4CAA4C,CAC7C,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CACX,wBAAwB,IAAI,CAAC,QAAQ,2CAA2C;gBAChF,2EAA2E,CAC5E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,gEAAgE;IAChE,IAAI,eAAe,KAAK,SAAS;QAAE,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAEnF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
@@ -126,7 +126,7 @@ ${docsPrefix}export type ${entity.name} = ${z}.infer<typeof ${entity.name}Schema
126
126
  ...(enumAliases !== null ? [enumAliases] : []),
127
127
  renderZodValidators(entity, ctx),
128
128
  renderEntityConstants(entity, ctx.apiPrefix),
129
- ...(allowlists ? [renderFilterAllowlist(entity), renderSortAllowlist(entity)] : []),
129
+ ...(allowlists ? [renderFilterAllowlist(entity, undefined, ctx), renderSortAllowlist(entity)] : []),
130
130
  renderFilterType(entity),
131
131
  ...(tphBlock !== null ? [tphBlock] : []),
132
132
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"entity-file.js","sourceRoot":"","sources":["../../src/templates/entity-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-file.js","sourceRoot":"","sources":["../../src/templates/entity-file.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,18 @@
1
1
  import { type Code } from "ts-poet";
2
2
  import { MetaObject } from "@metaobjectsdev/metadata";
3
+ import type { RenderContext } from "../render-context.js";
3
4
  /**
4
5
  * `exclude` (FR-017): drop a field from the allowlist. Used by per-subtype TPH
5
6
  * allowlists to omit the discriminator — it's pinned by the per-subtype route
6
7
  * path, so a client must not filter on it.
8
+ *
9
+ * `ctx` supplies `timestampMode`: under `"date"` a `field.timestamp` column binds a JS
10
+ * `Date`, so its rule carries `dateValues: true` and runtime-ts's filter parser coerces
11
+ * the query-string value with `new Date(...)` rather than binding a string against a
12
+ * Date-typed column (which threw at request time). `ctx.timestampMode` is already
13
+ * normalized to `"string"` for sqlite/D1 at both config choke points, so no dialect
14
+ * branching is needed here. Absent `ctx`, or in the default mode, output is unchanged.
7
15
  */
8
- export declare function renderFilterAllowlist(entity: MetaObject, exclude?: string): Code;
16
+ export declare function renderFilterAllowlist(entity: MetaObject, exclude?: string, ctx?: RenderContext): Code;
9
17
  export declare function renderSortAllowlist(entity: MetaObject, exclude?: string): Code;
10
18
  //# sourceMappingURL=filter-allowlist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter-allowlist.d.ts","sourceRoot":"","sources":["../../src/templates/filter-allowlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAa,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAiDjE;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAuBhF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CA8B9E"}
1
+ {"version":3,"file":"filter-allowlist.d.ts","sourceRoot":"","sources":["../../src/templates/filter-allowlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAa,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAiBjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAiC1D;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CA4BrG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CA8B9E"}
@@ -36,8 +36,15 @@ function filterableFields(entity, exclude) {
36
36
  * `exclude` (FR-017): drop a field from the allowlist. Used by per-subtype TPH
37
37
  * allowlists to omit the discriminator — it's pinned by the per-subtype route
38
38
  * path, so a client must not filter on it.
39
+ *
40
+ * `ctx` supplies `timestampMode`: under `"date"` a `field.timestamp` column binds a JS
41
+ * `Date`, so its rule carries `dateValues: true` and runtime-ts's filter parser coerces
42
+ * the query-string value with `new Date(...)` rather than binding a string against a
43
+ * Date-typed column (which threw at request time). `ctx.timestampMode` is already
44
+ * normalized to `"string"` for sqlite/D1 at both config choke points, so no dialect
45
+ * branching is needed here. Absent `ctx`, or in the default mode, output is unchanged.
39
46
  */
40
- export function renderFilterAllowlist(entity, exclude) {
47
+ export function renderFilterAllowlist(entity, exclude, ctx) {
41
48
  const fields = filterableFields(entity, exclude);
42
49
  if (fields.length === 0) {
43
50
  return code `
@@ -50,7 +57,12 @@ export const ${entity.name}FilterAllowlist = {} as const satisfies FilterAllowli
50
57
  .map((f) => {
51
58
  const ops = opsForSubType(f.subType).map((o) => JSON.stringify(o)).join(", ");
52
59
  const sub = filterSubTypeFor(f.subType);
53
- return ` ${f.name}: { ops: [${ops}] as const, subType: ${JSON.stringify(sub)} as const, leadingWildcard: false }`;
60
+ // Only field.timestamp is governed by timestampMode Drizzle types
61
+ // field.date / field.time as strings under every dialect.
62
+ const dateValues = ctx?.timestampMode === "date" && f.subType === FIELD_SUBTYPE_TIMESTAMP
63
+ ? ", dateValues: true as const"
64
+ : "";
65
+ return ` ${f.name}: { ops: [${ops}] as const, subType: ${JSON.stringify(sub)} as const, leadingWildcard: false${dateValues} }`;
54
66
  })
55
67
  .join(",\n");
56
68
  return code `
@@ -1 +1 @@
1
- {"version":3,"file":"filter-allowlist.js","sourceRoot":"","sources":["../../src/templates/filter-allowlist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-allowlist.js","sourceRoot":"","sources":["../../src/templates/filter-allowlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAa,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EACL,qBAAqB,EACrB,iCAAiC,EACjC,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS;IACtC,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,mBAAmB;IACnB,qBAAqB;IACrB,qEAAqE;IACrE,sBAAsB;CACvB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS;IACxC,kBAAkB;IAClB,kBAAkB;IAClB,uBAAuB;CACxB,CAAC,CAAC;AAEH,4FAA4F;AAC5F,SAAS,gBAAgB,CAAC,YAAoB;IAC5C,IAAI,YAAY,KAAK,qBAAqB;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC;QAAE,OAAO,QAAQ,CAAC;IACvD,IAAI,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC;QAAE,OAAO,UAAU,CAAC;IAC3D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAkB,EAAE,OAAgB;IAC5D,4GAA4G;IAC5G,OAAO,MAAM;SACV,MAAM,EAAE;SACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAkB,EAAE,OAAgB,EAAE,GAAmB;IAC7F,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;;;eAGA,MAAM,CAAC,IAAI;CACzB,CAAC;IACA,CAAC;IACD,MAAM,IAAI,GAAG,MAAM;SAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACxC,oEAAoE;QACpE,0DAA0D;QAC1D,MAAM,UAAU,GAAG,GAAG,EAAE,aAAa,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,uBAAuB;YACvF,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,KAAK,CAAC,CAAC,IAAI,aAAa,GAAG,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oCAAoC,UAAU,IAAI,CAAC;IAClI,CAAC,CAAC;SACD,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,OAAO,IAAI,CAAA;;;eAGE,MAAM,CAAC,IAAI;EACxB,IAAI;;CAEL,CAAC;AACF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAkB,EAAE,OAAgB;IACtE,sFAAsF;IACtF,wCAAwC;IACxC,mFAAmF;IACnF,yEAAyE;IACzE,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAA;;;eAGA,MAAM,CAAC,IAAI;CACzB,CAAC;IACA,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAuB,CAAC;QACrF,MAAM,IAAI,GACR,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,MAAM;YAC/C,CAAC,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,aAAa;YAC9D,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;IAChC,CAAC,CAAC;SACD,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,OAAO,IAAI,CAAA;;;eAGE,MAAM,CAAC,IAAI;EACxB,IAAI;;CAEL,CAAC;AACF,CAAC"}
@@ -126,7 +126,7 @@ ${constFieldLines.join("\n")}
126
126
  } as const;
127
127
  `,
128
128
  ...(allowlists
129
- ? [renderFilterAllowlist(projection), renderSortAllowlist(projection)]
129
+ ? [renderFilterAllowlist(projection, undefined, ctx), renderSortAllowlist(projection)]
130
130
  : []),
131
131
  renderFilterType(projection),
132
132
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"projection-decl.js","sourceRoot":"","sources":["../../src/templates/projection-decl.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,qEAAqE;AACrE,EAAE;AACF,uDAAuD;AACvD,oBAAoB;AACpB,4CAA4C;AAC5C,gCAAgC;AAChC,0BAA0B;AAE1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAa,MAAM,SAAS,CAAC;AACzD,OAAO,EACL,SAAS,EAAE,UAAU,EACrB,qBAAqB,EAAE,YAAY,GACpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,qBAAqB,EAAsB,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAiCjF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9D,OAAO,IAAI,KAAK,EAAE,CAAC;AACrB,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAsB,EACtB,IAAc,EACd,IAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,SAAS,GAAG,EAAE,EAAE,aAAa,GAAG,QAAQ,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,EAAE,eAAe,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAEzI,kFAAkF;IAClF,2EAA2E;IAC3E,iFAAiF;IACjF,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,KAAK,GAAG,CAAC,KAAgB,EAAoC,EAAE;QACnE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,GAAG;YACd,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YACtF,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,GAAG;YAChB,CAAC,CAAC,0BAA0B,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC;YACrG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAEvB,oEAAoE;IACpE,2EAA2E;IAC3E,+EAA+E;IAC/E,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAEtE,iFAAiF;IACjF,MAAM,SAAS,GAAgB,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC;IAC5C,MAAM,SAAS,GAAG,UAAU,EAAE,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC;IAC1D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,OAAO,GACX,UAAU,YAAY,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7E,IAAI,OAAO,EAAE,CAAC;YACZ,8FAA8F;YAC9F,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,gFAAgF;IAChF,+EAA+E;IAC/E,uCAAuC;IACvC,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE;QAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,eAAe,GAAa,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACpD,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACrJ,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,CAAC,IAAI,OAAO,SAAS,eAAe,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9I,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,IAAI,OAAO,SAAS,KAAK,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;IACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAW;QACvB,GAAG,CAAC,eAAe;YACjB,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,MAAM,EAAE;oBAC/D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK;iBACpD,CAAC,CAAC;YACL,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAA;eACO,QAAQ,YAAY,uBAAuB,CAAC,SAAS,EAAE;YACpE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK;SACpD,CAAC;CACD;QACG,IAAI,CAAA;cACM,QAAQ,MAAM,CAAC,iBAAiB,QAAQ;CACrD;QACG,IAAI,CAAA;eACO,QAAQ;gBACP,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACpB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;EACvC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;CAE3B;QACG,GAAG,CAAC,UAAU;YACZ,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC;QACP,gBAAgB,CAAC,UAAU,CAAC;KAC7B,CAAC;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzD,MAAM,MAAM,GACV,MAAM,gBAAgB,mBAAmB;QACzC,uBAAuB,QAAQ,KAAK,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC;IAC5D,OAAO,MAAM,GAAG,IAAI,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"projection-decl.js","sourceRoot":"","sources":["../../src/templates/projection-decl.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,qEAAqE;AACrE,EAAE;AACF,uDAAuD;AACvD,oBAAoB;AACpB,4CAA4C;AAC5C,gCAAgC;AAChC,0BAA0B;AAE1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAa,MAAM,SAAS,CAAC;AACzD,OAAO,EACL,SAAS,EAAE,UAAU,EACrB,qBAAqB,EAAE,YAAY,GACpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,qBAAqB,EAAsB,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAiCjF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9D,OAAO,IAAI,KAAK,EAAE,CAAC;AACrB,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAsB,EACtB,IAAc,EACd,IAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,SAAS,GAAG,EAAE,EAAE,aAAa,GAAG,QAAQ,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,EAAE,eAAe,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAEzI,kFAAkF;IAClF,2EAA2E;IAC3E,iFAAiF;IACjF,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,KAAK,GAAG,CAAC,KAAgB,EAAoC,EAAE;QACnE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,GAAG;YACd,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YACtF,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,GAAG;YAChB,CAAC,CAAC,0BAA0B,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC;YACrG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAEvB,oEAAoE;IACpE,2EAA2E;IAC3E,+EAA+E;IAC/E,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAEtE,iFAAiF;IACjF,MAAM,SAAS,GAAgB,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC;IAC5C,MAAM,SAAS,GAAG,UAAU,EAAE,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC;IAC1D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,OAAO,GACX,UAAU,YAAY,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7E,IAAI,OAAO,EAAE,CAAC;YACZ,8FAA8F;YAC9F,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,gFAAgF;IAChF,+EAA+E;IAC/E,uCAAuC;IACvC,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE;QAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,eAAe,GAAa,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACpD,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACrJ,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,CAAC,IAAI,OAAO,SAAS,eAAe,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9I,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,IAAI,OAAO,SAAS,KAAK,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;IACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAW;QACvB,GAAG,CAAC,eAAe;YACjB,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,MAAM,EAAE;oBAC/D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK;iBACpD,CAAC,CAAC;YACL,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAA;eACO,QAAQ,YAAY,uBAAuB,CAAC,SAAS,EAAE;YACpE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK;SACpD,CAAC;CACD;QACG,IAAI,CAAA;cACM,QAAQ,MAAM,CAAC,iBAAiB,QAAQ;CACrD;QACG,IAAI,CAAA;eACO,QAAQ;gBACP,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACpB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;EACvC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;CAE3B;QACG,GAAG,CAAC,UAAU;YACZ,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACtF,CAAC,CAAC,EAAE,CAAC;QACP,gBAAgB,CAAC,UAAU,CAAC;KAC7B,CAAC;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzD,MAAM,MAAM,GACV,MAAM,gBAAgB,mBAAmB;QACzC,uBAAuB,QAAQ,KAAK,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC;IAC5D,OAAO,MAAM,GAAG,IAAI,CAAC;AACvB,CAAC"}
@@ -30,7 +30,7 @@ export function renderValueObjectFile(obj, apiPrefix = "", ctx) {
30
30
  // not filter on it). Included fields are the subtype's own + inherited base
31
31
  // filterable fields. Drives the per-subtype REST routes' filter layer.
32
32
  const discField = tphSubtype ? tphDiscriminatorPin(obj)?.fieldName : undefined;
33
- const tphFilterAllowlist = tphSubtype ? renderFilterAllowlist(obj, discField) : null;
33
+ const tphFilterAllowlist = tphSubtype ? renderFilterAllowlist(obj, discField, ctx) : null;
34
34
  const tphSortAllowlist = tphSubtype ? renderSortAllowlist(obj, discField) : null;
35
35
  // FR-017 Tier 3: the per-subtype CLIENT filter type, discriminator-excluded —
36
36
  // kept in lockstep with the per-subtype allowlist above so a typed
@@ -1 +1 @@
1
- {"version":3,"file":"value-object-file.js","sourceRoot":"","sources":["../../src/templates/value-object-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"value-object-file.js","sourceRoot":"","sources":["../../src/templates/value-object-file.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": "0.21.2",
3
+ "version": "0.21.4-rc.1",
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": "0.21.2",
115
- "@metaobjectsdev/render": "0.21.2",
114
+ "@metaobjectsdev/metadata": "0.21.4-rc.1",
115
+ "@metaobjectsdev/render": "0.21.4-rc.1",
116
116
  "@biomejs/js-api": "^0.7.0",
117
117
  "@biomejs/wasm-nodejs": "^1.9.4",
118
118
  "ts-poet": "^6.10.0"
@@ -123,9 +123,9 @@
123
123
  },
124
124
  "devDependencies": {
125
125
  "@biomejs/biome": "^1.9.0",
126
- "@metaobjectsdev/codegen-ts-react": "0.21.2",
127
- "@metaobjectsdev/migrate-ts": "0.21.2",
128
- "@metaobjectsdev/runtime-ts": "0.21.2",
126
+ "@metaobjectsdev/codegen-ts-react": "0.21.4-rc.1",
127
+ "@metaobjectsdev/migrate-ts": "0.21.4-rc.1",
128
+ "@metaobjectsdev/runtime-ts": "0.21.4-rc.1",
129
129
  "bun-types": "latest",
130
130
  "drizzle-orm": "^0.36.0",
131
131
  "hono": "^4.6.0",
@@ -121,13 +121,13 @@ export interface MetaobjectsGenConfig extends Omit<ResolvedGenConfig, "dbImport"
121
121
  * porting docs). This keeps the option a safe no-op on sqlite/D1 instead of
122
122
  * emitting a non-compiling column + a Zod schema disagreeing with it.
123
123
  *
124
- * Date-mode filtering (`?filter[<timestamp>][gte]=...`) is not yet supported
125
- * `runtime-ts`'s filter parser keeps the qs value a string, which throws at
126
- * request time against a Date-mode Drizzle column. Known limitation; not
127
- * threaded through at runtime, but `runGen` DOES warn (once per run, naming
128
- * every offending entity+field) when this mode meets a `@filterable`
129
- * `field.timestamp` see `runner.ts`'s Important-4 check. Track before
130
- * recommending date mode for a filterable timestamp field.
124
+ * Date-mode filtering (`?filter[<timestamp>][gte]=...`) IS supported: a
125
+ * `@filterable` `field.timestamp` generated under this mode carries
126
+ * `dateValues: true` in its `FilterAllowlist` rule, and `runtime-ts`'s filter
127
+ * parser coerces the query-string value with `new Date(...)` rather than binding
128
+ * a string against a Date-typed column (a malformed value is rejected as
129
+ * `filter.invalid_value`). `field.date` / `field.time` are unaffected Drizzle
130
+ * types both as strings under every dialect.
131
131
  */
132
132
  timestampMode?: "date" | "string";
133
133
  /** Path prefix applied to generated route registrations + hook fetch URLs. Defaults to "". */
@@ -100,7 +100,7 @@ function renderEntity(entity: MetaObject, ctx: RenderContext, opts?: RenderEntit
100
100
  ...(enumAliases !== null ? [enumAliases] : []),
101
101
  renderZodValidators(entity, ctx),
102
102
  renderEntityConstants(entity, ctx.apiPrefix),
103
- ...(allowlists ? [renderFilterAllowlist(entity), renderSortAllowlist(entity)] : []),
103
+ ...(allowlists ? [renderFilterAllowlist(entity, undefined, ctx), renderSortAllowlist(entity)] : []),
104
104
  renderFilterType(entity),
105
105
  ...(tphBlock !== null ? [tphBlock] : []),
106
106
  ];
package/src/runner.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { join, relative, resolve, isAbsolute, dirname } from "node:path";
2
2
  import { tmpdir } from "node:os";
3
3
  import { fileURLToPath } from "node:url";
4
- import { readFileSync } from "node:fs";
4
+ import { existsSync, readFileSync } from "node:fs";
5
5
  import type { MetaData, MetaObject } from "@metaobjectsdev/metadata";
6
6
  import { MetaRoot, OBJECT_SUBTYPE_VALUE, FIELD_SUBTYPE_TIMESTAMP, FIELD_ATTR_FILTERABLE } from "@metaobjectsdev/metadata";
7
7
  import { assignEmittedNames } from "./naming/collision-names.js";
@@ -49,6 +49,17 @@ export interface RunGenOpts {
49
49
  * different). "fresh" → overwrite and re-baseline (the `--baseline=fresh`
50
50
  * CLI flag). */
51
51
  baseline?: BaselineMode;
52
+ /**
53
+ * Preview only — render and report, touching NOTHING on disk (no output files,
54
+ * no `.gen-state/` snapshot). Backs `meta gen --dry-run`.
55
+ *
56
+ * Until 0.21.x the flag existed only in the CLI's *display* object and was never
57
+ * passed here, so `--dry-run` wrote every file exactly like a real run — while the
58
+ * website, `meta init`'s next-steps and the CLI help all called it "preview without
59
+ * writing". A fresh adopter found it by deleting a generated file, running
60
+ * `--dry-run`, and watching it reappear.
61
+ */
62
+ dryRun?: boolean;
52
63
  }
53
64
 
54
65
  export interface RunGenResult {
@@ -180,36 +191,11 @@ export async function runGen(opts: RunGenOpts): Promise<RunGenResult> {
180
191
  // 2. Resolve targets + entity-module target.
181
192
  const config = normalizeConfig(opts.config);
182
193
 
183
- // Important-4 (post-#281 pre-publish review) a @filterable timestamp field
184
- // under timestampMode:"date" throws at REQUEST time in runtime-ts's filter
185
- // parser (documented limitation; see drizzle-fastify/filter-parser.ts's
186
- // "datetime" coerce case). Detect-and-WARN at generation time instead of
187
- // leaving it a silent build-time no-signal (repo precedent: #226/#258
188
- // detect-and-refuse an un-appliable migration at gen time rather than fail
189
- // at apply). Reading config.timestampMode AFTER normalizeConfig means this is
190
- // naturally silent on sqlite/D1 (normalized to "string" there) and in the
191
- // default "string" mode — no dialect/mode branching needed here. One warning
192
- // for the whole run, naming every offending entity+field, not one per field.
193
- if (config.timestampMode === "date") {
194
- const offenders = safeEntities
195
- .filter((e) => !e.isAbstract)
196
- .map((e) => ({
197
- entity: e.name,
198
- fields: e.fields()
199
- .filter((f) => f.subType === FIELD_SUBTYPE_TIMESTAMP && f.attr(FIELD_ATTR_FILTERABLE) === true)
200
- .map((f) => f.name),
201
- }))
202
- .filter((o) => o.fields.length > 0);
203
- if (offenders.length > 0) {
204
- const named = offenders.map((o) => `${o.entity}.${o.fields.join(",")}`).join("; ");
205
- warnings.push(
206
- `timestampMode: "date" — @filterable timestamp field(s) [${named}] will throw at ` +
207
- `request time when filtered (e.g. ?filter[field][gte]=...) — runtime-ts's filter ` +
208
- `parser does not yet thread the Date-mode column type through. Not enforced; ` +
209
- `remove @filterable from these fields or avoid filtering them until this is fixed.`,
210
- );
211
- }
212
- }
194
+ // (Historical: a warning stood here for a @filterable timestamp under
195
+ // timestampMode:"date", which used to throw at REQUEST time in runtime-ts's
196
+ // filter parser. That limitation is fixed — the generated allowlist now carries
197
+ // `dateValues: true` for a Date-mode timestamp column and the parser coerces with
198
+ // `new Date(...)` so the warning was removed rather than left to cry wolf.)
213
199
 
214
200
  const targets = config.targets;
215
201
  const targetOf = (g: Generator): ResolvedTarget => {
@@ -377,6 +363,21 @@ export async function runGen(opts: RunGenOpts): Promise<RunGenResult> {
377
363
  // 5. Write phase.
378
364
  const writes: WriteResult[] = [];
379
365
  const conflicts: WriteResult[] = [];
366
+
367
+ // --dry-run: report what WOULD be written and touch nothing — no output files
368
+ // and no .gen-state/ snapshot (writing the snapshot would silently re-baseline
369
+ // the merge base, so a later real run could skip a genuinely-needed write).
370
+ if (opts.dryRun === true) {
371
+ for (const file of emitted) {
372
+ // Report the outcome faithfully rather than a placeholder: a path that does
373
+ // not exist yet would be created ("new"), one that does would be rewritten.
374
+ // Merge/conflict outcomes can't be known without doing the merge, so this
375
+ // deliberately reports the coarser truth instead of guessing.
376
+ writes.push({ path: file.fullPath, status: existsSync(file.fullPath) ? "overwrite" : "new" });
377
+ }
378
+ return { files: writes, warnings, conflicts };
379
+ }
380
+
380
381
  for (const file of emitted) {
381
382
  // Key the snapshot by project-relative path so multi-target projects keep
382
383
  // distinct entries (e.g. `database/Post.ts` vs `web/Post.queries.ts`).
@@ -165,7 +165,7 @@ ${docsPrefix}export type ${entity.name} = ${z}.infer<typeof ${entity.name}Schema
165
165
  ...(enumAliases !== null ? [enumAliases] : []),
166
166
  renderZodValidators(entity, ctx),
167
167
  renderEntityConstants(entity, ctx.apiPrefix),
168
- ...(allowlists ? [renderFilterAllowlist(entity), renderSortAllowlist(entity)] : []),
168
+ ...(allowlists ? [renderFilterAllowlist(entity, undefined, ctx), renderSortAllowlist(entity)] : []),
169
169
  renderFilterType(entity),
170
170
  ...(tphBlock !== null ? [tphBlock] : []),
171
171
  ];
@@ -16,6 +16,7 @@ import {
16
16
  opsForSubType,
17
17
  } from "@metaobjectsdev/metadata";
18
18
  import { sortableFields } from "./filter-shared.js";
19
+ import type { RenderContext } from "../render-context.js";
19
20
 
20
21
  const NUMBER_SUBTYPES = new Set<string>([
21
22
  FIELD_SUBTYPE_INT,
@@ -52,8 +53,15 @@ function filterableFields(entity: MetaObject, exclude?: string): MetaField[] {
52
53
  * `exclude` (FR-017): drop a field from the allowlist. Used by per-subtype TPH
53
54
  * allowlists to omit the discriminator — it's pinned by the per-subtype route
54
55
  * path, so a client must not filter on it.
56
+ *
57
+ * `ctx` supplies `timestampMode`: under `"date"` a `field.timestamp` column binds a JS
58
+ * `Date`, so its rule carries `dateValues: true` and runtime-ts's filter parser coerces
59
+ * the query-string value with `new Date(...)` rather than binding a string against a
60
+ * Date-typed column (which threw at request time). `ctx.timestampMode` is already
61
+ * normalized to `"string"` for sqlite/D1 at both config choke points, so no dialect
62
+ * branching is needed here. Absent `ctx`, or in the default mode, output is unchanged.
55
63
  */
56
- export function renderFilterAllowlist(entity: MetaObject, exclude?: string): Code {
64
+ export function renderFilterAllowlist(entity: MetaObject, exclude?: string, ctx?: RenderContext): Code {
57
65
  const fields = filterableFields(entity, exclude);
58
66
  if (fields.length === 0) {
59
67
  return code`
@@ -66,7 +74,12 @@ export const ${entity.name}FilterAllowlist = {} as const satisfies FilterAllowli
66
74
  .map((f) => {
67
75
  const ops = opsForSubType(f.subType).map((o) => JSON.stringify(o)).join(", ");
68
76
  const sub = filterSubTypeFor(f.subType);
69
- return ` ${f.name}: { ops: [${ops}] as const, subType: ${JSON.stringify(sub)} as const, leadingWildcard: false }`;
77
+ // Only field.timestamp is governed by timestampMode Drizzle types
78
+ // field.date / field.time as strings under every dialect.
79
+ const dateValues = ctx?.timestampMode === "date" && f.subType === FIELD_SUBTYPE_TIMESTAMP
80
+ ? ", dateValues: true as const"
81
+ : "";
82
+ return ` ${f.name}: { ops: [${ops}] as const, subType: ${JSON.stringify(sub)} as const, leadingWildcard: false${dateValues} }`;
70
83
  })
71
84
  .join(",\n");
72
85
  return code`
@@ -176,7 +176,7 @@ ${constFieldLines.join("\n")}
176
176
  } as const;
177
177
  `,
178
178
  ...(allowlists
179
- ? [renderFilterAllowlist(projection), renderSortAllowlist(projection)]
179
+ ? [renderFilterAllowlist(projection, undefined, ctx), renderSortAllowlist(projection)]
180
180
  : []),
181
181
  renderFilterType(projection),
182
182
  ];
@@ -40,7 +40,7 @@ export function renderValueObjectFile(obj: MetaObject, apiPrefix = "", ctx?: Ren
40
40
  // not filter on it). Included fields are the subtype's own + inherited base
41
41
  // filterable fields. Drives the per-subtype REST routes' filter layer.
42
42
  const discField = tphSubtype ? tphDiscriminatorPin(obj)?.fieldName : undefined;
43
- const tphFilterAllowlist = tphSubtype ? renderFilterAllowlist(obj, discField) : null;
43
+ const tphFilterAllowlist = tphSubtype ? renderFilterAllowlist(obj, discField, ctx) : null;
44
44
  const tphSortAllowlist = tphSubtype ? renderSortAllowlist(obj, discField) : null;
45
45
  // FR-017 Tier 3: the per-subtype CLIENT filter type, discriminator-excluded —
46
46
  // kept in lockstep with the per-subtype allowlist above so a typed