@metaobjectsdev/codegen-ts 1.0.4 → 1.0.5-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.
- package/dist/column-mapper.d.ts.map +1 -1
- package/dist/column-mapper.js +14 -0
- package/dist/column-mapper.js.map +1 -1
- package/dist/generators/api-model.d.ts.map +1 -1
- package/dist/generators/api-model.js +6 -6
- package/dist/generators/api-model.js.map +1 -1
- package/dist/generators/queries-file.d.ts.map +1 -1
- package/dist/generators/queries-file.js +7 -2
- package/dist/generators/queries-file.js.map +1 -1
- package/dist/generators/routes-file-hono.d.ts +2 -1
- package/dist/generators/routes-file-hono.d.ts.map +1 -1
- package/dist/generators/routes-file-hono.js +4 -3
- package/dist/generators/routes-file-hono.js.map +1 -1
- package/dist/generators/routes-file.d.ts +2 -1
- package/dist/generators/routes-file.d.ts.map +1 -1
- package/dist/generators/routes-file.js +4 -3
- package/dist/generators/routes-file.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/projection/extract-view-spec.d.ts.map +1 -1
- package/dist/projection/extract-view-spec.js +49 -3
- package/dist/projection/extract-view-spec.js.map +1 -1
- package/dist/templates/drizzle-schema.d.ts +9 -1
- package/dist/templates/drizzle-schema.d.ts.map +1 -1
- package/dist/templates/drizzle-schema.js +37 -49
- package/dist/templates/drizzle-schema.js.map +1 -1
- package/dist/templates/entity-file.d.ts.map +1 -1
- package/dist/templates/entity-file.js +9 -1
- package/dist/templates/entity-file.js.map +1 -1
- package/dist/templates/enum-int-codec.d.ts +43 -0
- package/dist/templates/enum-int-codec.d.ts.map +1 -0
- package/dist/templates/enum-int-codec.js +66 -0
- package/dist/templates/enum-int-codec.js.map +1 -0
- package/dist/templates/inferred-types.d.ts.map +1 -1
- package/dist/templates/inferred-types.js +7 -1
- package/dist/templates/inferred-types.js.map +1 -1
- package/dist/templates/relations-block.d.ts.map +1 -1
- package/dist/templates/relations-block.js +13 -6
- package/dist/templates/relations-block.js.map +1 -1
- package/dist/templates/routes-file.d.ts.map +1 -1
- package/dist/templates/routes-file.js +21 -4
- package/dist/templates/routes-file.js.map +1 -1
- package/dist/templates/view-decl.d.ts +8 -0
- package/dist/templates/view-decl.d.ts.map +1 -1
- package/dist/templates/view-decl.js +29 -4
- package/dist/templates/view-decl.js.map +1 -1
- package/dist/templates/zod-validators.d.ts +32 -1
- package/dist/templates/zod-validators.d.ts.map +1 -1
- package/dist/templates/zod-validators.js +49 -3
- package/dist/templates/zod-validators.js.map +1 -1
- package/package.json +6 -6
- package/src/column-mapper.ts +13 -0
- package/src/generators/api-model.ts +6 -6
- package/src/generators/queries-file.ts +7 -2
- package/src/generators/routes-file-hono.ts +4 -3
- package/src/generators/routes-file.ts +4 -3
- package/src/index.ts +1 -1
- package/src/projection/extract-view-spec.ts +55 -6
- package/src/reference/queries.ts +4 -2
- package/src/reference/routes-hono.ts +2 -2
- package/src/reference/routes.ts +4 -3
- package/src/templates/drizzle-schema.ts +37 -50
- package/src/templates/entity-file.ts +9 -1
- package/src/templates/enum-int-codec.ts +67 -0
- package/src/templates/inferred-types.ts +7 -1
- package/src/templates/relations-block.ts +19 -11
- package/src/templates/routes-file.ts +29 -12
- package/src/templates/view-decl.ts +43 -5
- package/src/templates/zod-validators.ts +50 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-validators.js","sourceRoot":"","sources":["../../src/templates/zod-validators.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,mFAAmF;AACnF,kFAAkF;AAClF,0FAA0F;AAC1F,EAAE;AACF,+EAA+E;AAC/E,+DAA+D;AAC/D,6EAA6E;AAC7E,+EAA+E;AAC/E,+EAA+E;AAE/E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAa,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EACL,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EACnF,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAChE,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,EAC/D,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAC/E,iBAAiB,EAAE,kBAAkB,EACrC,0BAA0B,EAAE,wBAAwB,EAAE,uBAAuB,EAC7E,yBAAyB,EAAE,uBAAuB,EAClD,oBAAoB,EAAE,wBAAwB,EAC9C,wBAAwB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,sBAAsB,EACzF,mBAAmB,EAAE,qBAAqB,EAAE,kBAAkB,EAC9D,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EACjE,oBAAoB,EAAE,qBAAqB,EAC3C,yBAAyB,EAAE,oBAAoB,EAC/C,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,EAAE,kBAAkB,EAAE,sBAAsB,EAC9D,oBAAoB,EAAE,eAAe,EACrC,yBAAyB,EAAE,+BAA+B,EAC1D,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAsB,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,kFAAkF;AAClF,iFAAiF;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAe;IACjD,mFAAmF;IACnF,yFAAyF;IACzF,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAe;IAClD,OAAO,qBAAqB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AAC1C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAe;IACtD,OAAO,OAAO,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,KAAK,QAAQ,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,GAAe;IAC5C,IAAI,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC;IAC/B,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5B,+EAA+E;QAC/E,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC5D,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YACtD,OAAO,EAAE,IAAI,EAAE,MAAoB,EAAE,SAAS,EAAE,CAAC;QACnD,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IAChC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;8CAC8C;AAC9C,MAAM,UAAU,YAAY,CAAC,GAAe;IAC1C,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;AAChD,CAAC;AAED;;;;4DAI4D;AAC5D,MAAM,UAAU,gBAAgB,CAAC,GAAe;IAC9C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,kBAAkB,IAAI,OAAO,KAAK,kBAAkB;YAAE,OAAO,IAAI,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAe,EAAE,GAAmB;IAC7E,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAExC,MAAM,UAAU,GAAW,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnF,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3C,0EAA0E;QAC1E,uEAAuE;QACvE,uCAAuC;QACvC,UAAU,CAAC,IAAI,CACb,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CACxG,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACjE,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,OAAO,IAAI,CAAA;EACX,UAAU,gBAAgB,OAAO,YAAY,CAAC;EAC9C,QAAQ,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;;CAEpC,CAAC;AACF,CAAC;AAED;;2EAE2E;AAC3E,MAAM,UAAU,yBAAyB,CAAC,GAAe;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;IACtC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,8EAA8E;AAC9E,SAAS,mBAAmB,CAAC,GAAe;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACzE,IAAI,UAAU,KAAK,oBAAoB,IAAI,UAAU,KAAK,eAAe;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAC5F,OAAO,IAAI,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;gFAOgF;AAChF,SAAS,oBAAoB,CAAC,GAAe;IAC3C,OAAO,IAAI,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;2EAmB2E;AAC3E,SAAS,oBAAoB,CAAC,GAAe;IAC3C,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;mEAEmE;AACnE,SAAS,kBAAkB,CAAC,KAAgB,EAAE,UAAuB;IACnE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,SAAS,CAAC;AACtD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAe,EAAE,GAAmB;IACzE,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAExC,MAAM,gBAAgB,GAAW,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9C,gFAAgF;QAChF,4EAA4E;QAC5E,4EAA4E;QAC5E,kEAAkE;QAClE,+EAA+E;QAC/E,6EAA6E;QAC7E,IAAI,oBAAoB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE;YAAE,SAAS;QAE/D,6EAA6E;QAC7E,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5D,gBAAgB,CAAC,IAAI,CACnB,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAClE,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEhD,IAAI,OAAO,KAAK,kBAAkB,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;YACrE,gBAAgB,CAAC,IAAI,CACnB,GAAG,EAAE,aAAa,KAAK,MAAM;gBAC3B,mEAAmE;gBACnE,qEAAqE;gBACrE,sEAAsE;gBACtE,0EAA0E;gBAC1E,CAAC,CAAC,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,0DAA0D;gBAC/E,CAAC,CAAC,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,mEAAmE,CAC3F,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,IAAI,CACnB,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,EAAE,CACrG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,gFAAgF;IAChF,0EAA0E;IAC1E,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACjE,MAAM,gBAAgB,GAAG,GAAG,OAAO,cAAc,CAAC;IAClD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3C,OAAO,IAAI,CAAA;EACX,UAAU,gBAAgB,gBAAgB,MAAM,CAAC;EACjD,QAAQ,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;;CAE1C,CAAC;AACF,CAAC;AAgBD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAe;IAChD,MAAM,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9C,+EAA+E;QAC/E,6EAA6E;QAC7E,uEAAuE;QACvE,IAAI,oBAAoB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE;YAAE,SAAS;QAC/D,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7E,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,kBAAkB,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;YACrE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC;aAC3F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAe;IAChD,MAAM,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9C,+EAA+E;QAC/E,6EAA6E;QAC7E,IAAI,oBAAoB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE;YAAE,SAAS;QAC/D,8EAA8E;QAC9E,gFAAgF;QAChF,8EAA8E;QAC9E,qEAAqE;QACrE,6EAA6E;QAC7E,2EAA2E;QAC3E,mDAAmD;QACnD,IAAI,qBAAqB,CAAC,KAAK,CAAC;YAAE,SAAS;QAC3C,sEAAsE;QACtE,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS;YAAE,SAAS;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;YACnC,6DAA6D;YAC7D,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,SAAS;QACX,CAAC;QACD,8EAA8E;QAC9E,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAe,EAAE,GAAmB;IACtE,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAExC,MAAM,gBAAgB,GAAW,EAAE,CAAC;IACpC,MAAM,gBAAgB,GAAW,EAAE,CAAC;IACpC,gFAAgF;IAChF,0EAA0E;IAC1E,qEAAqE;IACrE,MAAM,oBAAoB,GAAW,EAAE,CAAC;IACxC,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9C,6EAA6E;QAC7E,gFAAgF;QAChF,gFAAgF;QAChF,iDAAiD;QACjD,+EAA+E;QAC/E,6EAA6E;QAC7E,IAAI,oBAAoB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE;YAAE,SAAS;QAE/D,6EAA6E;QAC7E,4EAA4E;QAC5E,qEAAqE;QACrE,mFAAmF;QACnF,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;YAClF,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEhD,+EAA+E;QAC/E,IAAI,OAAO,KAAK,kBAAkB,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;YACrE,gBAAgB,CAAC,IAAI,CACnB,GAAG,EAAE,aAAa,KAAK,MAAM;gBAC3B,mEAAmE;gBACnE,qEAAqE;gBACrE,sEAAsE;gBACtE,0EAA0E;gBAC1E,CAAC,CAAC,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,0DAA0D;gBAC/E,CAAC,CAAC,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,mEAAmE,CAC3F,CAAC;YACF,4EAA4E;YAC5E,0EAA0E;YAC1E,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,kEAAkE;YAClE,MAAM,SAAS,GAAG,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;YACvH,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QAED,2EAA2E;QAC3E,2EAA2E;QAC3E,gEAAgE;QAChE,yCAAyC;QACzC,IAAI,qBAAqB,CAAC,KAAK,CAAC;YAAE,SAAS;QAE3C,yEAAyE;QACzE,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;YACnC,6DAA6D;QAC/D,CAAC;aAAM,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;YAC1C,gBAAgB,CAAC,IAAI,CACnB,GAAG,EAAE,aAAa,KAAK,MAAM;gBAC3B,mEAAmE;gBACnE,qEAAqE;gBACrE,sEAAsE;gBACtE,0EAA0E;gBAC1E,CAAC,CAAC,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,0DAA0D;gBAC/E,CAAC,CAAC,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,mEAAmE,CAC3F,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,8EAA8E;YAC9E,0EAA0E;YAC1E,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/C,IAAI,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA,GAAG,QAAQ,aAAa,CAAC;YAChF,yEAAyE;YACzE,+EAA+E;YAC/E,4EAA4E;YAC5E,4EAA4E;YAC5E,wEAAwE;YACxE,0EAA0E;YAC1E,wDAAwD;YACxD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,IAAI,GAAG,IAAI,CAAA,GAAG,IAAI,aAAa,CAAC;YACrF,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAA,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,iFAAiF;IACjF,mDAAmD;IACnD,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACjE,MAAM,gBAAgB,GAAG,GAAG,OAAO,cAAc,CAAC;IAClD,MAAM,gBAAgB,GAAG,GAAG,OAAO,cAAc,CAAC;IAClD,MAAM,oBAAoB,GAAG,GAAG,OAAO,wBAAwB,CAAC;IAEhE,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3C,iFAAiF;IACjF,sFAAsF;IACtF,MAAM,eAAe,GAAG,cAAc;QACpC,CAAC,CAAC,IAAI,CAAA;;yDAE+C,OAAO;KAC3D,gBAAgB;;eAEN,oBAAoB,MAAM,CAAC;EACxC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAC3C;QACA,CAAC,CAAC,IAAI,CAAA,EAAE,CAAC;IAEX,OAAO,IAAI,CAAA;EACX,UAAU,gBAAgB,gBAAgB,MAAM,CAAC;EACjD,QAAQ,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;;;EAGzC,UAAU,gBAAgB,gBAAgB,MAAM,CAAC;EACjD,QAAQ,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;;;4BAGf,OAAO;+DAC4B,OAAO;cACxD,OAAO,WAAW,CAAC,iBAAiB,gBAAgB,KAAK,eAAe;CACrF,CAAC;AACF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAC1B,uHAAuH,CAAC;AAE1H,qFAAqF;AACrF,SAAS,YAAY,CAAC,OAAe;IACnC,IAAI,OAAO,KAAK,iBAAiB,IAAI,OAAO,KAAK,kBAAkB,IAAI,OAAO,KAAK,sBAAsB;QAAE,OAAO,kBAAkB,CAAC;IACrI,IAAI,OAAO,KAAK,oBAAoB,IAAI,OAAO,KAAK,mBAAmB;QAAE,OAAO,YAAY,CAAC;IAC7F,IAAI,OAAO,KAAK,qBAAqB;QAAE,OAAO,aAAa,CAAC;IAC5D,OAAO,YAAY,CAAC,CAAC,2DAA2D;AAClF,CAAC;AAED,SAAS,YAAY,CACnB,KAAgB,EAChB,KAAkB,EAClB,GAAmB;AACnB;+EAC+E;AAC/E,aAAa,GAAG,KAAK;IAErB,yEAAyE;IACzE,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,0EAA0E;IAC1E,8EAA8E;IAC9E,+EAA+E;IAC/E,oEAAoE;IACpE,uBAAuB;IACvB,IAAI,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,oBAAoB,EAAE,CAAC;QACnE,IAAI,IAAI,GAAS,IAAI,CAAA,aAAa,CAAC;QACnC,IAAI,KAAK,CAAC,eAAe,EAAE;YAAE,IAAI,GAAG,IAAI,CAAA,WAAW,IAAI,GAAG,CAAC;QAC3D,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,IAAI,KAAK,CAAC,OAAO,KAAK,oBAAoB,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,0EAA0E;YAC1E,2EAA2E;YAC3E,qEAAqE;YACrE,6EAA6E;YAC7E,wDAAwD;YACxD,2EAA2E;YAC3E,oEAAoE;YACpE,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,EAAE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC7H,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC;gBAC/B,CAAC,CAAC,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC;gBAC9F,CAAC,CAAC,KAAK,OAAO,KAAK,CAAC;YACtB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,OAAO,gBAAgB,UAAU,EAAE,CAAC,CAAC;YAC3D,IAAI,IAAI,GAAS,IAAI,CAAA,GAAG,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,eAAe,EAAE;gBAAE,IAAI,GAAG,IAAI,CAAA,WAAW,IAAI,GAAG,CAAC;YAC3D,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QAC1D,CAAC;QACD,0EAA0E;QAC1E,uDAAuD;QACvD,IAAI,IAAI,GAAS,IAAI,CAAA,aAAa,CAAC;QACnC,IAAI,KAAK,CAAC,eAAe,EAAE;YAAE,IAAI,GAAG,IAAI,CAAA,WAAW,IAAI,GAAG,CAAC;QAC3D,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED,iFAAiF;IACjF,yDAAyD;IACzD,IAAI,KAAK,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,EAAE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC7H,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC;gBAC/B,CAAC,CAAC,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC;gBAC9F,CAAC,CAAC,KAAK,OAAO,KAAK,CAAC;YACtB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,OAAO,gBAAgB,UAAU,EAAE,CAAC,CAAC;YAC3D,OAAO,oBAAoB,CAAC,IAAI,CAAA,wBAAwB,MAAM,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC7C,OAAO,oBAAoB,CAAC,IAAI,CAAA,wBAAwB,YAAY,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACzI,CAAC;IAED,IAAI,OAAe,CAAC;IACpB,QAAQ,KAAK,CAAC,OAAO,EAAE,CAAC;QACtB,KAAK,iBAAiB,CAAC;QACvB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,OAAO,GAAG,kBAAkB,CAAC;YAC7B,MAAM;QACR,KAAK,oBAAoB,CAAC;QAC1B,KAAK,mBAAmB;YACtB,OAAO,GAAG,YAAY,CAAC;YACvB,MAAM;QACR,KAAK,qBAAqB;YACxB,OAAO,GAAG,aAAa,CAAC;YACxB,MAAM;QACR,KAAK,kBAAkB,CAAC;QACxB,KAAK,kBAAkB;YACrB,OAAO,GAAG,YAAY,CAAC,CAAC,wFAAwF;YAChH,MAAM;QACR,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,yEAAyE;YACzE,qFAAqF;YACrF,mFAAmF;YACnF,0CAA0C;YAC1C,EAAE;YACF,uEAAuE;YACvE,2EAA2E;YAC3E,4EAA4E;YAC5E,2EAA2E;YAC3E,4EAA4E;YAC5E,8BAA8B;YAC9B,MAAM,QAAQ,GAAG,KAAK,EAAE,OAAO,KAAK,oBAAoB,CAAC;YACzD,0EAA0E;YAC1E,2EAA2E;YAC3E,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,OAAO,GAAG,GAAG,EAAE,aAAa,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC;YACxF,MAAM;QACR,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,GAAG,YAAY,CAAC;gBACvB,MAAM;YACR,CAAC;YACD,6EAA6E;YAC7E,yEAAyE;YACzE,0EAA0E;YAC1E,4EAA4E;YAC5E,uEAAuE;YACvE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC7C,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtD,MAAM,IAAI,GAAG,yBAAyB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;oBAC5D,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC;oBAChD,IAAI,IAAI,GAAS,IAAI,CAAA,GAAG,WAAW,EAAE,CAAC;oBACtC,IAAI,KAAK,CAAC,eAAe,EAAE;wBAAE,IAAI,GAAG,IAAI,CAAA,WAAW,IAAI,GAAG,CAAC;oBAC3D,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YACD,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9B,MAAM;QACR,CAAC;QACD,KAAK,iBAAiB;YACpB,sEAAsE;YACtE,wEAAwE;YACxE,4CAA4C;YAC5C,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACtF,MAAM;QACR,KAAK,kBAAkB;YACrB,yEAAyE;YACzE,0EAA0E;YAC1E,kFAAkF;YAClF,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;YACjF,MAAM;QACR,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,yEAAyE;YACzE,2EAA2E;YAC3E,8DAA8D;YAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACjD,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;gBAChC,OAAO,GAAG,oBAAoB,CAAC;YACjC,CAAC;iBAAM,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;gBAC1C,OAAO,GAAG,oBAAoB,sBAAsB,GAAG,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,YAAY,CAAC;YACzB,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,kBAAkB,CAAC;QACxB;YACE,OAAO,GAAG,YAAY,CAAC;YACvB,MAAM;IACV,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,EAAE;QAAE,OAAO,GAAG,WAAW,OAAO,GAAG,CAAC;IAC7D,OAAO,oBAAoB,CAAC,IAAI,CAAA,GAAG,OAAO,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;AACtE,CAAC;AAED;4FAC4F;AAC5F,SAAS,mBAAmB,CAAC,KAAgB;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,SAAS,CAAC;IAChE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC;AAC1C,CAAC;AAED,kFAAkF;AAClF,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAS;IAC7C,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB;IAC7D,oBAAoB,EAAE,mBAAmB;CAC1C,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,IAAU,EAAE,KAAgB,EAAE,aAAa,GAAG,KAAK;IAC/E,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC1D,IAAI,MAAM,GAAuB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAuB,CAAC;IACzF,IAAI,MAA0B,CAAC;IAC/B,IAAI,OAA2B,CAAC;IAChC,IAAI,MAA0B,CAAC;IAC/B,IAAI,MAA0B,CAAC;IAC/B,IAAI,MAA0B,CAAC;IAC/B,IAAI,MAA0B,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,KAAK,0BAA0B;YAAE,UAAU,GAAG,IAAI,CAAC;QACpE,+EAA+E;QAC/E,wDAAwD;QACxD,IAAI,KAAK,CAAC,OAAO,KAAK,wBAAwB,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC3C,wEAAwE;YACxE,0EAA0E;YAC1E,0EAA0E;YAC1E,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACzF,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,MAAM,GAAG,GAAG,CAAC;QAC5C,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,yBAAyB,EAAE,CAAC;YAChD,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;gBAAE,MAAM,GAAG,GAAG,CAAC;YAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,MAAM,GAAG,GAAG,CAAC;QAC5C,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;YAC9C,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;gBAAE,MAAM,GAAG,GAAG,CAAC;YAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,MAAM,GAAG,GAAG,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,kFAAkF;IAClF,mFAAmF;IACnF,gFAAgF;IAChF,gFAAgF;IAChF,oFAAoF;IACpF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,oBAAoB,CAAC;IAElF,IAAI,KAAK,GAAS,IAAI,CAAC;IACvB,2FAA2F;IAC3F,IAAI,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC;QAC5B,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,GAAG,IAAI,CAAA,GAAG,KAAK,QAAQ,MAAM,GAAG,CAAC;QAChE,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,GAAG,IAAI,CAAA,GAAG,KAAK,QAAQ,MAAM,GAAG,CAAC;IAClE,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,KAAK,oBAAoB,IAAI,CAAC,UAAU,EAAE,CAAC;QACjE,8EAA8E;QAC9E,oEAAoE;QACpE,0EAA0E;QAC1E,uEAAuE;QACvE,4EAA4E;QAC5E,iEAAiE;QACjE,MAAM,YAAY,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,IAAI,YAAY,GAAG,CAAC;YAAE,KAAK,GAAG,IAAI,CAAA,GAAG,KAAK,QAAQ,YAAY,GAAG,CAAC;QAClE,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,GAAG,IAAI,CAAA,GAAG,KAAK,QAAQ,MAAM,GAAG,CAAC;QAChE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,yEAAyE;YACzE,0EAA0E;YAC1E,gFAAgF;YAChF,MAAM,QAAQ,GAAG,OAAO,OAAO,IAAI,CAAC;YACpC,KAAK,GAAG,IAAI,CAAA,GAAG,KAAK,qBAAqB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxE,CAAC;IACH,CAAC;SAAM,IAAI,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,GAAG,IAAI,CAAA,GAAG,KAAK,QAAQ,MAAM,GAAG,CAAC;QAChE,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,GAAG,IAAI,CAAA,GAAG,KAAK,QAAQ,MAAM,GAAG,CAAC;IAClE,CAAC;IAED,0EAA0E;IAC1E,oEAAoE;IACpE,4EAA4E;IAC5E,kEAAkE;IAClE,IAAI,aAAa;QAAE,OAAO,KAAK,CAAC;IAEhC,6EAA6E;IAC7E,yEAAyE;IACzE,gEAAgE;IAChE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,SAAS,CAAC;IAChE,IAAI,CAAC,UAAU,IAAI,UAAU;QAAE,KAAK,GAAG,IAAI,CAAA,GAAG,KAAK,aAAa,CAAC;IACjE,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"zod-validators.js","sourceRoot":"","sources":["../../src/templates/zod-validators.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.
|
|
3
|
+
"version": "1.0.5-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.
|
|
115
|
-
"@metaobjectsdev/render": "1.0.
|
|
114
|
+
"@metaobjectsdev/metadata": "1.0.5-rc.2",
|
|
115
|
+
"@metaobjectsdev/render": "1.0.5-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.
|
|
128
|
-
"@metaobjectsdev/migrate-ts": "1.0.
|
|
129
|
-
"@metaobjectsdev/runtime-ts": "1.0.
|
|
127
|
+
"@metaobjectsdev/codegen-ts-react": "1.0.5-rc.2",
|
|
128
|
+
"@metaobjectsdev/migrate-ts": "1.0.5-rc.2",
|
|
129
|
+
"@metaobjectsdev/runtime-ts": "1.0.5-rc.2",
|
|
130
130
|
"bun-types": "latest",
|
|
131
131
|
"drizzle-orm": "^0.38.0",
|
|
132
132
|
"hono": "^4.6.0",
|
package/src/column-mapper.ts
CHANGED
|
@@ -468,6 +468,19 @@ export function mapColumnType(
|
|
|
468
468
|
// SQLite has no native array type; serialize as JSON in a text column.
|
|
469
469
|
fnName = "text";
|
|
470
470
|
fnOptions = { mode: "json" };
|
|
471
|
+
} else if (field.attr(FIELD_ATTR_DB_COLUMN_TYPE) === DB_COLUMN_TYPE_JSONB) {
|
|
472
|
+
// `@dbColumnType: jsonb` — the open JSON bag. SQLite has no native jsonb, but
|
|
473
|
+
// the attribute is not merely physical here: the wire contract says the value
|
|
474
|
+
// round-trips as a PARSED JSON value on every dialect (the api-contract jsonb
|
|
475
|
+
// corpus: "POST a JSON object, read it back as an object — never a
|
|
476
|
+
// JSON-encoded string"), and the generated Zod/TS type is `unknown` for that
|
|
477
|
+
// reason. Falling through to a plain `text()` gave that column a `string` type
|
|
478
|
+
// while the entity type stayed `unknown`, so the generated queries did not
|
|
479
|
+
// compile — and had they compiled, the value would have come back as a string.
|
|
480
|
+
// text(..., { mode: "json" }) is the same idiomatic form field.object and
|
|
481
|
+
// field.map already take on this dialect, and it keeps both halves agreeing.
|
|
482
|
+
fnName = "text";
|
|
483
|
+
fnOptions = { mode: "json" };
|
|
471
484
|
} else {
|
|
472
485
|
switch (subType) {
|
|
473
486
|
case FIELD_SUBTYPE_BOOLEAN:
|
|
@@ -118,8 +118,7 @@ import { responseShape } from "../templates/find-inbound.js";
|
|
|
118
118
|
import { isTphSubtype } from "../templates/zod-validators.js";
|
|
119
119
|
import { isTphDiscriminatorBase } from "../templates/tph-discriminator.js";
|
|
120
120
|
import { isCallableEntity } from "../templates/callable-file.js";
|
|
121
|
-
import {
|
|
122
|
-
import { servedPath } from "../api-surface.js";
|
|
121
|
+
import { servedPath, servesReadApi } from "../api-surface.js";
|
|
123
122
|
import { isProjection } from "../projection/projection-detector.js";
|
|
124
123
|
import { buildPkMap } from "../pk-resolver.js";
|
|
125
124
|
import { buildRelationMap, type RelationEntry, type RelationMap } from "../relation-resolver.js";
|
|
@@ -356,8 +355,9 @@ function stripTs(path: string): string {
|
|
|
356
355
|
// ---------------------------------------------------------------------------
|
|
357
356
|
|
|
358
357
|
/** Mirror of the queries generator's filter (queries-file.ts `skipNonQueryable`
|
|
359
|
-
* = `
|
|
360
|
-
* any source-backed, non-TPH-subtype object:
|
|
358
|
+
* = `servesReadApi(e) && !isTphSubtype(e)`, #248 R2). A queryable object is
|
|
359
|
+
* any source-backed, non-abstract, non-TPH-subtype object:
|
|
360
|
+
* • An abstract object has no table of its own, only a type-only shape.
|
|
361
361
|
* • An object with no declared/inherited source.rdb (of ANY kind) isn't
|
|
362
362
|
* backed by any store → the queries/routes/validation generators emit no
|
|
363
363
|
* CRUD for it. Value objects are subsumed here: value purity (ADR-0028)
|
|
@@ -370,7 +370,7 @@ function stripTs(path: string): string {
|
|
|
370
370
|
* per-subtype polymorphic helpers + subpaths are a documented deferral — see
|
|
371
371
|
* the module header.) */
|
|
372
372
|
function isQueryable(obj: MetaObject): boolean {
|
|
373
|
-
return
|
|
373
|
+
return servesReadApi(obj) && !isTphSubtype(obj);
|
|
374
374
|
}
|
|
375
375
|
|
|
376
376
|
function buildEntityUnit(
|
|
@@ -405,7 +405,7 @@ function buildEntityUnit(
|
|
|
405
405
|
symbols.push(...dataAccessSymbols(obj, ctx, root, layout));
|
|
406
406
|
symbols.push(...validationSymbols(obj, entityMod));
|
|
407
407
|
// REST needs no gate of its own: the routes generator's built-in filter is
|
|
408
|
-
// `
|
|
408
|
+
// `servesReadApi && !isTphSubtype` — exactly isQueryable — so every queryable
|
|
409
409
|
// object gets routes. (Its `filter` option can narrow that further; this builder
|
|
410
410
|
// reads the model, not the wired generator set, and cannot see it. See the module
|
|
411
411
|
// header.)
|
|
@@ -2,7 +2,7 @@ import type { MetaObject } from "@metaobjectsdev/metadata";
|
|
|
2
2
|
import { perEntity, type Generator, type GeneratorFactory } from "../generator.js";
|
|
3
3
|
import { renderQueriesFile } from "../templates/queries-file.js";
|
|
4
4
|
import { isTphSubtype } from "../templates/zod-validators.js";
|
|
5
|
-
import {
|
|
5
|
+
import { servesReadApi } from "../api-surface.js";
|
|
6
6
|
import { formatTs } from "../format.js";
|
|
7
7
|
import { entityOutputPath } from "../import-path.js";
|
|
8
8
|
import { effectivePackage } from "../docs-paths.js";
|
|
@@ -25,7 +25,12 @@ export interface QueriesFileOpts {
|
|
|
25
25
|
// FR-017 Tier 2: TPH subtypes are ALSO skipped — they emit no standalone
|
|
26
26
|
// queries file. Their per-subtype CRUD helpers live in the discriminator
|
|
27
27
|
// base's queries file (which targets the single shared table).
|
|
28
|
-
|
|
28
|
+
//
|
|
29
|
+
// Abstract objects are skipped as well (`servesReadApi`): an abstract level inherits its
|
|
30
|
+
// base's source but has no table of its own — only a type-only shape — so its queries
|
|
31
|
+
// module imported a table and schemas that do not exist. The hooks tier already gated on
|
|
32
|
+
// this predicate; the queries and routes tiers now agree with it.
|
|
33
|
+
const skipNonQueryable = (e: MetaObject): boolean => servesReadApi(e) && !isTphSubtype(e);
|
|
29
34
|
|
|
30
35
|
export const queriesFile = function queriesFile(opts?: QueriesFileOpts): Generator {
|
|
31
36
|
const userFilter = opts?.filter;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MetaObject } from "@metaobjectsdev/metadata";
|
|
2
2
|
import { perEntity, type Generator, type GeneratorFactory } from "../generator.js";
|
|
3
3
|
import { renderRoutesFileHono } from "../templates/routes-file-hono.js";
|
|
4
|
-
import {
|
|
4
|
+
import { servesReadApi } from "../api-surface.js";
|
|
5
5
|
import { formatTs } from "../format.js";
|
|
6
6
|
import { entityOutputPath } from "../import-path.js";
|
|
7
7
|
import { isTphSubtype } from "../templates/zod-validators.js";
|
|
@@ -41,7 +41,8 @@ export interface RoutesFileHonoOpts {
|
|
|
41
41
|
* them (ERR_UNKNOWN_ATTR).
|
|
42
42
|
*
|
|
43
43
|
* #248 R2: an object with no declared/inherited source.rdb (of ANY kind) isn't
|
|
44
|
-
* backed by any store — gated by `
|
|
44
|
+
* backed by any store — gated by `servesReadApi`, which also excludes abstract objects
|
|
45
|
+
* (no table of their own to mount) (does NOT add TPH handling;
|
|
45
46
|
* that gap is pre-existing and out of scope here).
|
|
46
47
|
*/
|
|
47
48
|
export const routesFileHono = function routesFileHono(opts?: RoutesFileHonoOpts): Generator {
|
|
@@ -51,7 +52,7 @@ export const routesFileHono = function routesFileHono(opts?: RoutesFileHonoOpts)
|
|
|
51
52
|
// written out twice a later edit to one silently makes an entity either stop emitting
|
|
52
53
|
// without being named as held back, or get warned about while still emitting.
|
|
53
54
|
const passesOtherGates = (e: MetaObject): boolean =>
|
|
54
|
-
|
|
55
|
+
servesReadApi(e) && userFilter(e);
|
|
55
56
|
const generator: Generator = {
|
|
56
57
|
name: "routes-file-hono",
|
|
57
58
|
// Marks this as the Hono routes generator so the runner can aggregate
|
|
@@ -2,7 +2,7 @@ import type { MetaObject } from "@metaobjectsdev/metadata";
|
|
|
2
2
|
import { perEntity, type Generator, type GeneratorFactory } from "../generator.js";
|
|
3
3
|
import { renderRoutesFile } from "../templates/routes-file.js";
|
|
4
4
|
import { isTphSubtype } from "../templates/zod-validators.js";
|
|
5
|
-
import {
|
|
5
|
+
import { servesReadApi } from "../api-surface.js";
|
|
6
6
|
import { formatTs } from "../format.js";
|
|
7
7
|
import { entityOutputPath } from "../import-path.js";
|
|
8
8
|
import { resolveExpose, type ExposeOption } from "../routes-expose.js";
|
|
@@ -33,7 +33,8 @@ export interface RoutesFileOpts {
|
|
|
33
33
|
*
|
|
34
34
|
* #248 R2: an object with no declared/inherited source.rdb (of ANY kind) isn't
|
|
35
35
|
* backed by any store — routes against it would import Drizzle table/allowlist
|
|
36
|
-
* exports the entity-file generator never emits. Gated by `
|
|
36
|
+
* exports the entity-file generator never emits. Gated by `servesReadApi`, which also
|
|
37
|
+
* excludes abstract objects: an abstract level has no table of its own to mount.
|
|
37
38
|
*
|
|
38
39
|
* FR-017 Tier 2: TPH subtypes get no standalone routes file — their per-subtype
|
|
39
40
|
* route set lives in the discriminator base's routes file.
|
|
@@ -44,7 +45,7 @@ export const routesFile = function routesFile(opts?: RoutesFileOpts): Generator
|
|
|
44
45
|
name: "routes-file",
|
|
45
46
|
// Always set: AND-composes the built-in gates with the optional user filter.
|
|
46
47
|
filter: (e: MetaObject) =>
|
|
47
|
-
|
|
48
|
+
servesReadApi(e) && !isTphSubtype(e) && userFilter(e),
|
|
48
49
|
generate: perEntity(async (entity, ctx) => {
|
|
49
50
|
if (!ctx.renderContext) {
|
|
50
51
|
throw new Error("routes-file: renderContext is required (provided by runGen)");
|
package/src/index.ts
CHANGED
|
@@ -138,7 +138,7 @@ export { renderEntityMetaFile, entityMetaFileName, entityMetaSpecifier } from ".
|
|
|
138
138
|
// react) to dispatch polymorphic/per-subtype emission and skip subtype files.
|
|
139
139
|
export { isTphDiscriminatorBase, tphConcreteSubtypes, collectTphSubtypeFields, tphPlan, tphRouteSegment } from "./templates/tph-discriminator.js";
|
|
140
140
|
export type { TphPlan, TphSubtypePlan } from "./templates/tph-discriminator.js";
|
|
141
|
-
export { isTphSubtype, tphDiscriminatorBase, tphDiscriminatorPin } from "./templates/zod-validators.js";
|
|
141
|
+
export { isTphSubtype, tphDiscriminatorBase, tphDiscriminatorPin, tphStorageName, tphStorageObject } from "./templates/zod-validators.js";
|
|
142
142
|
|
|
143
143
|
// The ONE sortability rule. It builds the server-side `<Entity>SortAllowlist` and the
|
|
144
144
|
// client-side sort union, and it is public so a UI-tier generator (a data-grid column
|
|
@@ -570,6 +570,50 @@ function sourceColumnNameFor(
|
|
|
570
570
|
return columnNameFromField(entityField.name, ctx.columnNamingStrategy);
|
|
571
571
|
}
|
|
572
572
|
|
|
573
|
+
/**
|
|
574
|
+
* The BASE table's column an extends-bound passthrough field SELECTS.
|
|
575
|
+
*
|
|
576
|
+
* A projection field may RENAME what it exposes
|
|
577
|
+
* (`{ field.string: { name: bookingRef, extends: "Shipment.reference" } }`). The view's
|
|
578
|
+
* OUTPUT alias is the projection field's own; the column it reads from the base table is
|
|
579
|
+
* the extends TARGET's. Deriving both from the projection field emits
|
|
580
|
+
* `SELECT s.booking_ref` against a table whose column is `reference` — SQL that SQLite
|
|
581
|
+
* accepts at CREATE VIEW and only fails at the first SELECT, and that Postgres rejects
|
|
582
|
+
* outright at migrate time.
|
|
583
|
+
*
|
|
584
|
+
* Caller contract: this is for a PLAIN projection only. A read-view HOST (`base ===
|
|
585
|
+
* projection`) reads its own table, so its passthrough source is always the field's own
|
|
586
|
+
* column and there is no rename to resolve — and a host field may legally `extends` a
|
|
587
|
+
* SIBLING field of the same entity for shape reuse, which this would otherwise read as a
|
|
588
|
+
* rename and silently serve the sibling's data under this field's name.
|
|
589
|
+
*
|
|
590
|
+
* Only a DOTTED extends naming the BASE entity redirects the source column:
|
|
591
|
+
*
|
|
592
|
+
* - `extends: "Shipment.reference"` — binds a base column; the target's column wins.
|
|
593
|
+
* - `extends: "Code24"` (bare, a package-level abstract) — SHAPE REUSE, not a binding.
|
|
594
|
+
* `refNamedOwner` returns undefined, so the field's own name stays the source.
|
|
595
|
+
* - `extends: "Other.foo"` — names an entity that is not the base. The caller emits this
|
|
596
|
+
* column against `joinTree.baseAlias`, so borrowing another entity's column name would
|
|
597
|
+
* be a second wrong answer; keep the field's own.
|
|
598
|
+
*
|
|
599
|
+
* The alias is not always the projection's spelling: `sourceColumnNameFor` reads `@column`
|
|
600
|
+
* with the RESOLVING accessor, so a renaming field whose base carries an explicit `@column`
|
|
601
|
+
* inherits it and both sides land on that physical name. The rename then holds on the TS /
|
|
602
|
+
* wire tier only. That is pre-existing and self-consistent — the Drizzle view decl binds
|
|
603
|
+
* the same column — but it is not a promise this function makes.
|
|
604
|
+
*/
|
|
605
|
+
function baseColumnNameFor(
|
|
606
|
+
field: MetaField,
|
|
607
|
+
base: MetaObject,
|
|
608
|
+
root: MetaRoot,
|
|
609
|
+
ctx: ExtractContext,
|
|
610
|
+
): string {
|
|
611
|
+
const target = field.superData;
|
|
612
|
+
if (target === undefined) return sourceColumnNameFor(field, ctx);
|
|
613
|
+
if (refNamedOwner(field, root) !== base) return sourceColumnNameFor(field, ctx);
|
|
614
|
+
return sourceColumnNameFor(target, ctx);
|
|
615
|
+
}
|
|
616
|
+
|
|
573
617
|
/**
|
|
574
618
|
* Physical column for a join FK/PK field — resolves @column + naming strategy the
|
|
575
619
|
* same way passthrough columns do (EFFECTIVE fields, so inherited PKs resolve).
|
|
@@ -976,22 +1020,27 @@ function buildSelectSpec(
|
|
|
976
1020
|
// fields — the declared set IS the exposure (FR-024/ADR-0028). Either way, each
|
|
977
1021
|
// field's own origin decides passthrough-from-base vs derived-from-join. origin.*
|
|
978
1022
|
// NEVER inherits (ADR-0029), so the origin reads below are own (category 4).
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
1023
|
+
// A read-view HOST reads its OWN table (base === projection), so every passthrough
|
|
1024
|
+
// sources from the field's own column; a plain projection reads the base's, which an
|
|
1025
|
+
// extends-bound field may rename. The flag decides both the field set and the source.
|
|
1026
|
+
const isReadViewHost = base === projection;
|
|
1027
|
+
const declaredFields: MetaField[] = isReadViewHost
|
|
1028
|
+
? base.fields()
|
|
1029
|
+
: projection.ownChildren().filter((c): c is MetaField => c.type === TYPE_FIELD);
|
|
983
1030
|
for (const field of declaredFields) {
|
|
984
1031
|
const origin = field.ownChildren().find((c) => c.type === TYPE_ORIGIN);
|
|
985
1032
|
const dbCol = sourceColumnNameFor(field, ctx);
|
|
986
1033
|
|
|
987
1034
|
if (!origin) {
|
|
988
|
-
// Declared on projection but no origin — passthrough from base table.
|
|
1035
|
+
// Declared on projection but no origin — passthrough from base table. The alias is
|
|
1036
|
+
// this field's own column; the SOURCE is the extends target's, which differs
|
|
1037
|
+
// whenever the projection renames the base field.
|
|
989
1038
|
columns.push({
|
|
990
1039
|
kind: "passthrough",
|
|
991
1040
|
fieldName: field.name,
|
|
992
1041
|
dbColAlias: dbCol,
|
|
993
1042
|
sourceAlias: joinTree.baseAlias,
|
|
994
|
-
sourceColumn: dbCol,
|
|
1043
|
+
sourceColumn: isReadViewHost ? dbCol : baseColumnNameFor(field, base, root, ctx),
|
|
995
1044
|
});
|
|
996
1045
|
continue;
|
|
997
1046
|
}
|
package/src/reference/queries.ts
CHANGED
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
isProjection,
|
|
51
51
|
isWriteThrough,
|
|
52
52
|
isTphSubtype,
|
|
53
|
-
|
|
53
|
+
servesReadApi,
|
|
54
54
|
hasAutoSetFields,
|
|
55
55
|
renderQueriesFile, // engine composer — used for the delegated variants
|
|
56
56
|
formatTs,
|
|
@@ -146,7 +146,9 @@ export interface QueriesFileOpts {
|
|
|
146
146
|
// loadable value ever has hasAnyRdbSource === true). TPH subtypes emit no
|
|
147
147
|
// standalone queries file either — their per-subtype CRUD helpers live in the
|
|
148
148
|
// discriminator base's queries file (which targets the single shared table).
|
|
149
|
-
|
|
149
|
+
// Abstract objects are skipped too (`servesReadApi`): an abstract level has no table of
|
|
150
|
+
// its own, only a type-only shape, so a queries module for it cannot compile.
|
|
151
|
+
const skipNonQueryable = (e: MetaObject): boolean => servesReadApi(e) && !isTphSubtype(e);
|
|
150
152
|
|
|
151
153
|
export const queriesFile = function queriesFile(opts?: QueriesFileOpts): Generator {
|
|
152
154
|
const userFilter = opts?.filter;
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
resolveExpose,
|
|
36
36
|
type ExposeOption,
|
|
37
37
|
isTphSubtype,
|
|
38
|
-
|
|
38
|
+
servesReadApi,
|
|
39
39
|
formatTs,
|
|
40
40
|
entityOutputPath,
|
|
41
41
|
effectivePackage,
|
|
@@ -64,7 +64,7 @@ export const routesFileHono = function routesFileHono(opts?: RoutesFileHonoOpts)
|
|
|
64
64
|
// without being named as held back, or get warned about while still emitting.
|
|
65
65
|
// (Same shape as tanstack's grid generator, which factors it the same way.)
|
|
66
66
|
const passesOtherGates = (e: MetaObject): boolean =>
|
|
67
|
-
|
|
67
|
+
servesReadApi(e) && userFilter(e);
|
|
68
68
|
const generator: Generator = {
|
|
69
69
|
name: "routes-file-hono",
|
|
70
70
|
// Marks this as the Hono routes generator so the runner can aggregate
|
package/src/reference/routes.ts
CHANGED
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
resolveExpose,
|
|
44
44
|
type ExposeOption,
|
|
45
45
|
isTphSubtype,
|
|
46
|
-
|
|
46
|
+
servesReadApi,
|
|
47
47
|
formatTs,
|
|
48
48
|
entityOutputPath,
|
|
49
49
|
effectivePackage,
|
|
@@ -72,9 +72,10 @@ export const routesFile = function routesFile(opts?: RoutesFileOpts): Generator
|
|
|
72
72
|
// base's); AND-composed with your filter.
|
|
73
73
|
// #248 R2: an object with no declared/inherited source.rdb (of ANY kind) isn't
|
|
74
74
|
// backed by any store — routes against it would import Drizzle table/allowlist
|
|
75
|
-
// exports the entity file never emits. Gated by
|
|
75
|
+
// exports the entity file never emits. Gated by servesReadApi, which also skips
|
|
76
|
+
// abstract objects: an abstract level has no table of its own to mount.
|
|
76
77
|
filter: (e: MetaObject) =>
|
|
77
|
-
|
|
78
|
+
servesReadApi(e) && !isTphSubtype(e) && userFilter(e),
|
|
78
79
|
generate: perEntity(async (entity, ctx) => {
|
|
79
80
|
if (!ctx.renderContext) {
|
|
80
81
|
throw new Error("routes-file: renderContext is required (provided by runGen)");
|
|
@@ -22,9 +22,11 @@ import {
|
|
|
22
22
|
namesRef, physicalNameExpr, sourceSchemaExpr, indexNameExpr, columnExpr,
|
|
23
23
|
} from "../names.js";
|
|
24
24
|
import { resolveTableSchema } from "@metaobjectsdev/metadata";
|
|
25
|
+
import { renderEnumIntCustomType } from "./enum-int-codec.js";
|
|
25
26
|
import { renderRelationsBlock } from "./relations-block.js";
|
|
26
27
|
import { renderDocsFor } from "./jsdoc.js";
|
|
27
|
-
import { collectTphSubtypeFields } from "./tph-discriminator.js";
|
|
28
|
+
import { collectTphSubtypeFields, tphConcreteSubtypes } from "./tph-discriminator.js";
|
|
29
|
+
import { tphStorageObject } from "./zod-validators.js";
|
|
28
30
|
import { effectivePackage } from "../docs-paths.js";
|
|
29
31
|
|
|
30
32
|
/**
|
|
@@ -35,7 +37,18 @@ import { effectivePackage } from "../docs-paths.js";
|
|
|
35
37
|
* Returns a Code object so ts-poet can deduplicate imports when this composes
|
|
36
38
|
* with the rest of the entity file. Biome formatting runs after composition.
|
|
37
39
|
*/
|
|
38
|
-
export function renderDrizzleSchema(
|
|
40
|
+
export function renderDrizzleSchema(
|
|
41
|
+
obj: MetaObject,
|
|
42
|
+
ctx: RenderContext,
|
|
43
|
+
/**
|
|
44
|
+
* OUT param: the int-backed-enum codec const names this table DECLARES. A caller that
|
|
45
|
+
* emits another artifact referencing the same codecs into the SAME module — entity-file's
|
|
46
|
+
* write-through replica view — passes a set here and hands it to that emitter, which then
|
|
47
|
+
* references the consts instead of re-declaring them. A duplicate module-scope `const` is
|
|
48
|
+
* a JS parse error, so the module would not even load.
|
|
49
|
+
*/
|
|
50
|
+
declaredEnumIntCodecs?: Set<string>,
|
|
51
|
+
): Code {
|
|
39
52
|
const dialect = ctx.dialect;
|
|
40
53
|
const tableFn = dialect === "sqlite" ? "sqliteTable" : "pgTable";
|
|
41
54
|
const importModule = dialect === "sqlite" ? "drizzle-orm/sqlite-core" : "drizzle-orm/pg-core";
|
|
@@ -381,57 +394,15 @@ ${joinCode(columnLines, { on: ",\n", trim: false })}
|
|
|
381
394
|
const enumIntBlocks = [...enumIntTypes.values()]
|
|
382
395
|
.sort((a, b) => a.fnConstName.localeCompare(b.fnConstName))
|
|
383
396
|
.map((t) => renderEnumIntCustomType(t, importModule));
|
|
397
|
+
if (declaredEnumIntCodecs !== undefined) {
|
|
398
|
+
for (const name of enumIntTypes.keys()) declaredEnumIntCodecs.add(name);
|
|
399
|
+
}
|
|
384
400
|
|
|
385
401
|
const blocks: Code[] = [...enumIntBlocks, tableBlock];
|
|
386
402
|
if (relationsBlock !== null) blocks.push(relationsBlock);
|
|
387
403
|
return blocks.length === 1 ? blocks[0]! : joinCode(blocks, { on: "\n" });
|
|
388
404
|
}
|
|
389
405
|
|
|
390
|
-
/**
|
|
391
|
-
* Render an int-backed `field.enum`'s Drizzle `customType` helper plus its two
|
|
392
|
-
* lookup maps.
|
|
393
|
-
*
|
|
394
|
-
* The codec lives HERE, in the column definition, so nothing downstream needs to
|
|
395
|
-
* know about it: `db.insert().values()` encodes on bind, a selected row decodes on
|
|
396
|
-
* read, and a filter comparison encodes because Drizzle binds through the column
|
|
397
|
-
* type. That is why this shape was chosen over a Zod write-transform plus a
|
|
398
|
-
* generated read-decode — TS's generated queries return raw Drizzle rows and have
|
|
399
|
-
* no decode seam, so the query-layer approach meant inventing one and wrapping
|
|
400
|
-
* every generated read. It is also the direct analogue of what the other four
|
|
401
|
-
* ports already do (EF Core `HasConversion`, OMDB `JdbcFieldCodec`, Exposed
|
|
402
|
-
* `customEnumeration`, Python `ObjectManager` coercion).
|
|
403
|
-
*
|
|
404
|
-
* `fromDriver` throws on an unmapped integer rather than returning undefined: a
|
|
405
|
-
* value outside the map means the DB holds data the model says is impossible
|
|
406
|
-
* (a hand-written INSERT, or a member removed without a migration), and silently
|
|
407
|
-
* yielding `undefined` for a non-nullable field would surface far from the cause.
|
|
408
|
-
*/
|
|
409
|
-
function renderEnumIntCustomType(t: EnumIntCustomType, importModule: string): Code {
|
|
410
|
-
const customTypeSym = imp(`customType@${importModule}`);
|
|
411
|
-
const union = t.members.map((m) => JSON.stringify(m)).join(" | ");
|
|
412
|
-
const toEntries = t.members
|
|
413
|
-
.map((m) => `${JSON.stringify(m)}: ${t.intByMember[m]}`)
|
|
414
|
-
.join(", ");
|
|
415
|
-
const fromEntries = t.members
|
|
416
|
-
.map((m) => `${t.intByMember[m]}: ${JSON.stringify(m)}`)
|
|
417
|
-
.join(", ");
|
|
418
|
-
return code`
|
|
419
|
-
const ${t.toIntConstName} = { ${toEntries} } as const satisfies Record<${union}, number>;
|
|
420
|
-
const ${t.fromIntConstName}: Record<number, ${union}> = { ${fromEntries} };
|
|
421
|
-
const ${t.fnConstName} = ${customTypeSym}<{ data: ${union}; driverData: number }>({
|
|
422
|
-
dataType: () => ${JSON.stringify(t.dataType)},
|
|
423
|
-
toDriver: (value) => ${t.toIntConstName}[value],
|
|
424
|
-
fromDriver: (value) => {
|
|
425
|
-
const member = ${t.fromIntConstName}[value];
|
|
426
|
-
if (member === undefined) {
|
|
427
|
-
throw new Error(\`unmapped ${t.fnConstName} value: \${value}\`);
|
|
428
|
-
}
|
|
429
|
-
return member;
|
|
430
|
-
},
|
|
431
|
-
});
|
|
432
|
-
`;
|
|
433
|
-
}
|
|
434
|
-
|
|
435
406
|
interface FkInfo {
|
|
436
407
|
targetVarName: string; // e.g., "users"
|
|
437
408
|
targetEntityName: string; // e.g., "User" — used for the import path
|
|
@@ -441,7 +412,19 @@ interface FkInfo {
|
|
|
441
412
|
/** Pre-pass: map fkFieldName → FkInfo for this entity's effective (own + inherited) identity.reference children. */
|
|
442
413
|
function buildFkMapForEntity(obj: MetaObject, ctx: RenderContext): Map<string, FkInfo> {
|
|
443
414
|
const result = new Map<string, FkInfo>();
|
|
444
|
-
|
|
415
|
+
// FR-017 TPH: a discriminator base's table carries every concrete subtype's folded
|
|
416
|
+
// columns (collectTphSubtypeFields), so it carries their FKs too — otherwise a reference
|
|
417
|
+
// declared on a subtype, or on an abstract level between it and the base, lands as a
|
|
418
|
+
// plain column. Same effective, not-already-on-the-base rule as the column fold.
|
|
419
|
+
// A copy: referenceIdentities() is the node's cached array, and loaded metadata is read-only.
|
|
420
|
+
const refs = [...obj.referenceIdentities()];
|
|
421
|
+
const baseRefNames = new Set(refs.map((r) => r.name));
|
|
422
|
+
for (const sub of tphConcreteSubtypes(obj, ctx.loadedRoot)) {
|
|
423
|
+
for (const ref of sub.referenceIdentities()) {
|
|
424
|
+
if (!baseRefNames.has(ref.name)) refs.push(ref);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
for (const ref of refs) {
|
|
445
428
|
// @enforce: false → logical-only reference. Skip the .references() emission;
|
|
446
429
|
// the column stays plain. Drizzle's relations() block (driven by
|
|
447
430
|
// relation-resolver) still includes the relationship for query navigation.
|
|
@@ -449,6 +432,8 @@ function buildFkMapForEntity(obj: MetaObject, ctx: RenderContext): Map<string, F
|
|
|
449
432
|
const fkFieldNames = ref.fields;
|
|
450
433
|
if (fkFieldNames.length === 0) continue;
|
|
451
434
|
const fkField = fkFieldNames[0]!;
|
|
435
|
+
// Two subtypes declaring the same reference fold to one column with one FK.
|
|
436
|
+
if (result.has(fkField)) continue;
|
|
452
437
|
const targetName = ref.targetEntity;
|
|
453
438
|
if (!targetName) continue;
|
|
454
439
|
// @references may be authored bare OR package-qualified, and the loader can
|
|
@@ -457,10 +442,12 @@ function buildFkMapForEntity(obj: MetaObject, ctx: RenderContext): Map<string, F
|
|
|
457
442
|
// relation-resolver, which already does this.
|
|
458
443
|
const targetObj = ctx.loadedRoot.findObject(stripPackage(targetName));
|
|
459
444
|
if (!targetObj) continue;
|
|
445
|
+
// A TPH subtype has no table const of its own; its rows live in the base's table.
|
|
446
|
+
const storage = tphStorageObject(targetObj);
|
|
460
447
|
const targetPkField = ref.resolvedTargetPkField(ctx.loadedRoot) ?? "id";
|
|
461
448
|
result.set(fkField, {
|
|
462
|
-
targetVarName: ctx.collectionName(
|
|
463
|
-
targetEntityName:
|
|
449
|
+
targetVarName: ctx.collectionName(storage.name),
|
|
450
|
+
targetEntityName: storage.name,
|
|
464
451
|
targetPkField,
|
|
465
452
|
});
|
|
466
453
|
}
|
|
@@ -136,6 +136,12 @@ export function renderEntityFile(
|
|
|
136
136
|
// compile error). A base+write-through combo keeps the TPH polymorphic read path (reads
|
|
137
137
|
// the base table); routing its reads through a replica view is a documented non-goal.
|
|
138
138
|
const writeThrough = isWriteThrough(entity) && !tphBase;
|
|
139
|
+
// Rendered BEFORE the replica view below, for two reasons that both matter: the table
|
|
140
|
+
// DECLARES the int-backed-enum codecs (a `const` the view's declaration would duplicate,
|
|
141
|
+
// and a duplicate module-scope const is a parse error), and those consts must precede the
|
|
142
|
+
// view's use of them in the emitted file or the view hits a TDZ ReferenceError at import.
|
|
143
|
+
const declaredEnumIntCodecs = new Set<string>();
|
|
144
|
+
const schemaBlock = renderDrizzleSchema(entity, ctx, declaredEnumIntCodecs);
|
|
139
145
|
const viewSections: Code[] = [];
|
|
140
146
|
if (writeThrough) {
|
|
141
147
|
const camel = entity.name.charAt(0).toLowerCase() + entity.name.slice(1);
|
|
@@ -168,6 +174,8 @@ export function renderEntityFile(
|
|
|
168
174
|
// is passed separately below and stays a literal — the artifact holds the primary
|
|
169
175
|
// (table) source's name, not this one.
|
|
170
176
|
names: entityNames,
|
|
177
|
+
// The table above already declared these; the view references them by name.
|
|
178
|
+
declaredEnumIntCodecs,
|
|
171
179
|
// The replica view's OWN @schema, from the same source node projectionViewName picks
|
|
172
180
|
// — never the entity's, which is the WRITE TABLE's and would qualify this view with a
|
|
173
181
|
// schema that belongs to something else. A view and the table it replicates need not
|
|
@@ -206,7 +214,7 @@ ${docsPrefix}export type ${entity.name} = ${z}.infer<typeof ${entity.name}Schema
|
|
|
206
214
|
const constantsNames = namesRef(entity, ctx);
|
|
207
215
|
|
|
208
216
|
const sections: Code[] = [
|
|
209
|
-
|
|
217
|
+
schemaBlock,
|
|
210
218
|
...viewSections,
|
|
211
219
|
renderInferredTypes(entity, tphBase, ctx, writeThrough /* skipRow — read type is the view schema */),
|
|
212
220
|
...(enumAliases !== null ? [enumAliases] : []),
|