@flyingrobots/bijou 4.4.1 → 7.0.0

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 (249) hide show
  1. package/README.md +71 -1
  2. package/dist/adapters/test/index.d.ts.map +1 -1
  3. package/dist/adapters/test/index.js +1 -3
  4. package/dist/adapters/test/index.js.map +1 -1
  5. package/dist/adapters/test/runtime.d.ts.map +1 -1
  6. package/dist/adapters/test/runtime.js +4 -3
  7. package/dist/adapters/test/runtime.js.map +1 -1
  8. package/dist/context-theme.d.ts +25 -0
  9. package/dist/context-theme.d.ts.map +1 -1
  10. package/dist/context-theme.js +19 -0
  11. package/dist/context-theme.js.map +1 -1
  12. package/dist/context.d.ts +13 -1
  13. package/dist/context.d.ts.map +1 -1
  14. package/dist/context.js +24 -3
  15. package/dist/context.js.map +1 -1
  16. package/dist/core/active-binding-collection.d.ts +49 -0
  17. package/dist/core/active-binding-collection.d.ts.map +1 -0
  18. package/dist/core/active-binding-collection.js +264 -0
  19. package/dist/core/active-binding-collection.js.map +1 -0
  20. package/dist/core/app-shell-composition.d.ts +44 -0
  21. package/dist/core/app-shell-composition.d.ts.map +1 -0
  22. package/dist/core/app-shell-composition.js +123 -0
  23. package/dist/core/app-shell-composition.js.map +1 -0
  24. package/dist/core/binding-frame-update.d.ts +18 -0
  25. package/dist/core/binding-frame-update.d.ts.map +1 -0
  26. package/dist/core/binding-frame-update.js +133 -0
  27. package/dist/core/binding-frame-update.js.map +1 -0
  28. package/dist/core/binding-lifecycle.d.ts +65 -0
  29. package/dist/core/binding-lifecycle.d.ts.map +1 -0
  30. package/dist/core/binding-lifecycle.js +357 -0
  31. package/dist/core/binding-lifecycle.js.map +1 -0
  32. package/dist/core/binding.d.ts +192 -0
  33. package/dist/core/binding.d.ts.map +1 -0
  34. package/dist/core/binding.js +587 -0
  35. package/dist/core/binding.js.map +1 -0
  36. package/dist/core/block-metadata.d.ts +113 -0
  37. package/dist/core/block-metadata.d.ts.map +1 -0
  38. package/dist/core/block-metadata.js +376 -0
  39. package/dist/core/block-metadata.js.map +1 -0
  40. package/dist/core/block-tree-render.d.ts +17 -0
  41. package/dist/core/block-tree-render.d.ts.map +1 -0
  42. package/dist/core/block-tree-render.js +186 -0
  43. package/dist/core/block-tree-render.js.map +1 -0
  44. package/dist/core/component-metadata.d.ts +63 -0
  45. package/dist/core/component-metadata.d.ts.map +1 -0
  46. package/dist/core/component-metadata.js +158 -0
  47. package/dist/core/component-metadata.js.map +1 -0
  48. package/dist/core/components/alert-v3.d.ts.map +1 -1
  49. package/dist/core/components/alert-v3.js +5 -4
  50. package/dist/core/components/alert-v3.js.map +1 -1
  51. package/dist/core/components/alert.d.ts.map +1 -1
  52. package/dist/core/components/alert.js +7 -8
  53. package/dist/core/components/alert.js.map +1 -1
  54. package/dist/core/components/badge.d.ts.map +1 -1
  55. package/dist/core/components/badge.js +19 -18
  56. package/dist/core/components/badge.js.map +1 -1
  57. package/dist/core/components/box-v3.d.ts.map +1 -1
  58. package/dist/core/components/box-v3.js +29 -29
  59. package/dist/core/components/box-v3.js.map +1 -1
  60. package/dist/core/components/dag-edges.d.ts +28 -5
  61. package/dist/core/components/dag-edges.d.ts.map +1 -1
  62. package/dist/core/components/dag-edges.js +116 -22
  63. package/dist/core/components/dag-edges.js.map +1 -1
  64. package/dist/core/components/dag-layout.d.ts +3 -4
  65. package/dist/core/components/dag-layout.d.ts.map +1 -1
  66. package/dist/core/components/dag-layout.js +42 -9
  67. package/dist/core/components/dag-layout.js.map +1 -1
  68. package/dist/core/components/dag-render.d.ts +4 -3
  69. package/dist/core/components/dag-render.d.ts.map +1 -1
  70. package/dist/core/components/dag-render.js +209 -105
  71. package/dist/core/components/dag-render.js.map +1 -1
  72. package/dist/core/components/dag-source.d.ts +4 -0
  73. package/dist/core/components/dag-source.d.ts.map +1 -1
  74. package/dist/core/components/dag-source.js +10 -0
  75. package/dist/core/components/dag-source.js.map +1 -1
  76. package/dist/core/components/dag.d.ts +20 -4
  77. package/dist/core/components/dag.d.ts.map +1 -1
  78. package/dist/core/components/dag.js.map +1 -1
  79. package/dist/core/components/explainability.d.ts.map +1 -1
  80. package/dist/core/components/explainability.js +30 -87
  81. package/dist/core/components/explainability.js.map +1 -1
  82. package/dist/core/components/guided-flow.d.ts +32 -0
  83. package/dist/core/components/guided-flow.d.ts.map +1 -0
  84. package/dist/core/components/guided-flow.js +131 -0
  85. package/dist/core/components/guided-flow.js.map +1 -0
  86. package/dist/core/components/hyperlink.d.ts.map +1 -1
  87. package/dist/core/components/hyperlink.js +7 -4
  88. package/dist/core/components/hyperlink.js.map +1 -1
  89. package/dist/core/components/index.d.ts +5 -3
  90. package/dist/core/components/index.d.ts.map +1 -1
  91. package/dist/core/components/index.js +1 -0
  92. package/dist/core/components/index.js.map +1 -1
  93. package/dist/core/components/markdown-parse.d.ts +4 -0
  94. package/dist/core/components/markdown-parse.d.ts.map +1 -1
  95. package/dist/core/components/markdown-parse.js +66 -2
  96. package/dist/core/components/markdown-parse.js.map +1 -1
  97. package/dist/core/components/markdown-render.d.ts.map +1 -1
  98. package/dist/core/components/markdown-render.js +220 -14
  99. package/dist/core/components/markdown-render.js.map +1 -1
  100. package/dist/core/components/markdown.d.ts +4 -3
  101. package/dist/core/components/markdown.d.ts.map +1 -1
  102. package/dist/core/components/markdown.js +6 -5
  103. package/dist/core/components/markdown.js.map +1 -1
  104. package/dist/core/components/paginator.d.ts.map +1 -1
  105. package/dist/core/components/paginator.js +5 -3
  106. package/dist/core/components/paginator.js.map +1 -1
  107. package/dist/core/components/perf-overlay.d.ts.map +1 -1
  108. package/dist/core/components/perf-overlay.js +3 -2
  109. package/dist/core/components/perf-overlay.js.map +1 -1
  110. package/dist/core/components/preference-list.d.ts.map +1 -1
  111. package/dist/core/components/preference-list.js +75 -37
  112. package/dist/core/components/preference-list.js.map +1 -1
  113. package/dist/core/components/progress.d.ts.map +1 -1
  114. package/dist/core/components/progress.js +4 -3
  115. package/dist/core/components/progress.js.map +1 -1
  116. package/dist/core/components/separator-v3.d.ts.map +1 -1
  117. package/dist/core/components/separator-v3.js +11 -11
  118. package/dist/core/components/separator-v3.js.map +1 -1
  119. package/dist/core/components/separator.d.ts.map +1 -1
  120. package/dist/core/components/separator.js +4 -1
  121. package/dist/core/components/separator.js.map +1 -1
  122. package/dist/core/components/skeleton.d.ts.map +1 -1
  123. package/dist/core/components/skeleton.js +3 -2
  124. package/dist/core/components/skeleton.js.map +1 -1
  125. package/dist/core/components/surface-text.d.ts +7 -0
  126. package/dist/core/components/surface-text.d.ts.map +1 -1
  127. package/dist/core/components/surface-text.js +33 -25
  128. package/dist/core/components/surface-text.js.map +1 -1
  129. package/dist/core/components/table-v3.d.ts +5 -2
  130. package/dist/core/components/table-v3.d.ts.map +1 -1
  131. package/dist/core/components/table-v3.js +162 -37
  132. package/dist/core/components/table-v3.js.map +1 -1
  133. package/dist/core/components/table.d.ts +51 -7
  134. package/dist/core/components/table.d.ts.map +1 -1
  135. package/dist/core/components/table.js +655 -81
  136. package/dist/core/components/table.js.map +1 -1
  137. package/dist/core/fixture-promotion.d.ts +33 -0
  138. package/dist/core/fixture-promotion.d.ts.map +1 -0
  139. package/dist/core/fixture-promotion.js +62 -0
  140. package/dist/core/fixture-promotion.js.map +1 -0
  141. package/dist/core/forms/filter-interactive.d.ts.map +1 -1
  142. package/dist/core/forms/filter-interactive.js +2 -4
  143. package/dist/core/forms/filter-interactive.js.map +1 -1
  144. package/dist/core/forms/multiselect.d.ts.map +1 -1
  145. package/dist/core/forms/multiselect.js +2 -4
  146. package/dist/core/forms/multiselect.js.map +1 -1
  147. package/dist/core/forms/note.d.ts.map +1 -1
  148. package/dist/core/forms/note.js +2 -1
  149. package/dist/core/forms/note.js.map +1 -1
  150. package/dist/core/forms/select.d.ts.map +1 -1
  151. package/dist/core/forms/select.js +2 -4
  152. package/dist/core/forms/select.js.map +1 -1
  153. package/dist/core/forms/textarea-editor.d.ts.map +1 -1
  154. package/dist/core/forms/textarea-editor.js +7 -5
  155. package/dist/core/forms/textarea-editor.js.map +1 -1
  156. package/dist/core/layout/envelope.d.ts +174 -0
  157. package/dist/core/layout/envelope.d.ts.map +1 -0
  158. package/dist/core/layout/envelope.js +336 -0
  159. package/dist/core/layout/envelope.js.map +1 -0
  160. package/dist/core/layout/geometry.d.ts +39 -0
  161. package/dist/core/layout/geometry.d.ts.map +1 -0
  162. package/dist/core/layout/geometry.js +201 -0
  163. package/dist/core/layout/geometry.js.map +1 -0
  164. package/dist/core/mode-lowering.d.ts +48 -0
  165. package/dist/core/mode-lowering.d.ts.map +1 -0
  166. package/dist/core/mode-lowering.js +176 -0
  167. package/dist/core/mode-lowering.js.map +1 -0
  168. package/dist/core/numeric.d.ts +16 -0
  169. package/dist/core/numeric.d.ts.map +1 -0
  170. package/dist/core/numeric.js +37 -0
  171. package/dist/core/numeric.js.map +1 -0
  172. package/dist/core/render/differ.d.ts.map +1 -1
  173. package/dist/core/render/differ.js +15 -13
  174. package/dist/core/render/differ.js.map +1 -1
  175. package/dist/core/runtime-viewport.d.ts.map +1 -1
  176. package/dist/core/runtime-viewport.js +2 -3
  177. package/dist/core/runtime-viewport.js.map +1 -1
  178. package/dist/core/schema-block.d.ts +63 -0
  179. package/dist/core/schema-block.d.ts.map +1 -0
  180. package/dist/core/schema-block.js +361 -0
  181. package/dist/core/schema-block.js.map +1 -0
  182. package/dist/core/selection.d.ts +127 -0
  183. package/dist/core/selection.d.ts.map +1 -0
  184. package/dist/core/selection.js +350 -0
  185. package/dist/core/selection.js.map +1 -0
  186. package/dist/core/standard-blocks.d.ts +264 -0
  187. package/dist/core/standard-blocks.d.ts.map +1 -0
  188. package/dist/core/standard-blocks.js +2518 -0
  189. package/dist/core/standard-blocks.js.map +1 -0
  190. package/dist/core/story-capture.d.ts +48 -0
  191. package/dist/core/story-capture.d.ts.map +1 -0
  192. package/dist/core/story-capture.js +64 -0
  193. package/dist/core/story-capture.js.map +1 -0
  194. package/dist/core/text/grapheme.d.ts +51 -0
  195. package/dist/core/text/grapheme.d.ts.map +1 -1
  196. package/dist/core/text/grapheme.js +68 -0
  197. package/dist/core/text/grapheme.js.map +1 -1
  198. package/dist/core/text/icon-presentation.d.ts +10 -0
  199. package/dist/core/text/icon-presentation.d.ts.map +1 -0
  200. package/dist/core/text/icon-presentation.js +12 -0
  201. package/dist/core/text/icon-presentation.js.map +1 -0
  202. package/dist/core/text/index.d.ts +2 -1
  203. package/dist/core/text/index.d.ts.map +1 -1
  204. package/dist/core/text/index.js +2 -1
  205. package/dist/core/text/index.js.map +1 -1
  206. package/dist/core/text/wrap.d.ts.map +1 -1
  207. package/dist/core/text/wrap.js +37 -20
  208. package/dist/core/text/wrap.js.map +1 -1
  209. package/dist/core/theme/color.d.ts +32 -0
  210. package/dist/core/theme/color.d.ts.map +1 -1
  211. package/dist/core/theme/color.js +68 -0
  212. package/dist/core/theme/color.js.map +1 -1
  213. package/dist/core/theme/doctor.d.ts +37 -0
  214. package/dist/core/theme/doctor.d.ts.map +1 -0
  215. package/dist/core/theme/doctor.js +175 -0
  216. package/dist/core/theme/doctor.js.map +1 -0
  217. package/dist/core/theme/dtcg.d.ts.map +1 -1
  218. package/dist/core/theme/dtcg.js +10 -1
  219. package/dist/core/theme/dtcg.js.map +1 -1
  220. package/dist/core/theme/graph-types.d.ts +5 -0
  221. package/dist/core/theme/graph-types.d.ts.map +1 -1
  222. package/dist/core/theme/graph.d.ts.map +1 -1
  223. package/dist/core/theme/graph.js +52 -5
  224. package/dist/core/theme/graph.js.map +1 -1
  225. package/dist/core/theme/index.d.ts +4 -1
  226. package/dist/core/theme/index.d.ts.map +1 -1
  227. package/dist/core/theme/index.js +3 -1
  228. package/dist/core/theme/index.js.map +1 -1
  229. package/dist/core/theme/presets.d.ts +3 -2
  230. package/dist/core/theme/presets.d.ts.map +1 -1
  231. package/dist/core/theme/presets.js +22 -29
  232. package/dist/core/theme/presets.js.map +1 -1
  233. package/dist/core/theme/tokens.d.ts +1 -1
  234. package/dist/core/theme/tokens.d.ts.map +1 -1
  235. package/dist/factory.d.ts +3 -0
  236. package/dist/factory.d.ts.map +1 -1
  237. package/dist/factory.js +4 -6
  238. package/dist/factory.js.map +1 -1
  239. package/dist/index.d.ts +23 -6
  240. package/dist/index.d.ts.map +1 -1
  241. package/dist/index.js +25 -6
  242. package/dist/index.js.map +1 -1
  243. package/dist/ports/context.d.ts +6 -1
  244. package/dist/ports/context.d.ts.map +1 -1
  245. package/dist/ports/surface.d.ts +6 -4
  246. package/dist/ports/surface.d.ts.map +1 -1
  247. package/dist/ports/surface.js +40 -23
  248. package/dist/ports/surface.js.map +1 -1
  249. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"differ.js","sourceRoot":"","sources":["../../../src/core/render/differ.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"differ.js","sourceRoot":"","sources":["../../../src/core/render/differ.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-viewport.d.ts","sourceRoot":"","sources":["../../src/core/runtime-viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe,CAKzE;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,EAAE,IAAI,EAAE,CAAC,GAAG,WAAW,CAoCtG;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,eAAe,CAIjB"}
1
+ {"version":3,"file":"runtime-viewport.d.ts","sourceRoot":"","sources":["../../src/core/runtime-viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe,CAKzE;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,EAAE,IAAI,EAAE,CAAC,GAAG,WAAW,CAoCtG;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,eAAe,CAIjB"}
@@ -1,3 +1,4 @@
1
+ import { sanitizeNonNegativeInt } from './numeric.js';
1
2
  /**
2
3
  * Clamp a terminal dimension to a non-negative integer.
3
4
  *
@@ -6,9 +7,7 @@
6
7
  * non-negative cell counts.
7
8
  */
8
9
  export function sanitizeRuntimeDimension(value) {
9
- if (!Number.isFinite(value))
10
- return 0;
11
- return Math.max(0, Math.floor(value));
10
+ return sanitizeNonNegativeInt(value, 0);
12
11
  }
13
12
  /** Read the current runtime viewport using Bijou's shared dimension rules. */
14
13
  export function readRuntimeViewport(runtime) {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-viewport.js","sourceRoot":"","sources":["../../src/core/runtime-viewport.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,OAAoB;IACtD,OAAO;QACL,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC;QAClD,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAAqC,IAAO;IACvF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;IACjC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;KACpB,CAAC;IACF,MAAM,OAAO,GAAgB;QAC3B,GAAG,CAAC,GAAW;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,WAAW;YACb,OAAO,WAAW,CAAC,WAAW,CAAC;QACjC,CAAC;QACD,IAAI,UAAU;YACZ,OAAO,WAAW,CAAC,UAAU,CAAC;QAChC,CAAC;QACD,IAAI,OAAO;YACT,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,CAAC,KAAa;YACvB,KAAK,CAAC,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,IAAI;YACN,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,IAAI,CAAC,KAAa;YACpB,KAAK,CAAC,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,WAAW;YACb,OAAO,WAAW,CAAC,WAAW,CAAC;QACjC,CAAC;KACF,CAAC;IAEF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAoB,EACpB,OAAe,EACf,IAAY;IAEZ,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"runtime-viewport.js","sourceRoot":"","sources":["../../src/core/runtime-viewport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAQtD;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,OAAO,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,OAAoB;IACtD,OAAO;QACL,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC;QAClD,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAAqC,IAAO;IACvF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;IACjC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;KACpB,CAAC;IACF,MAAM,OAAO,GAAgB;QAC3B,GAAG,CAAC,GAAW;YACb,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,WAAW;YACb,OAAO,WAAW,CAAC,WAAW,CAAC;QACjC,CAAC;QACD,IAAI,UAAU;YACZ,OAAO,WAAW,CAAC,UAAU,CAAC;QAChC,CAAC;QACD,IAAI,OAAO;YACT,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,CAAC,KAAa;YACvB,KAAK,CAAC,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,IAAI;YACN,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,IAAI,CAAC,KAAa;YACpB,KAAK,CAAC,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,WAAW;YACb,OAAO,WAAW,CAAC,WAAW,CAAC;QACjC,CAAC;KACF,CAAC;IAEF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAoB,EACpB,OAAe,EACf,IAAY;IAEZ,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { type BlockDefinition, type BlockRenderInput } from './block-metadata.js';
2
+ import type { BindingFact, BindingIssueSeverity, DeepReadonly } from './binding.js';
3
+ declare const BLOCK_SCHEMA_ADAPTER_BRAND: unique symbol;
4
+ declare const SCHEMA_BOUND_BLOCK_BRAND: unique symbol;
5
+ export interface BlockSchemaIssue {
6
+ readonly severity: BindingIssueSeverity;
7
+ readonly code: string;
8
+ readonly message: string;
9
+ readonly path?: string;
10
+ }
11
+ export type BlockSchemaResult<Data> = {
12
+ readonly ok: true;
13
+ readonly data: DeepReadonly<Data>;
14
+ } | {
15
+ readonly ok: false;
16
+ readonly issues: readonly BlockSchemaIssue[];
17
+ };
18
+ export interface BlockSchemaDescription {
19
+ readonly requiredFields?: readonly string[];
20
+ readonly optionalFields?: readonly string[];
21
+ readonly redactedFields?: readonly string[];
22
+ readonly facts?: readonly BindingFact[];
23
+ }
24
+ export interface BlockSchemaAdapterInput<Data> {
25
+ readonly id: string;
26
+ readonly parse: (input: unknown) => BlockSchemaResult<Data>;
27
+ readonly describe?: () => BlockSchemaDescription;
28
+ }
29
+ export interface BlockSchemaAdapter<Data = unknown> {
30
+ readonly [BLOCK_SCHEMA_ADAPTER_BRAND]: true;
31
+ readonly id: string;
32
+ readonly parse: (input: unknown) => BlockSchemaResult<Data>;
33
+ readonly describe?: () => BlockSchemaDescription;
34
+ }
35
+ export type SchemaBlockBindOutput<Config = unknown> = BlockRenderInput<Config> | {
36
+ readonly input: BlockRenderInput<Config>;
37
+ readonly facts?: readonly BindingFact[];
38
+ };
39
+ export interface SchemaBoundBlockDefinitionInput<Data = unknown, Config = unknown, Output = unknown> {
40
+ readonly block: BlockDefinition<Config, Output>;
41
+ readonly schema: BlockSchemaAdapter<Data>;
42
+ readonly bind: (data: DeepReadonly<Data>) => SchemaBlockBindOutput<Config>;
43
+ }
44
+ export interface SchemaBoundBlockDefinition<Data = unknown, Config = unknown, Output = unknown> extends SchemaBoundBlockDefinitionInput<Data, Config, Output> {
45
+ readonly [SCHEMA_BOUND_BLOCK_BRAND]: true;
46
+ }
47
+ export type SchemaBlockBindResult<Config = unknown> = {
48
+ readonly ok: true;
49
+ readonly input: DeepReadonly<BlockRenderInput<Config>>;
50
+ readonly facts: readonly BindingFact[];
51
+ } | {
52
+ readonly ok: false;
53
+ readonly issues: readonly BlockSchemaIssue[];
54
+ readonly facts: readonly BindingFact[];
55
+ };
56
+ export declare function defineBlockSchemaAdapter<Data>(input: BlockSchemaAdapterInput<Data>): BlockSchemaAdapter<Data>;
57
+ export declare function isBlockSchemaAdapter(value: unknown): value is BlockSchemaAdapter;
58
+ export declare function parseBlockSchema<Data>(schema: BlockSchemaAdapter<Data>, input: unknown): BlockSchemaResult<Data>;
59
+ export declare function defineSchemaBlock<Data = unknown, Config = unknown, Output = unknown>(input: SchemaBoundBlockDefinitionInput<Data, Config, Output>): SchemaBoundBlockDefinition<Data, Config, Output>;
60
+ export declare function isSchemaBoundBlockDefinition(value: unknown): value is SchemaBoundBlockDefinition;
61
+ export declare function bindSchemaBlockInput<Data = unknown, Config = unknown, Output = unknown>(block: SchemaBoundBlockDefinition<Data, Config, Output>, input: unknown): SchemaBlockBindResult<Config>;
62
+ export {};
63
+ //# sourceMappingURL=schema-block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-block.d.ts","sourceRoot":"","sources":["../../src/core/schema-block.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,YAAY,EACb,MAAM,cAAc,CAAC;AAEtB,QAAA,MAAM,0BAA0B,EAAE,OAAO,MAAqC,CAAC;AAC/E,QAAA,MAAM,wBAAwB,EAAE,OAAO,MAA6C,CAAC;AASrF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,iBAAiB,CAAC,IAAI,IAC9B;IACA,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;CACnC,GACC;IACA,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC9C,CAAC;AAEJ,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB,CAAC,IAAI;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,sBAAsB,CAAC;CAClD;AAED,MAAM,WAAW,kBAAkB,CAAC,IAAI,GAAG,OAAO;IAChD,QAAQ,CAAC,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,sBAAsB,CAAC;CAClD;AAED,MAAM,MAAM,qBAAqB,CAAC,MAAM,GAAG,OAAO,IAC9C,gBAAgB,CAAC,MAAM,CAAC,GACxB;IACA,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;CACzC,CAAC;AAEJ,MAAM,WAAW,+BAA+B,CAC9C,IAAI,GAAG,OAAO,EACd,MAAM,GAAG,OAAO,EAChB,MAAM,GAAG,OAAO;IAEhB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,qBAAqB,CAAC,MAAM,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,0BAA0B,CACzC,IAAI,GAAG,OAAO,EACd,MAAM,GAAG,OAAO,EAChB,MAAM,GAAG,OAAO,CAChB,SAAQ,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;IAC7D,QAAQ,CAAC,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAC;CAC3C;AAED,MAAM,MAAM,qBAAqB,CAAC,MAAM,GAAG,OAAO,IAC9C;IACA,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;CACxC,GACC;IACA,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;CACxC,CAAC;AAEJ,wBAAgB,wBAAwB,CAAC,IAAI,EAC3C,KAAK,EAAE,uBAAuB,CAAC,IAAI,CAAC,GACnC,kBAAkB,CAAC,IAAI,CAAC,CA0B1B;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAOhF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EACnC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAChC,KAAK,EAAE,OAAO,GACb,iBAAiB,CAAC,IAAI,CAAC,CAMzB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,GAAG,OAAO,EACd,MAAM,GAAG,OAAO,EAChB,MAAM,GAAG,OAAO,EAEhB,KAAK,EAAE,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAC3D,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAuBlD;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,0BAA0B,CAOrC;AAED,wBAAgB,oBAAoB,CAClC,IAAI,GAAG,OAAO,EACd,MAAM,GAAG,OAAO,EAChB,MAAM,GAAG,OAAO,EAEhB,KAAK,EAAE,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EACvD,KAAK,EAAE,OAAO,GACb,qBAAqB,CAAC,MAAM,CAAC,CAoB/B"}
@@ -0,0 +1,361 @@
1
+ import { isBlockDefinition, } from './block-metadata.js';
2
+ const BLOCK_SCHEMA_ADAPTER_BRAND = Symbol('BlockSchemaAdapter');
3
+ const SCHEMA_BOUND_BLOCK_BRAND = Symbol('SchemaBoundBlockDefinition');
4
+ const BINDING_ISSUE_SEVERITIES = [
5
+ 'info',
6
+ 'warning',
7
+ 'error',
8
+ ];
9
+ const EMPTY_BINDING_FACTS = Object.freeze([]);
10
+ export function defineBlockSchemaAdapter(input) {
11
+ if (!isObjectLike(input)) {
12
+ throw new Error('block schema adapter: input must be an object');
13
+ }
14
+ const id = normalizeRequiredText({
15
+ scope: 'block schema adapter',
16
+ field: 'id',
17
+ value: input.id,
18
+ });
19
+ if (typeof input.parse !== 'function') {
20
+ throw new Error('block schema adapter: parse must be a function');
21
+ }
22
+ const parse = input.parse;
23
+ const describe = input.describe;
24
+ const adapter = {
25
+ id,
26
+ parse: (value) => normalizeSchemaResult(parse(value)),
27
+ ...(describe === undefined
28
+ ? {}
29
+ : { describe: () => normalizeSchemaDescription(describe() ?? {}) }),
30
+ };
31
+ Object.defineProperty(adapter, BLOCK_SCHEMA_ADAPTER_BRAND, { value: true });
32
+ return Object.freeze(adapter);
33
+ }
34
+ export function isBlockSchemaAdapter(value) {
35
+ return Boolean(value
36
+ && typeof value === 'object'
37
+ && Object.prototype.hasOwnProperty.call(value, BLOCK_SCHEMA_ADAPTER_BRAND)
38
+ && value[BLOCK_SCHEMA_ADAPTER_BRAND] === true);
39
+ }
40
+ export function parseBlockSchema(schema, input) {
41
+ if (!isBlockSchemaAdapter(schema)) {
42
+ throw new Error('block schema parse: schema must be created by defineBlockSchemaAdapter()');
43
+ }
44
+ return schema.parse(input);
45
+ }
46
+ export function defineSchemaBlock(input) {
47
+ if (!isObjectLike(input)) {
48
+ throw new Error('schema block: input must be an object');
49
+ }
50
+ if (!isBlockDefinition(input.block)) {
51
+ throw new Error('schema block: block must be created by defineBlock()');
52
+ }
53
+ if (!isBlockSchemaAdapter(input.schema)) {
54
+ throw new Error('schema block: schema must be created by defineBlockSchemaAdapter()');
55
+ }
56
+ if (typeof input.bind !== 'function') {
57
+ throw new Error('schema block: bind must be a function');
58
+ }
59
+ const block = {
60
+ block: input.block,
61
+ schema: input.schema,
62
+ bind: input.bind,
63
+ };
64
+ Object.defineProperty(block, SCHEMA_BOUND_BLOCK_BRAND, { value: true });
65
+ return Object.freeze(block);
66
+ }
67
+ export function isSchemaBoundBlockDefinition(value) {
68
+ return Boolean(value
69
+ && typeof value === 'object'
70
+ && Object.prototype.hasOwnProperty.call(value, SCHEMA_BOUND_BLOCK_BRAND)
71
+ && value[SCHEMA_BOUND_BLOCK_BRAND] === true);
72
+ }
73
+ export function bindSchemaBlockInput(block, input) {
74
+ if (!isSchemaBoundBlockDefinition(block)) {
75
+ throw new Error('schema block bind: block must be created by defineSchemaBlock()');
76
+ }
77
+ const parsed = parseBlockSchema(block.schema, input);
78
+ if (!parsed.ok) {
79
+ return Object.freeze({
80
+ ok: false,
81
+ issues: parsed.issues,
82
+ facts: EMPTY_BINDING_FACTS,
83
+ });
84
+ }
85
+ const output = normalizeBindOutput(block.bind(parsed.data));
86
+ return Object.freeze({
87
+ ok: true,
88
+ input: output.input,
89
+ facts: output.facts,
90
+ });
91
+ }
92
+ function normalizeSchemaResult(result) {
93
+ if (!isObjectLike(result)) {
94
+ throw new Error('block schema result: result must be an object');
95
+ }
96
+ if (result.ok === true) {
97
+ if (!Object.prototype.hasOwnProperty.call(result, 'data')) {
98
+ throw new Error('block schema result: data is required for ok result');
99
+ }
100
+ return Object.freeze({
101
+ ok: true,
102
+ data: freezeInertData(result.data, 'data'),
103
+ });
104
+ }
105
+ if (result.ok === false) {
106
+ return Object.freeze({
107
+ ok: false,
108
+ issues: freezeSchemaIssues(result.issues),
109
+ });
110
+ }
111
+ throw new Error('block schema result: ok must be true or false');
112
+ }
113
+ function normalizeSchemaDescription(description) {
114
+ if (!isObjectLike(description)) {
115
+ throw new Error('block schema description: description must be an object');
116
+ }
117
+ return deepFreeze({
118
+ requiredFields: freezeStringList(description.requiredFields, 'requiredFields'),
119
+ optionalFields: freezeStringList(description.optionalFields, 'optionalFields'),
120
+ redactedFields: freezeStringList(description.redactedFields, 'redactedFields'),
121
+ facts: freezeFacts(description.facts, 'block schema description'),
122
+ });
123
+ }
124
+ function normalizeBindOutput(output) {
125
+ if (!isObjectLike(output)) {
126
+ throw new Error('schema block bind: bind output must be an object');
127
+ }
128
+ if (!isPlainObject(output)) {
129
+ throw new Error('schema block bind: bind output must be a plain object');
130
+ }
131
+ if (Object.prototype.hasOwnProperty.call(output, 'input')) {
132
+ assertOnlyKeys(output, ['input', 'facts'], {
133
+ scope: 'schema block bind',
134
+ label: 'bind output',
135
+ });
136
+ const wrappedOutput = output;
137
+ if (!isObjectLike(wrappedOutput.input)) {
138
+ throw new Error('schema block bind: input must be an object');
139
+ }
140
+ if (!isPlainObject(wrappedOutput.input)) {
141
+ throw new Error('schema block bind: input must be a plain object');
142
+ }
143
+ assertOnlyKeys(wrappedOutput.input, ['config', 'slots', 'mode'], {
144
+ scope: 'schema block bind',
145
+ label: 'input',
146
+ });
147
+ return {
148
+ input: freezeRenderInput(wrappedOutput.input),
149
+ facts: freezeFacts(wrappedOutput.facts, 'schema block bind'),
150
+ };
151
+ }
152
+ assertOnlyKeys(output, ['config', 'slots', 'mode'], {
153
+ scope: 'schema block bind',
154
+ label: 'bind output',
155
+ });
156
+ return {
157
+ input: freezeRenderInput(output),
158
+ facts: EMPTY_BINDING_FACTS,
159
+ };
160
+ }
161
+ function freezeRenderInput(input) {
162
+ const normalizedMode = normalizeOutputMode(input.mode);
163
+ const normalizedInput = {
164
+ ...(input.config === undefined
165
+ ? {}
166
+ : { config: freezeInertData(input.config, 'input.config') }),
167
+ ...(input.slots === undefined
168
+ ? {}
169
+ : { slots: freezeInertData(input.slots, 'input.slots') }),
170
+ ...(normalizedMode === undefined ? {} : { mode: normalizedMode }),
171
+ };
172
+ return Object.freeze(normalizedInput);
173
+ }
174
+ function freezeSchemaIssues(issues) {
175
+ if (issues === undefined) {
176
+ throw new Error('block schema result: failed result requires at least one issue');
177
+ }
178
+ if (!Array.isArray(issues)) {
179
+ throw new Error('block schema result: issues must be an array');
180
+ }
181
+ if (issues.length === 0) {
182
+ throw new Error('block schema result: failed result requires at least one issue');
183
+ }
184
+ return deepFreeze(issues.map((issue, index) => normalizeIssue(issue, index)));
185
+ }
186
+ function normalizeIssue(issue, index) {
187
+ if (!isObjectLike(issue)) {
188
+ throw new Error(`block schema issue: issue at index ${index} must be an object`);
189
+ }
190
+ if (!BINDING_ISSUE_SEVERITIES.includes(issue.severity)) {
191
+ throw new Error(`block schema issue: unsupported severity ${String(issue.severity)} at index ${index}`);
192
+ }
193
+ return {
194
+ severity: issue.severity,
195
+ code: normalizeRequiredText({
196
+ scope: 'block schema issue',
197
+ field: `issues[${index}].code`,
198
+ value: issue.code,
199
+ }),
200
+ message: normalizeRequiredText({
201
+ scope: 'block schema issue',
202
+ field: `issues[${index}].message`,
203
+ value: issue.message,
204
+ }),
205
+ path: optionalTrimmedText(issue.path, {
206
+ scope: 'block schema issue',
207
+ field: `issues[${index}].path`,
208
+ }),
209
+ };
210
+ }
211
+ function freezeFacts(facts, scope = 'block schema facts') {
212
+ if (facts === undefined) {
213
+ return EMPTY_BINDING_FACTS;
214
+ }
215
+ if (!Array.isArray(facts)) {
216
+ throw new Error(`${scope}: facts must be an array`);
217
+ }
218
+ if (facts.length === 0) {
219
+ return EMPTY_BINDING_FACTS;
220
+ }
221
+ return deepFreeze([...facts]);
222
+ }
223
+ function freezeStringList(values, field) {
224
+ if (values === undefined) {
225
+ return undefined;
226
+ }
227
+ if (!Array.isArray(values)) {
228
+ throw new Error(`block schema description: ${field} must be an array`);
229
+ }
230
+ return Object.freeze(values.map((value, index) => normalizeRequiredText({
231
+ scope: 'block schema description',
232
+ field: `${field}[${index}]`,
233
+ value,
234
+ })));
235
+ }
236
+ function normalizeOutputMode(value) {
237
+ if (value === undefined) {
238
+ return undefined;
239
+ }
240
+ if (value === 'interactive'
241
+ || value === 'static'
242
+ || value === 'pipe'
243
+ || value === 'accessible') {
244
+ return value;
245
+ }
246
+ throw new Error(`schema block bind: unsupported mode ${String(value)}`);
247
+ }
248
+ function normalizeRequiredText(options) {
249
+ if (typeof options.value !== 'string') {
250
+ throw new Error(`${options.scope}: ${options.field} must be a string`);
251
+ }
252
+ const normalized = options.value.trim();
253
+ if (normalized === '') {
254
+ throw new Error(`${options.scope}: ${options.field} is required`);
255
+ }
256
+ return normalized;
257
+ }
258
+ function optionalTrimmedText(value, options) {
259
+ if (value === undefined) {
260
+ return undefined;
261
+ }
262
+ if (typeof value !== 'string') {
263
+ throw new Error(`${options.scope}: ${options.field} must be a string`);
264
+ }
265
+ const normalized = value.trim();
266
+ return normalized === '' ? undefined : normalized;
267
+ }
268
+ function isObjectLike(value) {
269
+ return value !== null && typeof value === 'object';
270
+ }
271
+ function assertOnlyKeys(value, allowedKeys, options) {
272
+ for (const key of Reflect.ownKeys(value)) {
273
+ if (typeof key !== 'string' || !allowedKeys.includes(key)) {
274
+ throw new Error(`${options.scope}: unsupported ${options.label} key ${keyText(key)}`);
275
+ }
276
+ }
277
+ }
278
+ function keyText(key) {
279
+ return typeof key === 'string' ? key : key.toString();
280
+ }
281
+ function freezeInertData(value, path) {
282
+ return deepFreeze(cloneInertData(value, path));
283
+ }
284
+ function cloneInertData(value, path, seen = new WeakSet()) {
285
+ if (value === null
286
+ || typeof value === 'string'
287
+ || typeof value === 'number'
288
+ || typeof value === 'boolean') {
289
+ return value;
290
+ }
291
+ if (typeof value === 'bigint' || typeof value === 'symbol' || typeof value === 'function') {
292
+ throw new Error(`block schema data: unsupported ${typeof value} at ${path}`);
293
+ }
294
+ if (value === undefined) {
295
+ throw new Error(`block schema data: unsupported undefined at ${path}`);
296
+ }
297
+ if (typeof value !== 'object') {
298
+ throw new Error(`block schema data: unsupported ${typeof value} at ${path}`);
299
+ }
300
+ const objectValue = value;
301
+ if (seen.has(objectValue)) {
302
+ throw new Error(`block schema data: circular reference at ${path}`);
303
+ }
304
+ seen.add(objectValue);
305
+ try {
306
+ if (Array.isArray(value)) {
307
+ return value.map((item, index) => cloneInertData(item, `${path}[${index}]`, seen));
308
+ }
309
+ if (!isPlainObject(value)) {
310
+ throw new Error(`block schema data: unsupported ${objectKind(value)} at ${path}`);
311
+ }
312
+ const clone = Object.create(Object.getPrototypeOf(value));
313
+ const descriptors = Object.getOwnPropertyDescriptors(value);
314
+ for (const key of Reflect.ownKeys(descriptors)) {
315
+ if (typeof key === 'symbol') {
316
+ throw new Error(`block schema data: unsupported symbol property at ${path}`);
317
+ }
318
+ const propertyPath = `${path}.${key}`;
319
+ const descriptor = descriptors[key];
320
+ if (descriptor === undefined) {
321
+ continue;
322
+ }
323
+ if (!descriptor.enumerable) {
324
+ throw new Error(`block schema data: unsupported non-enumerable property at ${propertyPath}`);
325
+ }
326
+ if ('get' in descriptor || 'set' in descriptor) {
327
+ throw new Error(`block schema data: unsupported accessor at ${propertyPath}`);
328
+ }
329
+ clone[key] = cloneInertData(descriptor.value, propertyPath, seen);
330
+ }
331
+ return clone;
332
+ }
333
+ finally {
334
+ seen.delete(objectValue);
335
+ }
336
+ }
337
+ function isPlainObject(value) {
338
+ const prototype = Object.getPrototypeOf(value);
339
+ return prototype === Object.prototype || prototype === null;
340
+ }
341
+ function objectKind(value) {
342
+ return Object.prototype.toString.call(value).slice(8, -1);
343
+ }
344
+ function deepFreeze(value, seen = new WeakSet()) {
345
+ if (value === null || typeof value !== 'object') {
346
+ return value;
347
+ }
348
+ const objectValue = value;
349
+ if (seen.has(objectValue)) {
350
+ return value;
351
+ }
352
+ seen.add(objectValue);
353
+ for (const key of Reflect.ownKeys(objectValue)) {
354
+ const descriptor = Object.getOwnPropertyDescriptor(objectValue, key);
355
+ if (descriptor !== undefined && 'value' in descriptor) {
356
+ deepFreeze(descriptor.value, seen);
357
+ }
358
+ }
359
+ return Object.freeze(value);
360
+ }
361
+ //# sourceMappingURL=schema-block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-block.js","sourceRoot":"","sources":["../../src/core/schema-block.ts"],"names":[],"mappings":"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"}