@baseplate-dev/project-builder-lib 0.4.1 → 0.4.3

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.
Files changed (215) hide show
  1. package/dist/definition/model/model-field-utils.d.ts.map +1 -1
  2. package/dist/definition/model/model-field-utils.js +3 -7
  3. package/dist/definition/model/model-field-utils.js.map +1 -1
  4. package/dist/definition/plugins/plugin-utils.d.ts +3 -2
  5. package/dist/definition/plugins/plugin-utils.d.ts.map +1 -1
  6. package/dist/definition/plugins/plugin-utils.js +15 -6
  7. package/dist/definition/plugins/plugin-utils.js.map +1 -1
  8. package/dist/definition/project-definition-container.test-utils.d.ts.map +1 -1
  9. package/dist/definition/project-definition-container.test-utils.js +2 -2
  10. package/dist/definition/project-definition-container.test-utils.js.map +1 -1
  11. package/dist/migrations/index.d.ts.map +1 -1
  12. package/dist/migrations/index.js +2 -0
  13. package/dist/migrations/index.js.map +1 -1
  14. package/dist/migrations/migration-021-migrate-bullmq-to-plugin.d.ts +42 -0
  15. package/dist/migrations/migration-021-migrate-bullmq-to-plugin.d.ts.map +1 -0
  16. package/dist/migrations/migration-021-migrate-bullmq-to-plugin.js +76 -0
  17. package/dist/migrations/migration-021-migrate-bullmq-to-plugin.js.map +1 -0
  18. package/dist/parser/parser.d.ts.map +1 -1
  19. package/dist/parser/parser.js +1 -0
  20. package/dist/parser/parser.js.map +1 -1
  21. package/dist/plugins/metadata/types.d.ts +7 -126
  22. package/dist/plugins/metadata/types.d.ts.map +1 -1
  23. package/dist/plugins/plugins.test-utils.d.ts +0 -8
  24. package/dist/plugins/plugins.test-utils.d.ts.map +1 -1
  25. package/dist/plugins/plugins.test-utils.js +0 -19
  26. package/dist/plugins/plugins.test-utils.js.map +1 -1
  27. package/dist/references/collect-refs.d.ts +20 -0
  28. package/dist/references/collect-refs.d.ts.map +1 -0
  29. package/dist/references/collect-refs.js +67 -0
  30. package/dist/references/collect-refs.js.map +1 -0
  31. package/dist/references/definition-ref-builder.d.ts +24 -154
  32. package/dist/references/definition-ref-builder.d.ts.map +1 -1
  33. package/dist/references/definition-ref-builder.js +0 -207
  34. package/dist/references/definition-ref-builder.js.map +1 -1
  35. package/dist/references/deserialize-schema.d.ts +2 -2
  36. package/dist/references/deserialize-schema.d.ts.map +1 -1
  37. package/dist/references/deserialize-schema.js +3 -0
  38. package/dist/references/deserialize-schema.js.map +1 -1
  39. package/dist/references/extend-parser-context-with-refs.d.ts +12 -7
  40. package/dist/references/extend-parser-context-with-refs.d.ts.map +1 -1
  41. package/dist/references/extend-parser-context-with-refs.js +111 -58
  42. package/dist/references/extend-parser-context-with-refs.js.map +1 -1
  43. package/dist/references/extract-definition-refs.d.ts +20 -13
  44. package/dist/references/extract-definition-refs.d.ts.map +1 -1
  45. package/dist/references/extract-definition-refs.js +50 -58
  46. package/dist/references/extract-definition-refs.js.map +1 -1
  47. package/dist/references/fix-ref-deletions.js.map +1 -1
  48. package/dist/references/index.d.ts +1 -0
  49. package/dist/references/index.d.ts.map +1 -1
  50. package/dist/references/index.js +1 -0
  51. package/dist/references/index.js.map +1 -1
  52. package/dist/references/markers.d.ts +28 -14
  53. package/dist/references/markers.d.ts.map +1 -1
  54. package/dist/references/markers.js.map +1 -1
  55. package/dist/references/parse-schema-with-references.d.ts.map +1 -1
  56. package/dist/references/parse-schema-with-references.js +0 -2
  57. package/dist/references/parse-schema-with-references.js.map +1 -1
  58. package/dist/references/ref-context-slot.d.ts +84 -0
  59. package/dist/references/ref-context-slot.d.ts.map +1 -0
  60. package/dist/references/ref-context-slot.js +38 -0
  61. package/dist/references/ref-context-slot.js.map +1 -0
  62. package/dist/references/resolve-slots.d.ts +38 -0
  63. package/dist/references/resolve-slots.d.ts.map +1 -0
  64. package/dist/references/resolve-slots.js +86 -0
  65. package/dist/references/resolve-slots.js.map +1 -0
  66. package/dist/references/resolve-zod-ref-payload-names.d.ts +2 -2
  67. package/dist/references/resolve-zod-ref-payload-names.d.ts.map +1 -1
  68. package/dist/references/resolve-zod-ref-payload-names.js +18 -7
  69. package/dist/references/resolve-zod-ref-payload-names.js.map +1 -1
  70. package/dist/references/serialize-schema.d.ts +1 -1
  71. package/dist/references/serialize-schema.d.ts.map +1 -1
  72. package/dist/references/serialize-schema.js +3 -1
  73. package/dist/references/serialize-schema.js.map +1 -1
  74. package/dist/references/types.d.ts +5 -6
  75. package/dist/references/types.d.ts.map +1 -1
  76. package/dist/schema/apps/backend/index.d.ts +4 -22
  77. package/dist/schema/apps/backend/index.d.ts.map +1 -1
  78. package/dist/schema/apps/backend/index.js +3 -4
  79. package/dist/schema/apps/backend/index.js.map +1 -1
  80. package/dist/schema/apps/base.d.ts +4 -12
  81. package/dist/schema/apps/base.d.ts.map +1 -1
  82. package/dist/schema/apps/web/admin/admin.d.ts +270 -1699
  83. package/dist/schema/apps/web/admin/admin.d.ts.map +1 -1
  84. package/dist/schema/apps/web/admin/admin.js +9 -10
  85. package/dist/schema/apps/web/admin/admin.js.map +1 -1
  86. package/dist/schema/apps/web/admin/sections/base.d.ts +2 -14
  87. package/dist/schema/apps/web/admin/sections/base.d.ts.map +1 -1
  88. package/dist/schema/apps/web/admin/sections/crud-actions/admin-action-spec.d.ts +2 -2
  89. package/dist/schema/apps/web/admin/sections/crud-actions/admin-action-spec.d.ts.map +1 -1
  90. package/dist/schema/apps/web/admin/sections/crud-actions/admin-action-spec.js.map +1 -1
  91. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.d.ts +13 -24
  92. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.d.ts.map +1 -1
  93. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js +10 -19
  94. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js.map +1 -1
  95. package/dist/schema/apps/web/admin/sections/crud-actions/built-in-actions.d.ts +10 -22
  96. package/dist/schema/apps/web/admin/sections/crud-actions/built-in-actions.d.ts.map +1 -1
  97. package/dist/schema/apps/web/admin/sections/crud-actions/types.d.ts +8 -12
  98. package/dist/schema/apps/web/admin/sections/crud-actions/types.d.ts.map +1 -1
  99. package/dist/schema/apps/web/admin/sections/crud-actions/types.js +1 -1
  100. package/dist/schema/apps/web/admin/sections/crud-actions/types.js.map +1 -1
  101. package/dist/schema/apps/web/admin/sections/crud-columns/admin-column-spec.d.ts +2 -3
  102. package/dist/schema/apps/web/admin/sections/crud-columns/admin-column-spec.d.ts.map +1 -1
  103. package/dist/schema/apps/web/admin/sections/crud-columns/admin-column-spec.js.map +1 -1
  104. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.d.ts +11 -23
  105. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.d.ts.map +1 -1
  106. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js +12 -20
  107. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js.map +1 -1
  108. package/dist/schema/apps/web/admin/sections/crud-columns/built-in-columns.d.ts +8 -30
  109. package/dist/schema/apps/web/admin/sections/crud-columns/built-in-columns.d.ts.map +1 -1
  110. package/dist/schema/apps/web/admin/sections/crud-columns/built-in-columns.js +6 -6
  111. package/dist/schema/apps/web/admin/sections/crud-columns/built-in-columns.js.map +1 -1
  112. package/dist/schema/apps/web/admin/sections/crud-columns/types.d.ts +15 -12
  113. package/dist/schema/apps/web/admin/sections/crud-columns/types.d.ts.map +1 -1
  114. package/dist/schema/apps/web/admin/sections/crud-columns/types.js +1 -1
  115. package/dist/schema/apps/web/admin/sections/crud-columns/types.js.map +1 -1
  116. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.d.ts +12 -23
  117. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.d.ts.map +1 -1
  118. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js +13 -20
  119. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js.map +1 -1
  120. package/dist/schema/apps/web/admin/sections/crud-form/admin-input-spec.d.ts +2 -3
  121. package/dist/schema/apps/web/admin/sections/crud-form/admin-input-spec.d.ts.map +1 -1
  122. package/dist/schema/apps/web/admin/sections/crud-form/admin-input-spec.js.map +1 -1
  123. package/dist/schema/apps/web/admin/sections/crud-form/built-in-input.d.ts +40 -123
  124. package/dist/schema/apps/web/admin/sections/crud-form/built-in-input.d.ts.map +1 -1
  125. package/dist/schema/apps/web/admin/sections/crud-form/built-in-input.js +15 -14
  126. package/dist/schema/apps/web/admin/sections/crud-form/built-in-input.js.map +1 -1
  127. package/dist/schema/apps/web/admin/sections/crud-form/types.d.ts +17 -12
  128. package/dist/schema/apps/web/admin/sections/crud-form/types.d.ts.map +1 -1
  129. package/dist/schema/apps/web/admin/sections/crud-form/types.js +1 -1
  130. package/dist/schema/apps/web/admin/sections/crud-form/types.js.map +1 -1
  131. package/dist/schema/apps/web/admin/sections/crud.d.ts +202 -930
  132. package/dist/schema/apps/web/admin/sections/crud.d.ts.map +1 -1
  133. package/dist/schema/apps/web/admin/sections/crud.js +32 -26
  134. package/dist/schema/apps/web/admin/sections/crud.js.map +1 -1
  135. package/dist/schema/apps/web/web-app.d.ts +196 -1257
  136. package/dist/schema/apps/web/web-app.d.ts.map +1 -1
  137. package/dist/schema/apps/web/web-app.js +4 -4
  138. package/dist/schema/apps/web/web-app.js.map +1 -1
  139. package/dist/schema/creator/extend-parser-context-with-defaults.d.ts +2 -2
  140. package/dist/schema/creator/extend-parser-context-with-defaults.d.ts.map +1 -1
  141. package/dist/schema/creator/extend-parser-context-with-defaults.js +8 -15
  142. package/dist/schema/creator/extend-parser-context-with-defaults.js.map +1 -1
  143. package/dist/schema/creator/infer-types.d.ts +21 -4
  144. package/dist/schema/creator/infer-types.d.ts.map +1 -1
  145. package/dist/schema/creator/schema-creator.d.ts +46 -2
  146. package/dist/schema/creator/schema-creator.d.ts.map +1 -1
  147. package/dist/schema/creator/schema-creator.js +53 -0
  148. package/dist/schema/creator/schema-creator.js.map +1 -1
  149. package/dist/schema/creator/types.d.ts +11 -6
  150. package/dist/schema/creator/types.d.ts.map +1 -1
  151. package/dist/schema/features/feature.d.ts +14 -22
  152. package/dist/schema/features/feature.d.ts.map +1 -1
  153. package/dist/schema/models/enums.d.ts +34 -84
  154. package/dist/schema/models/enums.d.ts.map +1 -1
  155. package/dist/schema/models/enums.js +8 -8
  156. package/dist/schema/models/enums.js.map +1 -1
  157. package/dist/schema/models/graphql.d.ts +16 -163
  158. package/dist/schema/models/graphql.d.ts.map +1 -1
  159. package/dist/schema/models/graphql.js +8 -6
  160. package/dist/schema/models/graphql.js.map +1 -1
  161. package/dist/schema/models/index.d.ts +293 -1827
  162. package/dist/schema/models/index.d.ts.map +1 -1
  163. package/dist/schema/models/index.js +53 -54
  164. package/dist/schema/models/index.js.map +1 -1
  165. package/dist/schema/models/transformers/built-in-transformers.d.ts +20 -58
  166. package/dist/schema/models/transformers/built-in-transformers.d.ts.map +1 -1
  167. package/dist/schema/models/transformers/built-in-transformers.js +8 -9
  168. package/dist/schema/models/transformers/built-in-transformers.js.map +1 -1
  169. package/dist/schema/models/transformers/model-transformer-spec.d.ts +3 -4
  170. package/dist/schema/models/transformers/model-transformer-spec.d.ts.map +1 -1
  171. package/dist/schema/models/transformers/model-transformer-spec.js +3 -4
  172. package/dist/schema/models/transformers/model-transformer-spec.js.map +1 -1
  173. package/dist/schema/models/transformers/transformers.d.ts +7 -16
  174. package/dist/schema/models/transformers/transformers.d.ts.map +1 -1
  175. package/dist/schema/models/transformers/transformers.js +8 -13
  176. package/dist/schema/models/transformers/transformers.js.map +1 -1
  177. package/dist/schema/models/transformers/types.d.ts +14 -10
  178. package/dist/schema/models/transformers/types.d.ts.map +1 -1
  179. package/dist/schema/models/transformers/types.js +1 -1
  180. package/dist/schema/models/transformers/types.js.map +1 -1
  181. package/dist/schema/plugins/definition.d.ts +67 -95
  182. package/dist/schema/plugins/definition.d.ts.map +1 -1
  183. package/dist/schema/plugins/definition.js +8 -11
  184. package/dist/schema/plugins/definition.js.map +1 -1
  185. package/dist/schema/project-definition.d.ts +869 -4669
  186. package/dist/schema/project-definition.d.ts.map +1 -1
  187. package/dist/schema/project-definition.js +7 -9
  188. package/dist/schema/project-definition.js.map +1 -1
  189. package/dist/schema/settings/general.d.ts +3 -33
  190. package/dist/schema/settings/general.d.ts.map +1 -1
  191. package/dist/schema/settings/infrastructure.d.ts +2 -24
  192. package/dist/schema/settings/infrastructure.d.ts.map +1 -1
  193. package/dist/schema/settings/monorepo.d.ts +1 -15
  194. package/dist/schema/settings/monorepo.d.ts.map +1 -1
  195. package/dist/schema/settings/settings.d.ts +105 -242
  196. package/dist/schema/settings/settings.d.ts.map +1 -1
  197. package/dist/schema/settings/template-extractor.d.ts +1 -36
  198. package/dist/schema/settings/template-extractor.d.ts.map +1 -1
  199. package/dist/schema/settings/theme.d.ts +175 -259
  200. package/dist/schema/settings/theme.d.ts.map +1 -1
  201. package/dist/schema/settings/theme.js +1 -1
  202. package/dist/schema/settings/theme.js.map +1 -1
  203. package/dist/tools/model-merger/model-merger.d.ts +28 -28
  204. package/dist/tools/model-merger/model-merger.d.ts.map +1 -1
  205. package/dist/tools/model-merger/model-merger.js +5 -2
  206. package/dist/tools/model-merger/model-merger.js.map +1 -1
  207. package/dist/utils/theme.d.ts.map +1 -1
  208. package/dist/utils/theme.js +3 -4
  209. package/dist/utils/theme.js.map +1 -1
  210. package/dist/web/hooks/use-definition-schema.d.ts +9 -2
  211. package/dist/web/hooks/use-definition-schema.d.ts.map +1 -1
  212. package/dist/web/hooks/use-definition-schema.js +7 -1
  213. package/dist/web/hooks/use-definition-schema.js.map +1 -1
  214. package/package.json +7 -7
  215. package/dist/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"web-app.d.ts","sourceRoot":"","sources":["../../../../src/schema/apps/web/web-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAQxD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEtE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA0C,CAAC"}
1
+ {"version":3,"file":"web-app.d.ts","sourceRoot":"","sources":["../../../../src/schema/apps/web/web-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAQxD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa9B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEtE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA0C,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { z } from 'zod';
2
- import { definitionSchema } from '#src/schema/creator/schema-creator.js';
2
+ import { definitionSchemaWithSlots } from '#src/schema/creator/schema-creator.js';
3
3
  import { baseAppValidators } from '../base.js';
4
- import { createAppEntryType } from '../types.js';
4
+ import { appEntityType, createAppEntryType } from '../types.js';
5
5
  import { createAdminAppSchema } from './admin/admin.js';
6
- export const createWebAppSchema = definitionSchema((ctx) => z.object({
6
+ export const createWebAppSchema = definitionSchemaWithSlots({ appSlot: appEntityType }, (ctx, { appSlot }) => z.object({
7
7
  ...baseAppValidators,
8
8
  type: z.literal('web'),
9
9
  includeAuth: ctx.withDefault(z.boolean(), false),
@@ -11,7 +11,7 @@ export const createWebAppSchema = definitionSchema((ctx) => z.object({
11
11
  description: z.string().default(''),
12
12
  includeUploadComponents: ctx.withDefault(z.boolean(), false),
13
13
  enableSubscriptions: ctx.withDefault(z.boolean(), false),
14
- adminApp: createAdminAppSchema(ctx),
14
+ adminApp: createAdminAppSchema(ctx, { appSlot }),
15
15
  }));
16
16
  export const webAppEntryType = createAppEntryType('web');
17
17
  //# sourceMappingURL=web-app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-app.js","sourceRoot":"","sources":["../../../../src/schema/apps/web/web-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CACzD,CAAC,CAAC,MAAM,CAAC;IACP,GAAG,iBAAiB;IACpB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;IAChD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,uBAAuB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;IAC5D,mBAAmB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;IACxD,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC;CACpC,CAAC,CACH,CAAC;AAIF,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAe,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"web-app.js","sourceRoot":"","sources":["../../../../src/schema/apps/web/web-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CACzD,EAAE,OAAO,EAAE,aAAa,EAAE,EAC1B,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CACnB,CAAC,CAAC,MAAM,CAAC;IACP,GAAG,iBAAiB;IACpB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;IAChD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,uBAAuB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;IAC5D,mBAAmB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;IACxD,QAAQ,EAAE,oBAAoB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;CACjD,CAAC,CACL,CAAC;AAIF,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAe,KAAK,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
- import { z } from 'zod';
1
+ import type { z } from 'zod';
2
2
  import type { DefinitionSchemaCreatorOptions } from './types.js';
3
- export type WithDefaultType = <T extends z.ZodTypeAny>(schema: T, defaultValue: z.input<T>) => z.ZodEffects<z.ZodOptional<T>, z.output<z.ZodOptional<T>>, z.input<z.ZodOptional<T>>>;
3
+ export type WithDefaultType = <T extends z.ZodType>(schema: T, defaultValue: z.input<T>) => z.ZodOptional<z.ZodType<z.output<z.ZodOptional<T>>, z.input<z.ZodOptional<T>>>>;
4
4
  /**
5
5
  * Extends the parser context with default value handling functionality.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"extend-parser-context-with-defaults.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/extend-parser-context-with-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAqBjE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACnD,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KACrB,CAAC,CAAC,UAAU,CACf,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAChB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAC1B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAC1B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,8BAA8B,GACtC;IACD,WAAW,EAAE,eAAe,CAAC;CAC9B,CAuCA"}
1
+ {"version":3,"file":"extend-parser-context-with-defaults.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/extend-parser-context-with-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAqBjE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAChD,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KACrB,CAAC,CAAC,WAAW,CAChB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CACjE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,8BAA8B,GACtC;IACD,WAAW,EAAE,eAAe,CAAC;CAC9B,CAmCA"}
@@ -1,4 +1,3 @@
1
- import { z } from 'zod';
2
1
  function isEmpty(value) {
3
2
  if (value === undefined || value === null) {
4
3
  return true;
@@ -25,32 +24,26 @@ export function extendParserContextWithDefaults(options) {
25
24
  const mode = options.defaultMode ?? 'populate';
26
25
  return {
27
26
  withDefault: function withDefault(schema, defaultValue) {
28
- // Auto-add .optional() to the schema
29
- const optionalSchema = schema.optional();
30
27
  switch (mode) {
31
28
  case 'populate': {
32
- // Use preprocess to inject defaults before validation
33
- return z.preprocess((value) => {
34
- if (value === undefined) {
35
- return defaultValue;
36
- }
37
- return value;
38
- }, optionalSchema);
29
+ return schema.prefault(defaultValue).optional();
39
30
  }
40
31
  case 'strip': {
41
32
  // Use transform to remove values matching defaults after validation
42
- return optionalSchema.transform((value) => {
33
+ return schema
34
+ .transform((value) => {
35
+ if (value === defaultValue)
36
+ return undefined;
43
37
  if (isEmpty(value)) {
44
38
  return undefined;
45
39
  }
46
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- it's typed to a generic
47
40
  return value;
48
- });
41
+ })
42
+ .optional();
49
43
  }
50
44
  case 'preserve': {
51
45
  // Return schema with .optional() added
52
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- it's typed to a generic
53
- return optionalSchema.transform((x) => x);
46
+ return schema.transform((x) => x).optional();
54
47
  }
55
48
  }
56
49
  },
@@ -1 +1 @@
1
- {"version":3,"file":"extend-parser-context-with-defaults.js","sourceRoot":"","sources":["../../../src/schema/creator/extend-parser-context-with-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,EACjD,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,KAAK,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAuC;IAIvC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC;IAE/C,OAAO;QACL,WAAW,EAAE,SAAS,WAAW,CAC/B,MAAS,EACT,YAAwB;YAExB,qCAAqC;YACrC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAEzC,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,sDAAsD;oBACtD,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,KAAgC,EAAE,EAAE;wBACvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;4BACxB,OAAO,YAAY,CAAC;wBACtB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC,EAAE,cAAc,CAAC,CAAC;gBACrB,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,oEAAoE;oBACpE,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;wBACxC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;4BACnB,OAAO,SAAS,CAAC;wBACnB,CAAC;wBACD,0FAA0F;wBAC1F,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,uCAAuC;oBACvC,0FAA0F;oBAC1F,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"extend-parser-context-with-defaults.js","sourceRoot":"","sources":["../../../src/schema/creator/extend-parser-context-with-defaults.ts"],"names":[],"mappings":"AAIA,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,EACjD,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,KAAK,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AASD;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAuC;IAIvC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC;IAE/C,OAAO;QACL,WAAW,EAAE,SAAS,WAAW,CAC/B,MAAS,EACT,YAAwB;YAIxB,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,OAAO,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAClD,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,oEAAoE;oBACpE,OAAO,MAAM;yBACV,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;wBACnB,IAAI,KAAK,KAAK,YAAY;4BAAE,OAAO,SAAS,CAAC;wBAC7C,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;4BACnB,OAAO,SAAS,CAAC;wBACnB,CAAC;wBAED,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC;yBACD,QAAQ,EAAE,CAAC;gBAChB,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,uCAAuC;oBAEvC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,6 +1,23 @@
1
1
  import type { z } from 'zod';
2
- import type { DefinitionSchemaCreator } from './types.js';
3
- export type InferSchema<T extends DefinitionSchemaCreator> = ReturnType<T>;
4
- export type InferInput<T extends DefinitionSchemaCreator> = z.input<ReturnType<T>>;
5
- export type InferOutput<T extends DefinitionSchemaCreator> = z.output<ReturnType<T>>;
2
+ import type { DefinitionSchemaParserContext } from './types.js';
3
+ /**
4
+ * Type constraint for any schema creator function (with or without slots).
5
+ * Works with both:
6
+ * - `definitionSchema` which returns `(ctx) => ZodType`
7
+ * - `definitionSchemaWithSlots` which returns `(ctx, slots) => ZodType`
8
+ */
9
+ type AnyDefinitionSchemaCreator = (ctx: DefinitionSchemaParserContext, ...args: any[]) => z.ZodType;
10
+ /**
11
+ * Infers the Zod schema type from a schema creator function.
12
+ */
13
+ export type InferSchema<T extends AnyDefinitionSchemaCreator> = ReturnType<T>;
14
+ /**
15
+ * Infers the input type (what you pass to parse) from a schema creator function.
16
+ */
17
+ export type InferInput<T extends AnyDefinitionSchemaCreator> = z.input<ReturnType<T>>;
18
+ /**
19
+ * Infers the output type (what parse returns) from a schema creator function.
20
+ */
21
+ export type InferOutput<T extends AnyDefinitionSchemaCreator> = z.output<ReturnType<T>>;
22
+ export {};
6
23
  //# sourceMappingURL=infer-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"infer-types.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/infer-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,uBAAuB,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAE3E,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,uBAAuB,IAAI,CAAC,CAAC,KAAK,CACjE,UAAU,CAAC,CAAC,CAAC,CACd,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,uBAAuB,IAAI,CAAC,CAAC,MAAM,CACnE,UAAU,CAAC,CAAC,CAAC,CACd,CAAC"}
1
+ {"version":3,"file":"infer-types.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/infer-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEhE;;;;;GAKG;AACH,KAAK,0BAA0B,GAAG,CAChC,GAAG,EAAE,6BAA6B,EAElC,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,CAAC,CAAC,OAAO,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,0BAA0B,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,0BAA0B,IAAI,CAAC,CAAC,KAAK,CACpE,UAAU,CAAC,CAAC,CAAC,CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,0BAA0B,IAAI,CAAC,CAAC,MAAM,CACtE,UAAU,CAAC,CAAC,CAAC,CACd,CAAC"}
@@ -1,5 +1,49 @@
1
1
  import type { z } from 'zod';
2
- import type { DefinitionSchemaCreator, DefinitionSchemaCreatorOptions, DefinitionSchemaParserContext } from './types.js';
2
+ import type { RefContextSlotDefinition, RefContextSlotMap } from '#src/references/ref-context-slot.js';
3
+ import type { DefinitionSchemaCreator, DefinitionSchemaCreatorOptions, DefinitionSchemaCreatorWithSlots, DefinitionSchemaParserContext } from './types.js';
3
4
  export declare function createDefinitionSchemaParserContext(options: DefinitionSchemaCreatorOptions): DefinitionSchemaParserContext;
4
- export declare function definitionSchema<T extends z.ZodTypeAny>(creator: DefinitionSchemaCreator<T>): (context: DefinitionSchemaParserContext) => T;
5
+ export declare function definitionSchema<T extends z.ZodType>(creator: DefinitionSchemaCreator<T>): (context: DefinitionSchemaParserContext) => T;
6
+ /**
7
+ * Creates a schema that requires slots to be passed from parent schemas.
8
+ * Used when a schema needs to reference entities from a parent context.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // Child schema requiring modelSlot from parent
13
+ * export const createModelScalarFieldSchema = definitionSchemaWithSlots(
14
+ * { modelSlot: modelEntityType },
15
+ * (ctx, { modelSlot }) =>
16
+ * ctx.withEnt(schema, {
17
+ * type: modelScalarFieldEntityType,
18
+ * parentSlot: modelSlot,
19
+ * }),
20
+ * );
21
+ *
22
+ * // Called from parent:
23
+ * createModelScalarFieldSchema(ctx, { modelSlot: parentModelSlot })
24
+ * ```
25
+ */
26
+ export declare function definitionSchemaWithSlots<TSlotDef extends RefContextSlotDefinition, T extends z.ZodType>(slotDefinition: TSlotDef, creator: (ctx: DefinitionSchemaParserContext, slots: RefContextSlotMap<TSlotDef>) => T): DefinitionSchemaCreatorWithSlots<T, TSlotDef>;
27
+ /**
28
+ * Wraps a schema creator that requires slots with placeholder slots,
29
+ * producing a simple schema creator that can be used for validation-only
30
+ * contexts (e.g., React Hook Form).
31
+ *
32
+ * The placeholder slots allow the schema to parse without actual parent context,
33
+ * which is useful when you only need schema validation without ref extraction.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * // Schema that normally requires modelSlot from parent
38
+ * const createModelScalarFieldSchema = definitionSchemaWithSlots(
39
+ * { modelSlot: modelEntityType },
40
+ * (ctx, { modelSlot }) => ctx.withEnt(schema, { parentSlot: modelSlot }),
41
+ * );
42
+ *
43
+ * // For React Hook Form validation, wrap with placeholder slots
44
+ * const fieldSchema = withPlaceholderSlots(createModelScalarFieldSchema);
45
+ * const zodSchema = fieldSchema(ctx); // No slots needed
46
+ * ```
47
+ */
48
+ export declare function withPlaceholderSlots<T extends z.ZodType, TSlotDef extends RefContextSlotDefinition>(schemaCreator: DefinitionSchemaCreatorWithSlots<T, TSlotDef>): DefinitionSchemaCreator<T>;
5
49
  //# sourceMappingURL=schema-creator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-creator.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/schema-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAI7B,OAAO,KAAK,EACV,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,YAAY,CAAC;AAIpB,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,8BAA8B,GACtC,6BAA6B,CAM/B;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACrD,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAClC,CAAC,OAAO,EAAE,6BAA6B,KAAK,CAAC,CAE/C"}
1
+ {"version":3,"file":"schema-creator.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/schema-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,qCAAqC,CAAC;AAK7C,OAAO,KAAK,EACV,uBAAuB,EACvB,8BAA8B,EAC9B,gCAAgC,EAChC,6BAA6B,EAC9B,MAAM,YAAY,CAAC;AAIpB,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,8BAA8B,GACtC,6BAA6B,CAM/B;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAClD,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAClC,CAAC,OAAO,EAAE,6BAA6B,KAAK,CAAC,CAE/C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,SAAS,wBAAwB,EACzC,CAAC,SAAS,CAAC,CAAC,OAAO,EAEnB,cAAc,EAAE,QAAQ,EACxB,OAAO,EAAE,CACP,GAAG,EAAE,6BAA6B,EAClC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAC/B,CAAC,GACL,gCAAgC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAO/C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,CAAC,SAAS,CAAC,CAAC,OAAO,EACnB,QAAQ,SAAS,wBAAwB,EAEzC,aAAa,EAAE,gCAAgC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAC3D,uBAAuB,CAAC,CAAC,CAAC,CAO5B"}
@@ -1,4 +1,5 @@
1
1
  import { extendParserContextWithRefs } from '#src/references/extend-parser-context-with-refs.js';
2
+ import { createRefContextSlotMap } from '#src/references/ref-context-slot.js';
2
3
  import { extendParserContextWithDefaults } from './extend-parser-context-with-defaults.js';
3
4
  export function createDefinitionSchemaParserContext(options) {
4
5
  return {
@@ -10,4 +11,56 @@ export function createDefinitionSchemaParserContext(options) {
10
11
  export function definitionSchema(creator) {
11
12
  return (context) => creator(context);
12
13
  }
14
+ /**
15
+ * Creates a schema that requires slots to be passed from parent schemas.
16
+ * Used when a schema needs to reference entities from a parent context.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // Child schema requiring modelSlot from parent
21
+ * export const createModelScalarFieldSchema = definitionSchemaWithSlots(
22
+ * { modelSlot: modelEntityType },
23
+ * (ctx, { modelSlot }) =>
24
+ * ctx.withEnt(schema, {
25
+ * type: modelScalarFieldEntityType,
26
+ * parentSlot: modelSlot,
27
+ * }),
28
+ * );
29
+ *
30
+ * // Called from parent:
31
+ * createModelScalarFieldSchema(ctx, { modelSlot: parentModelSlot })
32
+ * ```
33
+ */
34
+ export function definitionSchemaWithSlots(slotDefinition, creator) {
35
+ const creatorWithSlots = (context, slots) => creator(context, slots);
36
+ creatorWithSlots.slotDefinition = slotDefinition;
37
+ return creatorWithSlots;
38
+ }
39
+ /**
40
+ * Wraps a schema creator that requires slots with placeholder slots,
41
+ * producing a simple schema creator that can be used for validation-only
42
+ * contexts (e.g., React Hook Form).
43
+ *
44
+ * The placeholder slots allow the schema to parse without actual parent context,
45
+ * which is useful when you only need schema validation without ref extraction.
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * // Schema that normally requires modelSlot from parent
50
+ * const createModelScalarFieldSchema = definitionSchemaWithSlots(
51
+ * { modelSlot: modelEntityType },
52
+ * (ctx, { modelSlot }) => ctx.withEnt(schema, { parentSlot: modelSlot }),
53
+ * );
54
+ *
55
+ * // For React Hook Form validation, wrap with placeholder slots
56
+ * const fieldSchema = withPlaceholderSlots(createModelScalarFieldSchema);
57
+ * const zodSchema = fieldSchema(ctx); // No slots needed
58
+ * ```
59
+ */
60
+ export function withPlaceholderSlots(schemaCreator) {
61
+ return (ctx) => {
62
+ const placeholderSlots = createRefContextSlotMap(schemaCreator.slotDefinition);
63
+ return schemaCreator(ctx, placeholderSlots);
64
+ };
65
+ }
13
66
  //# sourceMappingURL=schema-creator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-creator.js","sourceRoot":"","sources":["../../../src/schema/creator/schema-creator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AAQjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAE3F,MAAM,UAAU,mCAAmC,CACjD,OAAuC;IAEvC,OAAO;QACL,GAAG,OAAO;QACV,GAAG,2BAA2B,CAAC,OAAO,CAAC;QACvC,GAAG,+BAA+B,CAAC,OAAO,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAmC;IAEnC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"schema-creator.js","sourceRoot":"","sources":["../../../src/schema/creator/schema-creator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAS9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAE3F,MAAM,UAAU,mCAAmC,CACjD,OAAuC;IAEvC,OAAO;QACL,GAAG,OAAO;QACV,GAAG,2BAA2B,CAAC,OAAO,CAAC;QACvC,GAAG,+BAA+B,CAAC,OAAO,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAmC;IAEnC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,yBAAyB,CAIvC,cAAwB,EACxB,OAGM;IAEN,MAAM,gBAAgB,GAAkD,CACtE,OAAO,EACP,KAAK,EACL,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,gBAAgB,CAAC,cAAc,GAAG,cAAc,CAAC;IACjD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB,CAIlC,aAA4D;IAE5D,OAAO,CAAC,GAAG,EAAE,EAAE;QACb,MAAM,gBAAgB,GAAG,uBAAuB,CAC9C,aAAa,CAAC,cAAc,CAC7B,CAAC;QACF,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC9C,CAAC,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { z } from 'zod';
2
2
  import type { PluginImplementationStore } from '#src/plugins/index.js';
3
- import type { WithEntType, WithRefBuilder, WithRefType } from '#src/references/extend-parser-context-with-refs.js';
3
+ import type { RefContextType, WithEntType, WithRefType } from '#src/references/extend-parser-context-with-refs.js';
4
+ import type { RefContextSlotDefinition, RefContextSlotMap } from '#src/references/ref-context-slot.js';
4
5
  import type { WithDefaultType } from './extend-parser-context-with-defaults.js';
5
6
  /**
6
7
  * Options for creating a definition schema.
@@ -50,10 +51,6 @@ export interface DefinitionSchemaParserContext {
50
51
  * Adds an entity to the schema.
51
52
  */
52
53
  withEnt: WithEntType;
53
- /**
54
- * Provides access to the reference builder functions for the schema.
55
- */
56
- withRefBuilder: WithRefBuilder;
57
54
  /**
58
55
  * Wraps a schema with default value handling based on the defaultMode.
59
56
  * - 'populate': Uses preprocess to ensure defaults are present
@@ -61,6 +58,14 @@ export interface DefinitionSchemaParserContext {
61
58
  * - 'preserve': Returns schema unchanged
62
59
  */
63
60
  withDefault: WithDefaultType;
61
+ /**
62
+ * Creates ref context slots for use within a schema definition.
63
+ * Slots provide type-safe context for parent-child entity relationships.
64
+ */
65
+ refContext: RefContextType;
64
66
  }
65
- export type DefinitionSchemaCreator<T extends z.ZodTypeAny = z.ZodTypeAny> = (ctx: DefinitionSchemaParserContext) => T;
67
+ export type DefinitionSchemaCreator<T extends z.ZodType = z.ZodType> = (ctx: DefinitionSchemaParserContext) => T;
68
+ export type DefinitionSchemaCreatorWithSlots<TDefinitionSchema extends z.ZodType = z.ZodType, TSlotDefinition extends RefContextSlotDefinition = RefContextSlotDefinition> = ((ctx: DefinitionSchemaParserContext, slots: RefContextSlotMap<TSlotDefinition>) => TDefinitionSchema) & {
69
+ slotDefinition: TSlotDefinition;
70
+ };
66
71
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,WAAW,EACZ,MAAM,oDAAoD,CAAC;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,OAAO,EAAE,yBAAyB,CAAC;IACnC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;CACjD;AAED,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,OAAO,EAAE,yBAAyB,CAAC;IACnC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;IAChD;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B;;;;;OAKG;IACH,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,CAC3E,GAAG,EAAE,6BAA6B,KAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,WAAW,EACZ,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,OAAO,EAAE,yBAAyB,CAAC;IACnC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;CACjD;AAED,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,OAAO,EAAE,yBAAyB,CAAC;IACnC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;IAChD;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;;;;OAKG;IACH,WAAW,EAAE,eAAe,CAAC;IAC7B;;;OAGG;IACH,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CACrE,GAAG,EAAE,6BAA6B,KAC/B,CAAC,CAAC;AAEP,MAAM,MAAM,gCAAgC,CAC1C,iBAAiB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAC/C,eAAe,SAAS,wBAAwB,GAAG,wBAAwB,IACzE,CAAC,CACH,GAAG,EAAE,6BAA6B,EAClC,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC,KACtC,iBAAiB,CAAC,GAAG;IACxB,cAAc,EAAE,eAAe,CAAC;CACjC,CAAC"}
@@ -2,47 +2,39 @@ import { z } from 'zod';
2
2
  import type { def } from '#src/schema/creator/index.js';
3
3
  export declare const featureEntityType: import("#src/references/types.js").DefinitionEntityType<false>;
4
4
  export declare const featureNameSchema: z.ZodString;
5
- export declare const createFeatureSchema: (context: import("#src/schema/creator/index.js").DefinitionSchemaParserContext) => z.ZodEffects<z.ZodObject<{
6
- id: z.ZodString;
7
- name: z.ZodEffects<z.ZodString, string, string>;
8
- parentRef: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
9
- }, "strip", z.ZodTypeAny, {
10
- name: string;
5
+ export declare const createFeatureSchema: (context: import("#src/schema/creator/index.js").DefinitionSchemaParserContext) => z.ZodType<{
11
6
  id: string;
7
+ name: string;
12
8
  parentRef?: string | undefined;
13
9
  }, {
14
- name: string;
15
10
  id: string;
16
- parentRef?: string | undefined;
17
- }>, {
18
11
  name: string;
12
+ parentRef?: string | undefined;
13
+ }, z.core.$ZodTypeInternals<{
19
14
  id: string;
15
+ name: string;
20
16
  parentRef?: string | undefined;
21
17
  }, {
22
- name: string;
23
18
  id: string;
19
+ name: string;
24
20
  parentRef?: string | undefined;
25
- }>;
21
+ }>>;
26
22
  export type FeatureConfig = def.InferOutput<typeof createFeatureSchema>;
27
- export declare const createFeaturesSchema: (context: import("#src/schema/creator/index.js").DefinitionSchemaParserContext) => z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
28
- id: z.ZodString;
29
- name: z.ZodEffects<z.ZodString, string, string>;
30
- parentRef: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
31
- }, "strip", z.ZodTypeAny, {
32
- name: string;
23
+ export declare const createFeaturesSchema: (context: import("#src/schema/creator/index.js").DefinitionSchemaParserContext) => z.ZodDefault<z.ZodArray<z.ZodType<{
33
24
  id: string;
25
+ name: string;
34
26
  parentRef?: string | undefined;
35
27
  }, {
36
- name: string;
37
28
  id: string;
38
- parentRef?: string | undefined;
39
- }>, {
40
29
  name: string;
30
+ parentRef?: string | undefined;
31
+ }, z.core.$ZodTypeInternals<{
41
32
  id: string;
33
+ name: string;
42
34
  parentRef?: string | undefined;
43
35
  }, {
44
- name: string;
45
36
  id: string;
37
+ name: string;
46
38
  parentRef?: string | undefined;
47
- }>, "many">>;
39
+ }>>>>;
48
40
  //# sourceMappingURL=feature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../src/schema/features/feature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAKxD,eAAO,MAAM,iBAAiB,gEAA8B,CAAC;AAE7D,eAAO,MAAM,iBAAiB,aAA6B,CAAC;AAE5D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;EA0B/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAExE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;YAEhC,CAAC"}
1
+ {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../src/schema/features/feature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAKxD,eAAO,MAAM,iBAAiB,gEAA8B,CAAC;AAE7D,eAAO,MAAM,iBAAiB,aAA6B,CAAC;AAE5D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;GA0B/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAExE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;KAEhC,CAAC"}
@@ -1,141 +1,91 @@
1
1
  import { z } from 'zod';
2
2
  import type { def } from '#src/schema/creator/index.js';
3
- export declare const createEnumValueSchema: (context: import("#src/schema/creator/index.js").DefinitionSchemaParserContext) => z.ZodEffects<z.ZodObject<{
4
- id: z.ZodString;
5
- name: z.ZodString;
6
- friendlyName: z.ZodString;
7
- }, "strip", z.ZodTypeAny, {
8
- name: string;
3
+ export declare const createEnumValueSchema: import("#src/schema/creator/index.js").DefinitionSchemaCreatorWithSlots<z.ZodType<{
9
4
  id: string;
5
+ name: string;
10
6
  friendlyName: string;
11
7
  }, {
12
- name: string;
13
8
  id: string;
14
- friendlyName: string;
15
- }>, {
16
9
  name: string;
10
+ friendlyName: string;
11
+ }, z.core.$ZodTypeInternals<{
17
12
  id: string;
13
+ name: string;
18
14
  friendlyName: string;
19
15
  }, {
20
- name: string;
21
16
  id: string;
17
+ name: string;
22
18
  friendlyName: string;
19
+ }>>, {
20
+ enumSlot: import("../../index.js").DefinitionEntityType<false>;
23
21
  }>;
24
22
  export type EnumValueConfig = def.InferOutput<typeof createEnumValueSchema>;
25
- export declare const createEnumBaseSchema: (context: import("#src/schema/creator/index.js").DefinitionSchemaParserContext) => z.ZodObject<{
23
+ export declare const createEnumBaseSchema: import("#src/schema/creator/index.js").DefinitionSchemaCreatorWithSlots<z.ZodObject<{
26
24
  id: z.ZodString;
27
25
  name: z.ZodString;
28
- featureRef: z.ZodEffects<z.ZodString, string, string>;
29
- values: z.ZodArray<z.ZodEffects<z.ZodObject<{
30
- id: z.ZodString;
31
- name: z.ZodString;
32
- friendlyName: z.ZodString;
33
- }, "strip", z.ZodTypeAny, {
34
- name: string;
35
- id: string;
36
- friendlyName: string;
37
- }, {
38
- name: string;
26
+ featureRef: z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
27
+ values: z.ZodArray<z.ZodType<{
39
28
  id: string;
40
- friendlyName: string;
41
- }>, {
42
29
  name: string;
43
- id: string;
44
30
  friendlyName: string;
45
31
  }, {
46
- name: string;
47
32
  id: string;
48
- friendlyName: string;
49
- }>, "many">;
50
- isExposed: z.ZodBoolean;
51
- }, "strip", z.ZodTypeAny, {
52
- values: {
53
33
  name: string;
54
- id: string;
55
34
  friendlyName: string;
56
- }[];
57
- name: string;
58
- id: string;
59
- featureRef: string;
60
- isExposed: boolean;
61
- }, {
62
- values: {
63
- name: string;
35
+ }, z.core.$ZodTypeInternals<{
64
36
  id: string;
65
- friendlyName: string;
66
- }[];
67
- name: string;
68
- id: string;
69
- featureRef: string;
70
- isExposed: boolean;
71
- }>;
72
- export declare const createEnumSchema: (context: import("#src/schema/creator/index.js").DefinitionSchemaParserContext) => z.ZodEffects<z.ZodObject<{
73
- id: z.ZodString;
74
- name: z.ZodString;
75
- featureRef: z.ZodEffects<z.ZodString, string, string>;
76
- values: z.ZodArray<z.ZodEffects<z.ZodObject<{
77
- id: z.ZodString;
78
- name: z.ZodString;
79
- friendlyName: z.ZodString;
80
- }, "strip", z.ZodTypeAny, {
81
37
  name: string;
82
- id: string;
83
38
  friendlyName: string;
84
39
  }, {
85
- name: string;
86
40
  id: string;
87
- friendlyName: string;
88
- }>, {
89
- name: string;
90
- id: string;
91
- friendlyName: string;
92
- }, {
93
41
  name: string;
94
- id: string;
95
42
  friendlyName: string;
96
- }>, "many">;
43
+ }>>>;
97
44
  isExposed: z.ZodBoolean;
98
- }, "strip", z.ZodTypeAny, {
45
+ }, z.core.$strip>, {
46
+ enumSlot: import("../../index.js").DefinitionEntityType<false>;
47
+ }>;
48
+ export declare const createEnumSchema: (context: import("#src/schema/creator/index.js").DefinitionSchemaParserContext) => z.ZodType<{
49
+ id: string;
50
+ name: string;
51
+ featureRef: string;
99
52
  values: {
100
- name: string;
101
53
  id: string;
54
+ name: string;
102
55
  friendlyName: string;
103
56
  }[];
104
- name: string;
105
- id: string;
106
- featureRef: string;
107
57
  isExposed: boolean;
108
58
  }, {
59
+ id: string;
60
+ name: string;
61
+ featureRef: string;
109
62
  values: {
110
- name: string;
111
63
  id: string;
64
+ name: string;
112
65
  friendlyName: string;
113
66
  }[];
114
- name: string;
67
+ isExposed: boolean;
68
+ }, z.core.$ZodTypeInternals<{
115
69
  id: string;
70
+ name: string;
116
71
  featureRef: string;
117
- isExposed: boolean;
118
- }>, {
119
72
  values: {
120
- name: string;
121
73
  id: string;
74
+ name: string;
122
75
  friendlyName: string;
123
76
  }[];
124
- name: string;
125
- id: string;
126
- featureRef: string;
127
77
  isExposed: boolean;
128
78
  }, {
79
+ id: string;
80
+ name: string;
81
+ featureRef: string;
129
82
  values: {
130
- name: string;
131
83
  id: string;
84
+ name: string;
132
85
  friendlyName: string;
133
86
  }[];
134
- name: string;
135
- id: string;
136
- featureRef: string;
137
87
  isExposed: boolean;
138
- }>;
88
+ }>>;
139
89
  export type EnumConfig = def.InferOutput<typeof createEnumSchema>;
140
90
  export type EnumConfigInput = def.InferInput<typeof createEnumSchema>;
141
91
  //# sourceMappingURL=enums.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/schema/models/enums.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAOxD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;EAYjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWhC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/schema/models/enums.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAUxD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAcjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;EAahC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAO5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -1,27 +1,27 @@
1
1
  import { z } from 'zod';
2
- import { definitionSchema } from '#src/schema/creator/schema-creator.js';
2
+ import { definitionSchema, definitionSchemaWithSlots, } from '#src/schema/creator/schema-creator.js';
3
3
  import { featureEntityType } from '../features/index.js';
4
4
  import { modelEnumEntityType, modelEnumValueEntityType } from './types.js';
5
- export const createEnumValueSchema = definitionSchema((ctx) => ctx.withEnt(z.object({
5
+ export const createEnumValueSchema = definitionSchemaWithSlots({ enumSlot: modelEnumEntityType }, (ctx, { enumSlot }) => ctx.withEnt(z.object({
6
6
  id: z.string(),
7
7
  name: z.string().min(1),
8
8
  friendlyName: z.string().min(1),
9
9
  }), {
10
10
  type: modelEnumValueEntityType,
11
- parentPath: { context: 'enum' },
11
+ parentSlot: enumSlot,
12
12
  }));
13
- export const createEnumBaseSchema = definitionSchema((ctx) => z.object({
13
+ export const createEnumBaseSchema = definitionSchemaWithSlots({ enumSlot: modelEnumEntityType }, (ctx, { enumSlot }) => z.object({
14
14
  id: z.string(),
15
15
  name: z.string().min(1),
16
16
  featureRef: ctx.withRef({
17
17
  type: featureEntityType,
18
18
  onDelete: 'RESTRICT',
19
19
  }),
20
- values: z.array(createEnumValueSchema(ctx)),
20
+ values: z.array(createEnumValueSchema(ctx, { enumSlot })),
21
21
  isExposed: z.boolean(),
22
22
  }));
23
- export const createEnumSchema = definitionSchema((ctx) => ctx.withEnt(createEnumBaseSchema(ctx), {
23
+ export const createEnumSchema = definitionSchema((ctx) => ctx.refContext({ enumSlot: modelEnumEntityType }, ({ enumSlot }) => ctx.withEnt(createEnumBaseSchema(ctx, { enumSlot }), {
24
24
  type: modelEnumEntityType,
25
- addContext: 'enum',
26
- }));
25
+ provides: enumSlot,
26
+ })));
27
27
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/schema/models/enums.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CAC5D,GAAG,CAAC,OAAO,CACT,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAChC,CAAC,EACF;IACE,IAAI,EAAE,wBAAwB;IAC9B,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;CAChC,CACF,CACF,CAAC;AAIF,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3D,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC;QACtB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,UAAU;KACrB,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;CACvB,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CACvD,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE;IACrC,IAAI,EAAE,mBAAmB;IACzB,UAAU,EAAE,MAAM;CACnB,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/schema/models/enums.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EACL,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAC5D,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EACjC,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CACpB,GAAG,CAAC,OAAO,CACT,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAChC,CAAC,EACF;IACE,IAAI,EAAE,wBAAwB;IAC9B,UAAU,EAAE,QAAQ;CACrB,CACF,CACJ,CAAC;AAIF,MAAM,CAAC,MAAM,oBAAoB,GAAG,yBAAyB,CAC3D,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EACjC,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CACpB,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC;QACtB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,UAAU;KACrB,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;CACvB,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CACvD,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACjE,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;IACnD,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,QAAQ;CACnB,CAAC,CACH,CACF,CAAC"}