@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
@@ -0,0 +1,84 @@
1
+ import type { DefinitionEntityType } from './types.js';
2
+ /**
3
+ * A typed slot representing a context that can be provided and consumed.
4
+ * The type parameter T represents the DefinitionEntityType this slot is for.
5
+ *
6
+ * Slots are created via `createRefContextSlot()` or `ctx.refContext()`.
7
+ * Each slot instance is unique - you cannot accidentally use a slot from
8
+ * a different schema context.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const modelSlot = createRefContextSlot(modelEntityType);
13
+ *
14
+ * // Provider: marks this entity as providing the slot
15
+ * ctx.withEnt(schema, { type: modelEntityType, provides: modelSlot });
16
+ *
17
+ * // Consumer: uses the slot for parent path resolution
18
+ * ctx.withRef({ type: fieldEntityType, parentSlot: modelSlot });
19
+ * ```
20
+ */
21
+ export interface RefContextSlot<T extends DefinitionEntityType = DefinitionEntityType> {
22
+ /** The entity type this slot is associated with */
23
+ readonly entityType: T;
24
+ /** Unique identifier for this slot instance */
25
+ readonly id: symbol;
26
+ }
27
+ /**
28
+ * Creates a new ref context slot for the given entity type.
29
+ * Each call creates a unique slot, even for the same entity type.
30
+ *
31
+ * @param name - A descriptive name for debugging (shows in Symbol description)
32
+ * @param entityType - The entity type this slot will be associated with
33
+ * @returns A new unique RefContextSlot instance
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * const modelSlot = createRefContextSlot('modelSlot', modelEntityType);
38
+ * const anotherModelSlot = createRefContextSlot('anotherModelSlot', modelEntityType);
39
+ *
40
+ * // These are different slots despite same entity type
41
+ * modelSlot.id !== anotherModelSlot.id
42
+ * // modelSlot.id.toString() === 'Symbol(modelSlot)'
43
+ * ```
44
+ */
45
+ export declare function createRefContextSlot<T extends DefinitionEntityType>(name: string, entityType: T): RefContextSlot<T>;
46
+ /**
47
+ * A map of slot names to their entity types, used in refContext signatures.
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * const slotDef: RefContextSlotDefinition = {
52
+ * modelSlot: modelEntityType,
53
+ * foreignModelSlot: modelEntityType,
54
+ * };
55
+ * ```
56
+ */
57
+ export type RefContextSlotDefinition = Record<string, DefinitionEntityType>;
58
+ /**
59
+ * Converts a slot definition to actual RefContextSlot instances.
60
+ * This is the type returned by refContext's callback parameter.
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * type SlotDef = { modelSlot: typeof modelEntityType };
65
+ * type Slots = RefContextSlotMap<SlotDef>;
66
+ * // Slots = { modelSlot: RefContextSlot<typeof modelEntityType> }
67
+ * ```
68
+ */
69
+ export type RefContextSlotMap<T extends RefContextSlotDefinition> = {
70
+ [K in keyof T]: RefContextSlot<T[K]>;
71
+ };
72
+ /**
73
+ * Helper type to extract entity type from a slot.
74
+ */
75
+ export type SlotEntityType<T extends RefContextSlot> = T extends RefContextSlot<infer E> ? E : never;
76
+ /**
77
+ * Creates a RefContextSlotMap from a slot definition.
78
+ * Used internally by ctx.refContext().
79
+ *
80
+ * @param slotDefinition - Map of slot names to entity types
81
+ * @returns Map of slot names to RefContextSlot instances
82
+ */
83
+ export declare function createRefContextSlotMap<T extends RefContextSlotDefinition>(slotDefinition: T): RefContextSlotMap<T>;
84
+ //# sourceMappingURL=ref-context-slot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref-context-slot.d.ts","sourceRoot":"","sources":["../../src/references/ref-context-slot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,cAAc,CAC7B,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAErD,mDAAmD;IACnD,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,oBAAoB,EACjE,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,GACZ,cAAc,CAAC,CAAC,CAAC,CAKnB;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;AAE5E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,wBAAwB,IAAI;KACjE,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,cAAc,IACjD,CAAC,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEhD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,wBAAwB,EACxE,cAAc,EAAE,CAAC,GAChB,iBAAiB,CAAC,CAAC,CAAC,CAOtB"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Creates a new ref context slot for the given entity type.
3
+ * Each call creates a unique slot, even for the same entity type.
4
+ *
5
+ * @param name - A descriptive name for debugging (shows in Symbol description)
6
+ * @param entityType - The entity type this slot will be associated with
7
+ * @returns A new unique RefContextSlot instance
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const modelSlot = createRefContextSlot('modelSlot', modelEntityType);
12
+ * const anotherModelSlot = createRefContextSlot('anotherModelSlot', modelEntityType);
13
+ *
14
+ * // These are different slots despite same entity type
15
+ * modelSlot.id !== anotherModelSlot.id
16
+ * // modelSlot.id.toString() === 'Symbol(modelSlot)'
17
+ * ```
18
+ */
19
+ export function createRefContextSlot(name, entityType) {
20
+ return {
21
+ entityType,
22
+ id: Symbol(name),
23
+ };
24
+ }
25
+ /**
26
+ * Creates a RefContextSlotMap from a slot definition.
27
+ * Used internally by ctx.refContext().
28
+ *
29
+ * @param slotDefinition - Map of slot names to entity types
30
+ * @returns Map of slot names to RefContextSlot instances
31
+ */
32
+ export function createRefContextSlotMap(slotDefinition) {
33
+ return Object.fromEntries(Object.entries(slotDefinition).map(([key, entityType]) => [
34
+ key,
35
+ createRefContextSlot(key, entityType),
36
+ ]));
37
+ }
38
+ //# sourceMappingURL=ref-context-slot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref-context-slot.js","sourceRoot":"","sources":["../../src/references/ref-context-slot.ts"],"names":[],"mappings":"AA8BA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,UAAa;IAEb,OAAO;QACL,UAAU;QACV,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC;KACjB,CAAC;AACJ,CAAC;AAoCD;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,cAAiB;IAEjB,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;QACxD,GAAG;QACH,oBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC;KACtC,CAAC,CACqB,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { CollectedRefs } from './collect-refs.js';
2
+ import type { ReferencePath } from './types.js';
3
+ interface ResolvedSlot {
4
+ /**
5
+ * Path to the resolved slot
6
+ */
7
+ resolvedPath: ReferencePath;
8
+ /**
9
+ * Path to the parent context of the slot
10
+ */
11
+ path: ReferencePath;
12
+ }
13
+ /**
14
+ * Finds the nearest ancestor slot for a given target path.
15
+ *
16
+ * @param candidateSlots - The candidate slots to search through.
17
+ * @param targetPath - The target path to find the nearest ancestor slot for.
18
+ * @returns The nearest ancestor slot, or undefined if no slot is found.
19
+ */
20
+ export declare function findNearestAncestorSlot<T extends {
21
+ path: ReferencePath;
22
+ }>(candidateSlots: T[] | undefined, targetPath: ReferencePath): T | undefined;
23
+ /**
24
+ * Resolves all slot references to actual paths.
25
+ *
26
+ * This function takes the collected refs (which have `parentSlot` references)
27
+ * and resolves them to `parentPath` values using the slotPaths map.
28
+ *
29
+ * For scoped slots (where the same slot can be registered multiple times),
30
+ * we find the registration whose path is the nearest ancestor of the entity/reference.
31
+ *
32
+ * @param collected - The collected refs with unresolved slots.
33
+ * @returns The resolved refs with parentPath instead of parentSlot.
34
+ * @throws If a required slot is not found in the slotPaths map.
35
+ */
36
+ export declare function resolveSlots(collected: CollectedRefs): Map<symbol, ResolvedSlot[]>;
37
+ export {};
38
+ //# sourceMappingURL=resolve-slots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-slots.d.ts","sourceRoot":"","sources":["../../src/references/resolve-slots.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,UAAU,YAAY;IACpB;;OAEG;IACH,YAAY,EAAE,aAAa,CAAC;IAC5B;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;CACrB;AAmBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,EACvE,cAAc,EAAE,CAAC,EAAE,GAAG,SAAc,EACpC,UAAU,EAAE,aAAa,GACxB,CAAC,GAAG,SAAS,CAef;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,aAAa,GACvB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CA6C7B"}
@@ -0,0 +1,86 @@
1
+ import { mapGroupBy } from '@baseplate-dev/utils';
2
+ /**
3
+ * Calculates the length of the common prefix of two paths.
4
+ *
5
+ * @param a - The first path
6
+ * @param b - The second path
7
+ * @returns The length of the common prefix of the two paths
8
+ */
9
+ function commonPrefixLength(a, b) {
10
+ let length = 0;
11
+ const maxLength = Math.min(a.length, b.length);
12
+ for (let i = 0; i < maxLength; i++) {
13
+ if (a[i] !== b[i])
14
+ break;
15
+ length++;
16
+ }
17
+ return length;
18
+ }
19
+ /**
20
+ * Finds the nearest ancestor slot for a given target path.
21
+ *
22
+ * @param candidateSlots - The candidate slots to search through.
23
+ * @param targetPath - The target path to find the nearest ancestor slot for.
24
+ * @returns The nearest ancestor slot, or undefined if no slot is found.
25
+ */
26
+ export function findNearestAncestorSlot(candidateSlots = [], targetPath) {
27
+ let bestMatch;
28
+ for (const candidateSlot of candidateSlots) {
29
+ const prefixLength = commonPrefixLength(candidateSlot.path, targetPath);
30
+ // A slot at path [] (root) is a valid ancestor of any path
31
+ // For non-root slots, require at least 1 common prefix element
32
+ const isValidAncestor = candidateSlot.path.length === 0 || prefixLength > 0;
33
+ if (isValidAncestor &&
34
+ (!bestMatch || prefixLength > bestMatch.prefixLength)) {
35
+ bestMatch = { prefixLength, slot: candidateSlot };
36
+ }
37
+ }
38
+ return bestMatch?.slot;
39
+ }
40
+ /**
41
+ * Resolves all slot references to actual paths.
42
+ *
43
+ * This function takes the collected refs (which have `parentSlot` references)
44
+ * and resolves them to `parentPath` values using the slotPaths map.
45
+ *
46
+ * For scoped slots (where the same slot can be registered multiple times),
47
+ * we find the registration whose path is the nearest ancestor of the entity/reference.
48
+ *
49
+ * @param collected - The collected refs with unresolved slots.
50
+ * @returns The resolved refs with parentPath instead of parentSlot.
51
+ * @throws If a required slot is not found in the slotPaths map.
52
+ */
53
+ export function resolveSlots(collected) {
54
+ const { entities, references, slots } = collected;
55
+ // Collect all slots by path
56
+ const slotsByType = mapGroupBy(slots, (slot) => slot.slot.id);
57
+ const resolvedSlotsByType = new Map();
58
+ function registerSlot(slot, resolvedPath) {
59
+ const slotId = slot.id;
60
+ const candidateSlots = slotsByType.get(slotId) ?? [];
61
+ const nearestAncestorSlot = findNearestAncestorSlot(candidateSlots, resolvedPath);
62
+ if (!nearestAncestorSlot) {
63
+ throw new Error(`Could not find slot "${slotId.description ?? 'unknown'}" ` +
64
+ `within path ${resolvedPath.join('.')}. Make sure the slot is registered for this path.`);
65
+ }
66
+ const existingSlots = resolvedSlotsByType.get(slotId) ?? [];
67
+ resolvedSlotsByType.set(slotId, [
68
+ ...existingSlots,
69
+ { resolvedPath, path: nearestAncestorSlot.path },
70
+ ]);
71
+ }
72
+ // Collect entity provides
73
+ for (const entity of entities) {
74
+ if (entity.provides) {
75
+ registerSlot(entity.provides, [...entity.path, ...entity.idPath]);
76
+ }
77
+ }
78
+ // Collect reference provides
79
+ for (const reference of references) {
80
+ if (reference.provides) {
81
+ registerSlot(reference.provides, reference.path);
82
+ }
83
+ }
84
+ return resolvedSlotsByType;
85
+ }
86
+ //# sourceMappingURL=resolve-slots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-slots.js","sourceRoot":"","sources":["../../src/references/resolve-slots.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ZodRefPayload } from './definition-ref-builder.js';
1
+ import type { ExtractDefinitionRefsPayload } from './extract-definition-refs.js';
2
2
  import type { ResolvedZodRefPayload } from './types.js';
3
3
  /**
4
4
  * Options for resolving entity names in a ZodRefPayload.
@@ -22,5 +22,5 @@ export interface ResolveZodRefPayloadNamesOptions {
22
22
  *
23
23
  * @template T - The type of the payload.
24
24
  */
25
- export declare function resolveZodRefPayloadNames<T>(payload: ZodRefPayload<T>, { skipReferenceNameResolution, allowInvalidReferences, }?: ResolveZodRefPayloadNamesOptions): ResolvedZodRefPayload<T>;
25
+ export declare function resolveZodRefPayloadNames<T>(payload: ExtractDefinitionRefsPayload<T>, { skipReferenceNameResolution, allowInvalidReferences, }?: ResolveZodRefPayloadNamesOptions): ResolvedZodRefPayload<T>;
26
26
  //# sourceMappingURL=resolve-zod-ref-payload-names.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-zod-ref-payload-names.d.ts","sourceRoot":"","sources":["../../src/references/resolve-zod-ref-payload-names.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAoB,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EACzC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,EACE,2BAAmC,EACnC,sBAA8B,GAC/B,GAAE,gCAAqC,GACvC,qBAAqB,CAAC,CAAC,CAAC,CAgD1B"}
1
+ {"version":3,"file":"resolve-zod-ref-payload-names.d.ts","sourceRoot":"","sources":["../../src/references/resolve-zod-ref-payload-names.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAoB,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EACzC,OAAO,EAAE,4BAA4B,CAAC,CAAC,CAAC,EACxC,EACE,2BAAmC,EACnC,sBAA8B,GAC/B,GAAE,gCAAqC,GACvC,qBAAqB,CAAC,CAAC,CAAC,CA4D1B"}
@@ -14,6 +14,9 @@ export function resolveZodRefPayloadNames(payload, { skipReferenceNameResolution
14
14
  const resolvedEntitiesById = new Map();
15
15
  // sort entities by dependency order
16
16
  const orderedEntities = toposort(entitiesWithNameResolver.map((entity) => entity.id), entitiesWithNameResolver.flatMap((entity) => {
17
+ if (typeof entity.nameResolver !== 'object') {
18
+ return [];
19
+ }
17
20
  const entityIds = entity.nameResolver.idsToResolve ?? {};
18
21
  return Object.values(entityIds)
19
22
  .flat()
@@ -35,13 +38,21 @@ export function resolveZodRefPayloadNames(payload, { skipReferenceNameResolution
35
38
  }
36
39
  for (const id of orderedEntities) {
37
40
  const { nameResolver, ...rest } = entitiesById[id];
38
- const resolvedIds = mapValues(nameResolver.idsToResolve ?? {}, (idOrIds) => Array.isArray(idOrIds)
39
- ? idOrIds.map((id) => resolveIdToName(id))
40
- : resolveIdToName(idOrIds));
41
- resolvedEntitiesById.set(rest.id, {
42
- ...rest,
43
- name: nameResolver.resolveName(resolvedIds),
44
- });
41
+ if (typeof nameResolver === 'string') {
42
+ resolvedEntitiesById.set(rest.id, {
43
+ ...rest,
44
+ name: nameResolver,
45
+ });
46
+ }
47
+ else {
48
+ const resolvedIds = mapValues(nameResolver.idsToResolve ?? {}, (idOrIds) => Array.isArray(idOrIds)
49
+ ? idOrIds.map((id) => resolveIdToName(id))
50
+ : resolveIdToName(idOrIds));
51
+ resolvedEntitiesById.set(rest.id, {
52
+ ...rest,
53
+ name: nameResolver.resolveName(resolvedIds),
54
+ });
55
+ }
45
56
  }
46
57
  return {
47
58
  entities: [...resolvedEntitiesById.values()],
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-zod-ref-payload-names.js","sourceRoot":"","sources":["../../src/references/resolve-zod-ref-payload-names.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAoB9C;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAyB,EACzB,EACE,2BAA2B,GAAG,KAAK,EACnC,sBAAsB,GAAG,KAAK,MACM,EAAE;IAExC,MAAM,EAAE,wBAAwB,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAC/D,MAAM,YAAY,GAAG,KAAK,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5E,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA4B,CAAC;IACjE,oCAAoC;IACpC,MAAM,eAAe,GAAG,QAAQ,CAC9B,wBAAwB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EACnD,wBAAwB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,IAAI,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;aAC5B,IAAI,EAAE;aACN,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,YAAY,CAAC;aAClC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAqB,CAAC,CAAC;IACtD,CAAC,CAAC,CACH,CAAC;IAEF,SAAS,eAAe,CAAC,EAAU;QACjC,IAAI,2BAA2B,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;QACjC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CACzE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACpB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAC7B,CAAC;QACF,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YAChC,GAAG,IAAI;YACP,IAAI,EAAE,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC;QAC5C,UAAU;QACV,IAAI;KACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"resolve-zod-ref-payload-names.js","sourceRoot":"","sources":["../../src/references/resolve-zod-ref-payload-names.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { def, DefinitionSchemaCreator, DefinitionSchemaCreatorOptions } from '#src/schema/index.js';
2
2
  import type { ResolvedZodRefPayload } from './types.js';
3
- export declare function serializeSchemaFromRefPayload<TValue extends Record<string, unknown>>(payload: ResolvedZodRefPayload<TValue>): TValue;
3
+ export declare function serializeSchemaFromRefPayload<TValue>(payload: ResolvedZodRefPayload<TValue>): TValue;
4
4
  export declare function serializeSchema<T extends DefinitionSchemaCreator>(schemaCreator: T, value: unknown, schemaCreatorOptions: Omit<DefinitionSchemaCreatorOptions, 'transformReferences'>): def.InferOutput<T>;
5
5
  //# sourceMappingURL=serialize-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialize-schema.d.ts","sourceRoot":"","sources":["../../src/references/serialize-schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,GAAG,EACH,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAIxD,wBAAgB,6BAA6B,CAC3C,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,GAAG,MAAM,CAmBhD;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,uBAAuB,EAC/D,aAAa,EAAE,CAAC,EAChB,KAAK,EAAE,OAAO,EACd,oBAAoB,EAAE,IAAI,CACxB,8BAA8B,EAC9B,qBAAqB,CACtB,GACA,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CASpB"}
1
+ {"version":3,"file":"serialize-schema.d.ts","sourceRoot":"","sources":["../../src/references/serialize-schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,GAAG,EACH,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAIxD,wBAAgB,6BAA6B,CAAC,MAAM,EAClD,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,GACrC,MAAM,CAuBR;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,uBAAuB,EAC/D,aAAa,EAAE,CAAC,EAChB,KAAK,EAAE,OAAO,EACd,oBAAoB,EAAE,IAAI,CACxB,8BAA8B,EAC9B,qBAAqB,CACtB,GACA,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAQpB"}
@@ -3,6 +3,9 @@ import { produce } from 'immer';
3
3
  import { parseSchemaWithTransformedReferences } from './parse-schema-with-references.js';
4
4
  export function serializeSchemaFromRefPayload(payload) {
5
5
  const { references, entities, data } = payload;
6
+ if (typeof data !== 'object' || data === null) {
7
+ throw new TypeError('Data is not an object');
8
+ }
6
9
  const entitiesById = new Map(entities.map((e) => [e.id, e]));
7
10
  return produce((draftData) => {
8
11
  for (const reference of references) {
@@ -17,7 +20,6 @@ export function serializeSchemaFromRefPayload(payload) {
17
20
  }
18
21
  export function serializeSchema(schemaCreator, value, schemaCreatorOptions) {
19
22
  const payload = parseSchemaWithTransformedReferences(schemaCreator, value, schemaCreatorOptions);
20
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- typed as def.InferOutput<T>
21
23
  return serializeSchemaFromRefPayload(payload);
22
24
  }
23
25
  //# sourceMappingURL=serialize-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialize-schema.js","sourceRoot":"","sources":["../../src/references/serialize-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAUhC,OAAO,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AAEzF,MAAM,UAAU,6BAA6B,CAE3C,OAAsC;IACtC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE/C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,OAAO,OAAO,CAAC,CAAC,SAAkC,EAAE,EAAE;QACpD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAW,CAAC;YAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,kCAAkC,QAAQ,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAClE,GAAG,CACJ,EAAE,CACJ,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC,IAAI,CAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,aAAgB,EAChB,KAAc,EACd,oBAGC;IAED,MAAM,OAAO,GAAG,oCAAoC,CAClD,aAAa,EACb,KAAK,EACL,oBAAoB,CACrB,CAAC;IAEF,8FAA8F;IAC9F,OAAO,6BAA6B,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"serialize-schema.js","sourceRoot":"","sources":["../../src/references/serialize-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAUhC,OAAO,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AAEzF,MAAM,UAAU,6BAA6B,CAC3C,OAAsC;IAEtC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE/C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,OAAO,OAAO,CAAC,CAAC,SAAiB,EAAE,EAAE;QACnC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAW,CAAC;YAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,kCAAkC,QAAQ,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAClE,GAAG,CACJ,EAAE,CACJ,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC,IAAI,CAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,aAAgB,EAChB,KAAc,EACd,oBAGC;IAED,MAAM,OAAO,GAAG,oCAAoC,CAClD,aAAa,EACb,KAAK,EACL,oBAAoB,CACrB,CAAC;IAEF,OAAO,6BAA6B,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC"}
@@ -39,6 +39,10 @@ export interface DefinitionEntity {
39
39
  * The ID of the entity.
40
40
  */
41
41
  id: string;
42
+ /**
43
+ * The ID path of the entity.
44
+ */
45
+ idPath: ReferencePath;
42
46
  /**
43
47
  * The name of the entity.
44
48
  */
@@ -51,16 +55,12 @@ export interface DefinitionEntity {
51
55
  * The path to the entity in the definition.
52
56
  */
53
57
  path: ReferencePath;
54
- /**
55
- * The path to the entity's ID.
56
- */
57
- idPath: ReferencePath;
58
58
  /**
59
59
  * The path to the entity's parent in the definition.
60
60
  */
61
61
  parentPath?: ReferencePath;
62
62
  }
63
- type ReferenceOnDeleteAction =
63
+ export type ReferenceOnDeleteAction =
64
64
  /**
65
65
  * Set the reference to undefined. Cannot be used for references inside arrays.
66
66
  */
@@ -122,5 +122,4 @@ export interface ResolvedZodRefPayload<T> {
122
122
  */
123
123
  references: DefinitionReference[];
124
124
  }
125
- export {};
126
125
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/references/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;AAEhD;;GAEG;AACH,qBAAa,oBAAoB,CAAC,UAAU,SAAS,OAAO,GAAG,OAAO;IACpE,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,UAAU,CAAC,EAAE,UAAU,SAAS,IAAI,GAChD,oBAAoB,GACpB,SAAS,CAAC;IAEd;;;;;;OAMG;gBAED,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,UAAU,SAAS,IAAI,GAAG,oBAAoB,GAAG,SAAS;IAOzE;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAC9B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAQtD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI7B,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAG1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,oBAAoB,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,KAAK,uBAAuB;AAC1B;;GAEG;AACD,eAAe;AACjB;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,eAAe;AACjB;;GAEG;GACD,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,oBAAoB,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,uBAAuB,CAAC;CACnC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAE5E,wBAAgB,gBAAgB,CAC9B,OAAO,SAAS,oBAAoB,GAAG,SAAS,GAAG,SAAS,EAE5D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,oBAAoB,CAAC,OAAO,SAAS,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;AAgBlE;;;;GAIG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B;;OAEG;IACH,UAAU,EAAE,mBAAmB,EAAE,CAAC;CACnC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/references/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;AAEhD;;GAEG;AACH,qBAAa,oBAAoB,CAAC,UAAU,SAAS,OAAO,GAAG,OAAO;IACpE,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,UAAU,CAAC,EAAE,UAAU,SAAS,IAAI,GAChD,oBAAoB,GACpB,SAAS,CAAC;IAEd;;;;;;OAMG;gBAED,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,UAAU,SAAS,IAAI,GAAG,oBAAoB,GAAG,SAAS;IAOzE;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAC9B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAQtD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI7B,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAG1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,oBAAoB,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,MAAM,MAAM,uBAAuB;AACjC;;GAEG;AACD,eAAe;AACjB;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,eAAe;AACjB;;GAEG;GACD,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,oBAAoB,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,uBAAuB,CAAC;CACnC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAE5E,wBAAgB,gBAAgB,CAC9B,OAAO,SAAS,oBAAoB,GAAG,SAAS,GAAG,SAAS,EAE5D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,oBAAoB,CAAC,OAAO,SAAS,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;AAgBlE;;;;GAIG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B;;OAEG;IACH,UAAU,EAAE,mBAAmB,EAAE,CAAC;CACnC"}
@@ -1,40 +1,22 @@
1
1
  import { z } from 'zod';
2
2
  import type { def } from '#src/schema/creator/index.js';
3
- export declare const createBackendAppSchema: (context: import("#src/schema/creator/index.js").DefinitionSchemaParserContext) => z.ZodObject<{
3
+ export declare const createBackendAppSchema: import("#src/schema/creator/index.js").DefinitionSchemaCreatorWithSlots<z.ZodObject<{
4
4
  type: z.ZodLiteral<"backend">;
5
5
  enableStripe: z.ZodOptional<z.ZodBoolean>;
6
- enableBullQueue: z.ZodOptional<z.ZodBoolean>;
7
6
  enablePostmark: z.ZodOptional<z.ZodBoolean>;
8
7
  enableSubscriptions: z.ZodOptional<z.ZodBoolean>;
9
8
  enableAxios: z.ZodOptional<z.ZodBoolean>;
10
9
  id: z.ZodDefault<z.ZodString>;
11
10
  name: z.ZodString;
12
- }, "strip", z.ZodTypeAny, {
13
- type: "backend";
14
- name: string;
15
- id: string;
16
- enableStripe?: boolean | undefined;
17
- enableBullQueue?: boolean | undefined;
18
- enablePostmark?: boolean | undefined;
19
- enableSubscriptions?: boolean | undefined;
20
- enableAxios?: boolean | undefined;
21
- }, {
22
- type: "backend";
23
- name: string;
24
- id?: string | undefined;
25
- enableStripe?: boolean | undefined;
26
- enableBullQueue?: boolean | undefined;
27
- enablePostmark?: boolean | undefined;
28
- enableSubscriptions?: boolean | undefined;
29
- enableAxios?: boolean | undefined;
11
+ }, z.core.$strip>, {
12
+ appSlot: import("../../../index.js").DefinitionEntityType<false>;
30
13
  }>;
31
14
  export type BackendAppConfig = def.InferOutput<typeof createBackendAppSchema>;
32
15
  export declare const backendAppEntryType: import("../types.js").AppEntryType<{
33
16
  type: "backend";
34
- name: string;
35
17
  id: string;
18
+ name: string;
36
19
  enableStripe?: boolean | undefined;
37
- enableBullQueue?: boolean | undefined;
38
20
  enablePostmark?: boolean | undefined;
39
21
  enableSubscriptions?: boolean | undefined;
40
22
  enableAxios?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/apps/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAOxD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUlC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE9E,eAAO,MAAM,mBAAmB;;;;;;;;;EACiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/apps/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAOxD,eAAO,MAAM,sBAAsB;;;;;;;;;;EAWlC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE9E,eAAO,MAAM,mBAAmB;;;;;;;;EACiB,CAAC"}
@@ -1,12 +1,11 @@
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';
5
- export const createBackendAppSchema = definitionSchema(() => z.object({
4
+ import { appEntityType, createAppEntryType } from '../types.js';
5
+ export const createBackendAppSchema = definitionSchemaWithSlots({ appSlot: appEntityType }, () => z.object({
6
6
  ...baseAppValidators,
7
7
  type: z.literal('backend'),
8
8
  enableStripe: z.boolean().optional(),
9
- enableBullQueue: z.boolean().optional(),
10
9
  enablePostmark: z.boolean().optional(),
11
10
  enableSubscriptions: z.boolean().optional(),
12
11
  enableAxios: z.boolean().optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema/apps/backend/index.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;AAEjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAC1D,CAAC,CAAC,MAAM,CAAC;IACP,GAAG,iBAAiB;IACpB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3C,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CACH,CAAC;AAIF,MAAM,CAAC,MAAM,mBAAmB,GAC9B,kBAAkB,CAAmB,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema/apps/backend/index.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;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAC7D,EAAE,OAAO,EAAE,aAAa,EAAE,EAC1B,GAAG,EAAE,CACH,CAAC,CAAC,MAAM,CAAC;IACP,GAAG,iBAAiB;IACpB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3C,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CACL,CAAC;AAIF,MAAM,CAAC,MAAM,mBAAmB,GAC9B,kBAAkB,CAAmB,SAAS,CAAC,CAAC"}
@@ -5,17 +5,9 @@ export declare const baseAppValidators: {
5
5
  readonly type: z.ZodString;
6
6
  };
7
7
  export declare const baseAppSchema: z.ZodObject<{
8
- readonly id: z.ZodDefault<z.ZodString>;
9
- readonly name: z.ZodString;
10
- readonly type: z.ZodString;
11
- }, "strip", z.ZodTypeAny, {
12
- type: string;
13
- name: string;
14
- id: string;
15
- }, {
16
- type: string;
17
- name: string;
18
- id?: string | undefined;
19
- }>;
8
+ id: z.ZodDefault<z.ZodString>;
9
+ name: z.ZodString;
10
+ type: z.ZodString;
11
+ }, z.core.$strip>;
20
12
  export type BaseAppConfig = z.infer<typeof baseAppSchema>;
21
13
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/schema/apps/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;EAA8B,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/schema/apps/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,eAAO,MAAM,aAAa;;;;iBAA8B,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}