@adobe/data 0.7.4 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (621) hide show
  1. package/dist/blob/blob-handle.d.ts +2 -2
  2. package/dist/blob/blob-meta.d.ts +2 -2
  3. package/dist/cache/blob-store.d.ts +2 -2
  4. package/dist/cache/data-cache.d.ts +1 -1
  5. package/dist/cache/functions/memoize.d.ts +1 -3
  6. package/dist/cache/functions/memoize.js +1 -3
  7. package/dist/cache/functions/memoize.js.map +1 -1
  8. package/dist/cache/managed-array.d.ts +2 -2
  9. package/dist/cache/managed-array.js.map +1 -1
  10. package/dist/cache/memory-allocator.d.ts +1 -1
  11. package/dist/cache/memory-allocator.js +2 -2
  12. package/dist/cache/memory-allocator.js.map +1 -1
  13. package/dist/ecs/archetype/create-archetype.d.ts +2 -2
  14. package/dist/ecs/archetype/create-archetype.js.map +1 -1
  15. package/dist/ecs/archetype/create-archetype.test.js +9 -9
  16. package/dist/ecs/archetype/create-archetype.test.js.map +1 -1
  17. package/dist/ecs/archetype/delete-row.test.js +4 -4
  18. package/dist/ecs/archetype/delete-row.test.js.map +1 -1
  19. package/dist/ecs/component-schemas.d.ts +1 -1
  20. package/dist/ecs/database/create-database.test.js +6 -6
  21. package/dist/ecs/database/create-database.test.js.map +1 -1
  22. package/dist/ecs/database/database-schema/create-database-schema.d.ts +1 -1
  23. package/dist/ecs/database/database-schema/database-schema.d.ts +1 -1
  24. package/dist/ecs/database/index.d.ts +1 -0
  25. package/dist/ecs/database/observe-dependent-value.js +3 -3
  26. package/dist/ecs/database/observe-dependent-value.js.map +1 -1
  27. package/dist/ecs/database/observe-select-entities.js +2 -2
  28. package/dist/ecs/database/observe-select-entities.js.map +1 -1
  29. package/dist/ecs/database/observe-select-entities.performance.test.js +6 -6
  30. package/dist/ecs/database/observe-select-entities.performance.test.js.map +1 -1
  31. package/dist/ecs/database/observe-select-entities.test.js +6 -6
  32. package/dist/ecs/database/observe-select-entities.test.js.map +1 -1
  33. package/dist/ecs/database/observed/create-observed-database.js +2 -2
  34. package/dist/ecs/database/observed/create-observed-database.js.map +1 -1
  35. package/dist/ecs/database/transactional-store/create-transactional-store.test.js +6 -6
  36. package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
  37. package/dist/ecs/entity-location-table/entity-location.d.ts +2 -2
  38. package/dist/ecs/entity-location-table/entity-location.js +3 -3
  39. package/dist/ecs/entity-location-table/entity-location.js.map +1 -1
  40. package/dist/ecs/entity.d.ts +2 -2
  41. package/dist/ecs/entity.js +2 -2
  42. package/dist/ecs/entity.js.map +1 -1
  43. package/dist/ecs/index.d.ts +3 -0
  44. package/dist/ecs/index.js.map +1 -1
  45. package/dist/ecs/resource-schemas.d.ts +1 -1
  46. package/dist/ecs/store/core/core.d.ts +1 -1
  47. package/dist/ecs/store/core/create-core.d.ts +2 -2
  48. package/dist/ecs/store/core/create-core.js +2 -2
  49. package/dist/ecs/store/core/create-core.js.map +1 -1
  50. package/dist/ecs/store/core/create-core.test.js +6 -6
  51. package/dist/ecs/store/core/create-core.test.js.map +1 -1
  52. package/dist/ecs/store/core/select-entities.test.js +3 -3
  53. package/dist/ecs/store/core/select-entities.test.js.map +1 -1
  54. package/dist/ecs/store/create-store.d.ts +1 -1
  55. package/dist/ecs/store/create-store.js.map +1 -1
  56. package/dist/ecs/store/create-store.test.js +8 -8
  57. package/dist/ecs/store/create-store.test.js.map +1 -1
  58. package/dist/ecs/store/index.d.ts +2 -0
  59. package/dist/ecs/store/store.d.ts +1 -1
  60. package/dist/ecs/undo-redo-service/create-undo-redo-service.js +5 -7
  61. package/dist/ecs/undo-redo-service/create-undo-redo-service.js.map +1 -1
  62. package/dist/ecs/undo-redo-service/create-undo-redo-service.test.js +4 -4
  63. package/dist/ecs/undo-redo-service/create-undo-redo-service.test.js.map +1 -1
  64. package/dist/ecs/undo-redo-service/undo-redo-service.d.ts +1 -1
  65. package/dist/index.d.ts +2 -2
  66. package/dist/is-data.d.ts +3 -4
  67. package/dist/lit/hooks/use-drag-observe.d.ts +2 -1
  68. package/dist/lit/hooks/use-drag-observe.js +2 -2
  69. package/dist/lit/hooks/use-drag-observe.js.map +1 -1
  70. package/dist/lit/hooks/use-drag-transaction.js +3 -3
  71. package/dist/lit/hooks/use-drag-transaction.js.map +1 -1
  72. package/dist/lit/hooks/use-draggable.d.ts +1 -1
  73. package/dist/lit/hooks/use-draggable.js +1 -1
  74. package/dist/lit/hooks/use-draggable.js.map +1 -1
  75. package/dist/lit/hooks/use-observable-values.js +2 -2
  76. package/dist/lit/hooks/use-observable-values.js.map +1 -1
  77. package/dist/lit/index.d.ts +1 -0
  78. package/dist/math/aabb/center.d.ts +3 -0
  79. package/dist/math/aabb/center.js +6 -0
  80. package/dist/math/aabb/center.js.map +1 -0
  81. package/dist/math/aabb/face/aabb-face.test.js +55 -0
  82. package/dist/math/aabb/face/aabb-face.test.js.map +1 -0
  83. package/dist/math/aabb/face/functions.d.ts +47 -0
  84. package/dist/math/{face/face.js → aabb/face/functions.js} +66 -28
  85. package/dist/math/aabb/face/functions.js.map +1 -0
  86. package/dist/math/aabb/face/index.d.ts +4 -0
  87. package/dist/{ecs/world/world-schema/world-schema.js → math/aabb/face/index.js} +2 -2
  88. package/dist/math/aabb/face/index.js.map +1 -0
  89. package/dist/math/aabb/face/public.d.ts +2 -0
  90. package/dist/{ecs/entity/u32.js → math/aabb/face/public.js} +3 -3
  91. package/dist/math/aabb/face/public.js.map +1 -0
  92. package/dist/math/aabb/face/schema.d.ts +5 -0
  93. package/dist/math/aabb/face/schema.js +27 -0
  94. package/dist/math/aabb/face/schema.js.map +1 -0
  95. package/dist/math/aabb/index.d.ts +4 -0
  96. package/dist/{ecs/world/world-schema → math/aabb}/index.js +1 -2
  97. package/dist/math/aabb/index.js.map +1 -0
  98. package/dist/math/aabb/layout.d.ts +1 -0
  99. package/dist/math/aabb/layout.js +25 -0
  100. package/dist/math/aabb/layout.js.map +1 -0
  101. package/dist/math/aabb/line-intersection.d.ts +10 -0
  102. package/dist/math/aabb/line-intersection.js +42 -0
  103. package/dist/math/aabb/line-intersection.js.map +1 -0
  104. package/dist/math/aabb/line-intersection.test.js +1 -1
  105. package/dist/math/aabb/line-intersection.test.js.map +1 -1
  106. package/dist/math/aabb/public.d.ts +6 -0
  107. package/dist/math/aabb/public.js +28 -0
  108. package/dist/math/aabb/public.js.map +1 -0
  109. package/dist/math/aabb/schema.d.ts +33 -0
  110. package/dist/math/aabb/schema.js +36 -0
  111. package/dist/math/aabb/schema.js.map +1 -0
  112. package/dist/math/aabb/unit.d.ts +5 -0
  113. package/dist/math/aabb/unit.js +8 -0
  114. package/dist/math/aabb/unit.js.map +1 -0
  115. package/dist/math/f32/index.d.ts +4 -0
  116. package/dist/math/f32/index.js +23 -0
  117. package/dist/math/f32/index.js.map +1 -0
  118. package/dist/math/f32/public.d.ts +1 -0
  119. package/dist/math/{picking/pick-result.js → f32/public.js} +2 -2
  120. package/dist/math/f32/public.js.map +1 -0
  121. package/dist/math/f32/schema.d.ts +5 -0
  122. package/dist/math/f32/schema.js +27 -0
  123. package/dist/math/f32/schema.js.map +1 -0
  124. package/dist/math/f64/index.d.ts +4 -0
  125. package/dist/math/f64/index.js +2 -0
  126. package/dist/math/f64/index.js.map +1 -0
  127. package/dist/math/f64/public.d.ts +1 -0
  128. package/dist/math/f64/public.js +23 -0
  129. package/dist/math/f64/public.js.map +1 -0
  130. package/dist/math/f64/schema.d.ts +5 -0
  131. package/dist/math/f64/schema.js +6 -0
  132. package/dist/math/f64/schema.js.map +1 -0
  133. package/dist/math/i32/index.d.ts +4 -0
  134. package/dist/math/i32/index.js +23 -0
  135. package/dist/math/i32/index.js.map +1 -0
  136. package/dist/math/i32/public.d.ts +1 -0
  137. package/dist/math/i32/public.js +23 -0
  138. package/dist/math/i32/public.js.map +1 -0
  139. package/dist/math/i32/schema.d.ts +6 -0
  140. package/dist/math/i32/schema.js +28 -0
  141. package/dist/math/i32/schema.js.map +1 -0
  142. package/dist/math/index.d.ts +14 -13
  143. package/dist/math/index.js +14 -13
  144. package/dist/math/index.js.map +1 -1
  145. package/dist/math/line2/functions.d.ts +5 -0
  146. package/dist/math/line2/functions.js +61 -0
  147. package/dist/math/line2/functions.js.map +1 -0
  148. package/dist/math/line2/index.d.ts +4 -0
  149. package/dist/math/line2/index.js +23 -0
  150. package/dist/math/line2/index.js.map +1 -0
  151. package/dist/math/line2/layout.d.ts +1 -0
  152. package/dist/math/line2/layout.js +25 -0
  153. package/dist/math/line2/layout.js.map +1 -0
  154. package/dist/math/line2/public.d.ts +3 -0
  155. package/dist/math/line2/public.js +25 -0
  156. package/dist/math/line2/public.js.map +1 -0
  157. package/dist/math/line2/schema.d.ts +33 -0
  158. package/dist/math/line2/schema.js +37 -0
  159. package/dist/math/line2/schema.js.map +1 -0
  160. package/dist/math/line3/functions.d.ts +17 -0
  161. package/dist/math/line3/functions.js +70 -0
  162. package/dist/math/line3/functions.js.map +1 -0
  163. package/dist/math/line3/index.d.ts +4 -0
  164. package/dist/math/line3/index.js +23 -0
  165. package/dist/math/line3/index.js.map +1 -0
  166. package/dist/math/line3/layout.d.ts +1 -0
  167. package/dist/math/line3/layout.js +25 -0
  168. package/dist/math/line3/layout.js.map +1 -0
  169. package/dist/math/line3/public.d.ts +3 -0
  170. package/dist/math/line3/public.js +25 -0
  171. package/dist/math/line3/public.js.map +1 -0
  172. package/dist/math/line3/schema.d.ts +33 -0
  173. package/dist/math/line3/schema.js +37 -0
  174. package/dist/math/line3/schema.js.map +1 -0
  175. package/dist/math/mat4x4/functions.d.ts +23 -0
  176. package/dist/math/mat4x4/functions.js +236 -0
  177. package/dist/math/mat4x4/functions.js.map +1 -0
  178. package/dist/math/mat4x4/index.d.ts +26 -0
  179. package/dist/math/{picking → mat4x4}/index.js +23 -5
  180. package/dist/math/mat4x4/index.js.map +1 -0
  181. package/dist/math/mat4x4/layout.d.ts +1 -0
  182. package/dist/math/mat4x4/layout.js +25 -0
  183. package/dist/math/mat4x4/layout.js.map +1 -0
  184. package/dist/math/mat4x4/public.d.ts +3 -0
  185. package/dist/math/mat4x4/public.js +25 -0
  186. package/dist/math/mat4x4/public.js.map +1 -0
  187. package/dist/math/mat4x4/schema.d.ts +11 -0
  188. package/dist/math/mat4x4/schema.js +30 -0
  189. package/dist/math/mat4x4/schema.js.map +1 -0
  190. package/dist/math/plane/functions.d.ts +16 -0
  191. package/dist/math/plane/functions.js +55 -0
  192. package/dist/math/plane/functions.js.map +1 -0
  193. package/dist/math/plane/index.d.ts +4 -0
  194. package/dist/math/plane/index.js +23 -0
  195. package/dist/math/plane/index.js.map +1 -0
  196. package/dist/math/plane/layout.d.ts +1 -0
  197. package/dist/math/plane/layout.js +25 -0
  198. package/dist/math/plane/layout.js.map +1 -0
  199. package/dist/math/plane/public.d.ts +3 -0
  200. package/dist/math/plane/public.js +25 -0
  201. package/dist/math/plane/public.js.map +1 -0
  202. package/dist/math/plane/schema.d.ts +24 -0
  203. package/dist/math/plane/schema.js +34 -0
  204. package/dist/math/plane/schema.js.map +1 -0
  205. package/dist/math/quat/constants/functions.d.ts +43 -0
  206. package/dist/math/quat/constants/functions.js +258 -0
  207. package/dist/math/quat/constants/functions.js.map +1 -0
  208. package/dist/math/quat/functions.d.ts +43 -0
  209. package/dist/math/quat/functions.js +258 -0
  210. package/dist/math/quat/functions.js.map +1 -0
  211. package/dist/math/quat/index.d.ts +4 -0
  212. package/dist/math/quat/index.js +23 -0
  213. package/dist/math/quat/index.js.map +1 -0
  214. package/dist/math/quat/layout.d.ts +1 -0
  215. package/dist/math/quat/layout.js +25 -0
  216. package/dist/math/quat/layout.js.map +1 -0
  217. package/dist/math/quat/public.d.ts +3 -0
  218. package/dist/math/quat/public.js +25 -0
  219. package/dist/math/quat/public.js.map +1 -0
  220. package/dist/math/quat/schema.d.ts +11 -0
  221. package/dist/math/quat/schema.js +30 -0
  222. package/dist/math/quat/schema.js.map +1 -0
  223. package/dist/math/u32/index.d.ts +4 -0
  224. package/dist/math/u32/index.js +23 -0
  225. package/dist/math/u32/index.js.map +1 -0
  226. package/dist/math/u32/public.d.ts +1 -0
  227. package/dist/math/u32/public.js +23 -0
  228. package/dist/math/u32/public.js.map +1 -0
  229. package/dist/{ecs/entity/u32.d.ts → math/u32/schema.d.ts} +0 -2
  230. package/dist/math/u32/schema.js +28 -0
  231. package/dist/math/u32/schema.js.map +1 -0
  232. package/dist/math/vec2/functions.d.ts +48 -0
  233. package/dist/math/vec2/functions.js +104 -0
  234. package/dist/math/vec2/functions.js.map +1 -0
  235. package/dist/math/vec2/index.d.ts +4 -0
  236. package/dist/math/vec2/index.js +23 -0
  237. package/dist/math/vec2/index.js.map +1 -0
  238. package/dist/math/vec2/layout.d.ts +1 -0
  239. package/dist/math/vec2/layout.js +25 -0
  240. package/dist/math/vec2/layout.js.map +1 -0
  241. package/dist/math/vec2/public.d.ts +3 -0
  242. package/dist/math/vec2/public.js +25 -0
  243. package/dist/math/vec2/public.js.map +1 -0
  244. package/dist/math/vec2/schema.d.ts +11 -0
  245. package/dist/math/vec2/schema.js +30 -0
  246. package/dist/math/vec2/schema.js.map +1 -0
  247. package/dist/math/vec3/functions.d.ts +59 -0
  248. package/dist/math/vec3/functions.js +159 -0
  249. package/dist/math/vec3/functions.js.map +1 -0
  250. package/dist/math/vec3/index.d.ts +4 -0
  251. package/dist/math/vec3/index.js +23 -0
  252. package/dist/math/vec3/index.js.map +1 -0
  253. package/dist/math/vec3/layout.d.ts +1 -0
  254. package/dist/math/vec3/layout.js +25 -0
  255. package/dist/math/vec3/layout.js.map +1 -0
  256. package/dist/math/vec3/public.d.ts +3 -0
  257. package/dist/math/vec3/public.js +25 -0
  258. package/dist/math/vec3/public.js.map +1 -0
  259. package/dist/math/vec3/schema.d.ts +11 -0
  260. package/dist/math/vec3/schema.js +30 -0
  261. package/dist/math/vec3/schema.js.map +1 -0
  262. package/dist/math/vec4/functions.d.ts +49 -0
  263. package/dist/math/vec4/functions.js +150 -0
  264. package/dist/math/vec4/functions.js.map +1 -0
  265. package/dist/math/vec4/index.d.ts +4 -0
  266. package/dist/math/vec4/index.js +23 -0
  267. package/dist/math/vec4/index.js.map +1 -0
  268. package/dist/math/vec4/layout.d.ts +1 -0
  269. package/dist/math/vec4/layout.js +25 -0
  270. package/dist/math/vec4/layout.js.map +1 -0
  271. package/dist/math/vec4/public.d.ts +3 -0
  272. package/dist/math/vec4/public.js +25 -0
  273. package/dist/math/vec4/public.js.map +1 -0
  274. package/dist/math/vec4/schema.d.ts +11 -0
  275. package/dist/{ecs/world/index.js → math/vec4/schema.js} +9 -6
  276. package/dist/math/vec4/schema.js.map +1 -0
  277. package/dist/mutable.d.ts +3 -4
  278. package/dist/observe/create-event.d.ts +10 -0
  279. package/dist/observe/create-event.js +22 -0
  280. package/dist/observe/create-event.js.map +1 -0
  281. package/dist/observe/create-persisted-state.d.ts +1 -1
  282. package/dist/observe/create-persisted-state.js +2 -2
  283. package/dist/observe/create-persisted-state.js.map +1 -1
  284. package/dist/observe/create-query-state.d.ts +2 -3
  285. package/dist/observe/create-query-state.js +2 -2
  286. package/dist/observe/create-query-state.js.map +1 -1
  287. package/dist/observe/create-state.d.ts +7 -0
  288. package/dist/observe/create-state.js +27 -0
  289. package/dist/observe/create-state.js.map +1 -0
  290. package/dist/observe/from-array.d.ts +1 -1
  291. package/dist/observe/from-constant.d.ts +1 -1
  292. package/dist/observe/from-element-id.d.ts +1 -1
  293. package/dist/observe/from-element-properties-and-events.d.ts +1 -1
  294. package/dist/observe/from-element-property.d.ts +1 -1
  295. package/dist/observe/from-promise-with-error.d.ts +1 -1
  296. package/dist/observe/from-promise.d.ts +1 -1
  297. package/dist/observe/from-properties.d.ts +1 -1
  298. package/dist/observe/index.d.ts +16 -30
  299. package/dist/observe/index.js +1 -32
  300. package/dist/observe/index.js.map +1 -1
  301. package/dist/observe/observe.test.js +4 -4
  302. package/dist/observe/observe.test.js.map +1 -1
  303. package/dist/observe/public.d.ts +28 -0
  304. package/dist/{ecs/store/store-schema/create-store-schema-test.js → observe/public.js} +29 -12
  305. package/dist/observe/public.js.map +1 -0
  306. package/dist/observe/to-async-generator.d.ts +1 -1
  307. package/dist/observe/to-promise.d.ts +2 -2
  308. package/dist/observe/to-promise.js +1 -1
  309. package/dist/observe/to-properties.d.ts +1 -1
  310. package/dist/observe/with-async-map.d.ts +1 -1
  311. package/dist/observe/with-batch.d.ts +1 -1
  312. package/dist/observe/with-batch.test.js +5 -5
  313. package/dist/observe/with-batch.test.js.map +1 -1
  314. package/dist/observe/with-cache.d.ts +1 -1
  315. package/dist/observe/with-copy.d.ts +1 -1
  316. package/dist/observe/with-deduplicate-data.d.ts +1 -1
  317. package/dist/observe/with-deduplicate.d.ts +1 -1
  318. package/dist/observe/with-default.d.ts +1 -1
  319. package/dist/observe/with-filter.d.ts +1 -1
  320. package/dist/observe/with-lazy.d.ts +1 -1
  321. package/dist/observe/with-lazy.test.js +3 -3
  322. package/dist/observe/with-lazy.test.js.map +1 -1
  323. package/dist/observe/with-map-data.d.ts +1 -1
  324. package/dist/observe/with-map.d.ts +1 -1
  325. package/dist/observe/with-optional.d.ts +1 -1
  326. package/dist/observe/with-unwrap.d.ts +1 -1
  327. package/dist/old-ecs/action-ecs/action-ecs.js +2 -2
  328. package/dist/old-ecs/action-ecs/action-ecs.js.map +1 -1
  329. package/dist/old-ecs/action-ecs/action-ecs.test.js +3 -3
  330. package/dist/old-ecs/action-ecs/action-ecs.test.js.map +1 -1
  331. package/dist/old-ecs/action-ecs/action-types.d.ts +4 -4
  332. package/dist/old-ecs/core-ecs/core-ecs-serialization.test.js +3 -3
  333. package/dist/old-ecs/core-ecs/core-ecs-serialization.test.js.map +1 -1
  334. package/dist/old-ecs/core-ecs/core-ecs-types.d.ts +3 -3
  335. package/dist/old-ecs/core-ecs/core-ecs.js +2 -2
  336. package/dist/old-ecs/core-ecs/core-ecs.js.map +1 -1
  337. package/dist/old-ecs/core-ecs/core-ecs.test.js +2 -2
  338. package/dist/old-ecs/core-ecs/core-ecs.test.js.map +1 -1
  339. package/dist/old-ecs/ecs/ecs-types.d.ts +3 -3
  340. package/dist/old-ecs/ecs/ecs.test.js +3 -3
  341. package/dist/old-ecs/ecs/ecs.test.js.map +1 -1
  342. package/dist/old-ecs/entity.d.ts +2 -2
  343. package/dist/old-ecs/entity.js +2 -2
  344. package/dist/old-ecs/entity.js.map +1 -1
  345. package/dist/old-ecs/transaction-ecs/transaction-types.d.ts +4 -4
  346. package/dist/perftest/ecs-perf.js +11 -11
  347. package/dist/perftest/ecs-perf.js.map +1 -1
  348. package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.js +3 -3
  349. package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.js.map +1 -1
  350. package/dist/samples/todo/services/dependent-state-service/create-dependent-state-service.d.ts +3 -3
  351. package/dist/samples/todo/services/dependent-state-service/dependent-state/all-todos.d.ts +1 -1
  352. package/dist/samples/todo/services/dependent-state-service/dependent-state/complete-todos.d.ts +1 -1
  353. package/dist/samples/todo/services/dependent-state-service/dependent-state/incomplete-todos.d.ts +1 -1
  354. package/dist/samples/todo/services/state-service/create-todo-database.d.ts +2 -2
  355. package/dist/samples/todo/services/state-service/create-todo-store.d.ts +2 -2
  356. package/dist/samples/todo/services/state-service/create-todo-store.js +5 -4
  357. package/dist/samples/todo/services/state-service/create-todo-store.js.map +1 -1
  358. package/dist/schema/FromSchemas.d.ts +4 -0
  359. package/dist/schema/FromSchemas.js +2 -0
  360. package/dist/schema/FromSchemas.js.map +1 -0
  361. package/dist/schema/boolean/index.d.ts +4 -0
  362. package/dist/schema/boolean/index.js +23 -0
  363. package/dist/schema/boolean/index.js.map +1 -0
  364. package/dist/schema/boolean/public.d.ts +1 -0
  365. package/dist/schema/boolean/public.js +23 -0
  366. package/dist/schema/boolean/public.js.map +1 -0
  367. package/dist/schema/boolean/schema.d.ts +3 -0
  368. package/dist/schema/boolean/schema.js +4 -0
  369. package/dist/schema/boolean/schema.js.map +1 -0
  370. package/dist/schema/from-schemas.d.ts +5 -0
  371. package/dist/schema/from-schemas.js +2 -0
  372. package/dist/schema/from-schemas.js.map +1 -0
  373. package/dist/schema/index.d.ts +9 -8
  374. package/dist/schema/index.js +6 -7
  375. package/dist/schema/index.js.map +1 -1
  376. package/dist/schema/public.d.ts +4 -0
  377. package/dist/schema/public.js +26 -0
  378. package/dist/schema/public.js.map +1 -0
  379. package/dist/schema/schema copy.d.ts +147 -0
  380. package/dist/schema/schema copy.js +34 -0
  381. package/dist/schema/schema copy.js.map +1 -0
  382. package/dist/schema/schema.d.ts +2 -80
  383. package/dist/schema/schema.js +0 -10
  384. package/dist/schema/schema.js.map +1 -1
  385. package/dist/schema/time/index.d.ts +4 -0
  386. package/dist/schema/time/index.js +23 -0
  387. package/dist/schema/time/index.js.map +1 -0
  388. package/dist/schema/time/public.d.ts +1 -0
  389. package/dist/schema/time/public.js +23 -0
  390. package/dist/schema/time/public.js.map +1 -0
  391. package/dist/schema/time/schema.d.ts +5 -0
  392. package/dist/schema/time/schema.js +24 -0
  393. package/dist/schema/time/schema.js.map +1 -0
  394. package/dist/schema/to-type.d.ts +77 -0
  395. package/dist/schema/to-type.js +33 -0
  396. package/dist/schema/to-type.js.map +1 -0
  397. package/dist/schema/to-vertex-buffer-layout.d.ts +2 -2
  398. package/dist/schema/to-vertex-buffer-layout.js +28 -14
  399. package/dist/schema/to-vertex-buffer-layout.js.map +1 -1
  400. package/dist/schema/to-vertex-buffer-layout.test.js +18 -18
  401. package/dist/schema/to-vertex-buffer-layout.test.js.map +1 -1
  402. package/dist/schema/true/index.d.ts +4 -0
  403. package/dist/schema/true/index.js +23 -0
  404. package/dist/schema/true/index.js.map +1 -0
  405. package/dist/schema/true/public.d.ts +1 -0
  406. package/dist/schema/true/public.js +23 -0
  407. package/dist/schema/true/public.js.map +1 -0
  408. package/dist/schema/true/schema.d.ts +5 -0
  409. package/dist/schema/true/schema.js +2 -0
  410. package/dist/schema/true/schema.js.map +1 -0
  411. package/dist/schema/type.d.ts +76 -0
  412. package/dist/schema/type.js +33 -0
  413. package/dist/schema/type.js.map +1 -0
  414. package/dist/schema/validation/with-validation.d.ts +2 -2
  415. package/dist/schema/validation/with-validation.js.map +1 -1
  416. package/dist/schema/validation/with-validation.test.js.map +1 -1
  417. package/dist/service/add-observable-actions.d.ts +5 -5
  418. package/dist/service/add-observable-actions.js +2 -2
  419. package/dist/service/add-observable-actions.js.map +1 -1
  420. package/dist/service/index.d.ts +1 -1
  421. package/dist/service/index.js.map +1 -1
  422. package/dist/service/progressive-result.d.ts +2 -3
  423. package/dist/table/add-row.d.ts +2 -2
  424. package/dist/table/add-row.js +2 -2
  425. package/dist/table/create-table.d.ts +2 -2
  426. package/dist/table/create-table.js.map +1 -1
  427. package/dist/table/delete-row.d.ts +2 -2
  428. package/dist/table/delete-row.js +2 -2
  429. package/dist/table/row-index.d.ts +2 -2
  430. package/dist/table/row-index.js +2 -2
  431. package/dist/table/row-index.js.map +1 -1
  432. package/dist/table/table-compact.test.js +9 -9
  433. package/dist/table/table-compact.test.js.map +1 -1
  434. package/dist/table/update-row.d.ts +4 -3
  435. package/dist/table/update-row.js +4 -3
  436. package/dist/table/update-row.js.map +1 -1
  437. package/dist/tsconfig.tsbuildinfo +1 -1
  438. package/dist/typed-buffer/create-array-buffer.d.ts +2 -2
  439. package/dist/typed-buffer/create-const-buffer.d.ts +1 -1
  440. package/dist/typed-buffer/create-number-buffer.d.ts +1 -1
  441. package/dist/typed-buffer/create-number-buffer.js +4 -4
  442. package/dist/typed-buffer/create-number-buffer.js.map +1 -1
  443. package/dist/typed-buffer/create-number-buffer.test.js +2 -2
  444. package/dist/typed-buffer/create-number-buffer.test.js.map +1 -1
  445. package/dist/typed-buffer/create-struct-buffer.d.ts +3 -3
  446. package/dist/typed-buffer/create-struct-buffer.js.map +1 -1
  447. package/dist/typed-buffer/create-struct-buffer.test.js +10 -10
  448. package/dist/typed-buffer/create-struct-buffer.test.js.map +1 -1
  449. package/dist/typed-buffer/create-typed-buffer.d.ts +3 -3
  450. package/dist/typed-buffer/create-typed-buffer.js.map +1 -1
  451. package/dist/typed-buffer/index.d.ts +1 -0
  452. package/dist/typed-buffer/structs/assert-struct.d.ts +1 -1
  453. package/dist/typed-buffer/structs/get-struct-layout.d.ts +1 -1
  454. package/dist/typed-buffer/structs/get-struct-layout.js +4 -4
  455. package/dist/typed-buffer/structs/get-struct-layout.js.map +1 -1
  456. package/dist/typed-buffer/structs/get-struct-layout.test.js +12 -12
  457. package/dist/typed-buffer/structs/get-struct-layout.test.js.map +1 -1
  458. package/dist/typed-buffer/structs/struct-layout.d.ts +1 -1
  459. package/dist/typed-buffer/typed-buffer.d.ts +1 -1
  460. package/dist/types/index.d.ts +1 -0
  461. package/dist/types/types.d.ts +1 -2
  462. package/package.json +2 -3
  463. package/dist/blob/download-handle.d.ts +0 -4
  464. package/dist/blob/download-handle.js +0 -2
  465. package/dist/blob/download-handle.js.map +0 -1
  466. package/dist/blob/upload-handle.d.ts +0 -4
  467. package/dist/blob/upload-handle.js +0 -2
  468. package/dist/blob/upload-handle.js.map +0 -1
  469. package/dist/ecs/database/transactional-store/entity-id-preservation.test.js +0 -106
  470. package/dist/ecs/database/transactional-store/entity-id-preservation.test.js.map +0 -1
  471. package/dist/ecs/entity/entity.d.ts +0 -8
  472. package/dist/ecs/entity/entity.js +0 -3
  473. package/dist/ecs/entity/entity.js.map +0 -1
  474. package/dist/ecs/entity/u32.js.map +0 -1
  475. package/dist/ecs/store/store-schema/create-store-schema-test.d.ts +0 -1
  476. package/dist/ecs/store/store-schema/create-store-schema-test.js.map +0 -1
  477. package/dist/ecs/store/store-schema/create-store-schema.d.ts +0 -1
  478. package/dist/ecs/store/store-schema/create-store-schema.js +0 -45
  479. package/dist/ecs/store/store-schema/create-store-schema.js.map +0 -1
  480. package/dist/ecs/store/store-schema/index.d.ts +0 -1
  481. package/dist/ecs/store/store-schema/index.js +0 -21
  482. package/dist/ecs/store/store-schema/index.js.map +0 -1
  483. package/dist/ecs/store/store-schema/store-schema.d.ts +0 -1
  484. package/dist/ecs/store/store-schema/store-schema.js +0 -57
  485. package/dist/ecs/store/store-schema/store-schema.js.map +0 -1
  486. package/dist/ecs/world/create-world.d.ts +0 -7
  487. package/dist/ecs/world/create-world.js +0 -113
  488. package/dist/ecs/world/create-world.js.map +0 -1
  489. package/dist/ecs/world/create-world.test.d.ts +0 -1
  490. package/dist/ecs/world/create-world.test.js +0 -499
  491. package/dist/ecs/world/create-world.test.js.map +0 -1
  492. package/dist/ecs/world/index.d.ts +0 -5
  493. package/dist/ecs/world/index.js.map +0 -1
  494. package/dist/ecs/world/system-phase.d.ts +0 -5
  495. package/dist/ecs/world/system-phase.js +0 -14
  496. package/dist/ecs/world/system-phase.js.map +0 -1
  497. package/dist/ecs/world/system.d.ts +0 -25
  498. package/dist/ecs/world/system.js +0 -2
  499. package/dist/ecs/world/system.js.map +0 -1
  500. package/dist/ecs/world/world-schema/create-world-schema-test.d.ts +0 -1
  501. package/dist/ecs/world/world-schema/create-world-schema-test.js +0 -55
  502. package/dist/ecs/world/world-schema/create-world-schema-test.js.map +0 -1
  503. package/dist/ecs/world/world-schema/create-world-schema.d.ts +0 -19
  504. package/dist/ecs/world/world-schema/create-world-schema.js +0 -33
  505. package/dist/ecs/world/world-schema/create-world-schema.js.map +0 -1
  506. package/dist/ecs/world/world-schema/index.d.ts +0 -2
  507. package/dist/ecs/world/world-schema/index.js.map +0 -1
  508. package/dist/ecs/world/world-schema/world-schema.d.ts +0 -18
  509. package/dist/ecs/world/world-schema/world-schema.js.map +0 -1
  510. package/dist/ecs/world/world.d.ts +0 -11
  511. package/dist/ecs/world/world.js +0 -2
  512. package/dist/ecs/world/world.js.map +0 -1
  513. package/dist/graphics/camera/camera.d.ts +0 -62
  514. package/dist/graphics/camera/camera.js +0 -17
  515. package/dist/graphics/camera/camera.js.map +0 -1
  516. package/dist/graphics/camera/index.d.ts +0 -4
  517. package/dist/graphics/camera/index.js +0 -5
  518. package/dist/graphics/camera/index.js.map +0 -1
  519. package/dist/graphics/camera/screen-to-world-ray.d.ts +0 -12
  520. package/dist/graphics/camera/screen-to-world-ray.js +0 -49
  521. package/dist/graphics/camera/screen-to-world-ray.js.map +0 -1
  522. package/dist/graphics/camera/screen-to-world-ray.test.d.ts +0 -1
  523. package/dist/graphics/camera/screen-to-world-ray.test.js +0 -171
  524. package/dist/graphics/camera/screen-to-world-ray.test.js.map +0 -1
  525. package/dist/graphics/camera/to-view-projection.d.ts +0 -3
  526. package/dist/graphics/camera/to-view-projection.js +0 -8
  527. package/dist/graphics/camera/to-view-projection.js.map +0 -1
  528. package/dist/graphics/camera/world-to-screen.d.ts +0 -12
  529. package/dist/graphics/camera/world-to-screen.js +0 -38
  530. package/dist/graphics/camera/world-to-screen.js.map +0 -1
  531. package/dist/graphics/camera/world-to-screen.test.d.ts +0 -1
  532. package/dist/graphics/camera/world-to-screen.test.js +0 -124
  533. package/dist/graphics/camera/world-to-screen.test.js.map +0 -1
  534. package/dist/graphics/create-struct-gpu-buffer.d.ts +0 -7
  535. package/dist/graphics/create-struct-gpu-buffer.js +0 -17
  536. package/dist/graphics/create-struct-gpu-buffer.js.map +0 -1
  537. package/dist/graphics/extract-wgsl-bindings.d.ts +0 -5
  538. package/dist/graphics/extract-wgsl-bindings.js +0 -10
  539. package/dist/graphics/extract-wgsl-bindings.js.map +0 -1
  540. package/dist/graphics/frame.d.ts +0 -1
  541. package/dist/graphics/frame.js +0 -15
  542. package/dist/graphics/frame.js.map +0 -1
  543. package/dist/graphics/get-web-gpu-device-and-context.d.ts +0 -1
  544. package/dist/graphics/get-web-gpu-device-and-context.js +0 -24
  545. package/dist/graphics/get-web-gpu-device-and-context.js.map +0 -1
  546. package/dist/graphics/graphics-context.d.ts +0 -1
  547. package/dist/graphics/graphics-context.js +0 -7
  548. package/dist/graphics/graphics-context.js.map +0 -1
  549. package/dist/graphics/index.d.ts +0 -5
  550. package/dist/graphics/index.js +0 -5
  551. package/dist/graphics/index.js.map +0 -1
  552. package/dist/graphics/to-gpu-buffer.d.ts +0 -2
  553. package/dist/graphics/to-gpu-buffer.js +0 -14
  554. package/dist/graphics/to-gpu-buffer.js.map +0 -1
  555. package/dist/internal/array-buffer-like/grow.d.ts +0 -1
  556. package/dist/internal/array-buffer-like/grow.js +0 -9
  557. package/dist/internal/array-buffer-like/grow.js.map +0 -1
  558. package/dist/math/aabb-face/face.d.ts +0 -51
  559. package/dist/math/aabb-face/face.js +0 -110
  560. package/dist/math/aabb-face/face.js.map +0 -1
  561. package/dist/math/aabb-face/face.test.d.ts +0 -1
  562. package/dist/math/aabb-face/face.test.js +0 -94
  563. package/dist/math/aabb-face/face.test.js.map +0 -1
  564. package/dist/math/box/box.d.ts +0 -50
  565. package/dist/math/box/box.js +0 -23
  566. package/dist/math/box/box.js.map +0 -1
  567. package/dist/math/face/face.d.ts +0 -51
  568. package/dist/math/face/face.js.map +0 -1
  569. package/dist/math/face/face.test.d.ts +0 -1
  570. package/dist/math/face/face.test.js +0 -94
  571. package/dist/math/face/face.test.js.map +0 -1
  572. package/dist/math/picking/face.d.ts +0 -1
  573. package/dist/math/picking/face.js +0 -2
  574. package/dist/math/picking/face.js.map +0 -1
  575. package/dist/math/picking/get-closest-entity-to-line.d.ts +0 -4
  576. package/dist/math/picking/get-closest-entity-to-line.js +0 -30
  577. package/dist/math/picking/get-closest-entity-to-line.js.map +0 -1
  578. package/dist/math/picking/get-closest-entity-to-point.d.ts +0 -4
  579. package/dist/math/picking/get-closest-entity-to-point.js +0 -27
  580. package/dist/math/picking/get-closest-entity-to-point.js.map +0 -1
  581. package/dist/math/picking/get-intersecting-entities.d.ts +0 -12
  582. package/dist/math/picking/get-intersecting-entities.js +0 -15
  583. package/dist/math/picking/get-intersecting-entities.js.map +0 -1
  584. package/dist/math/picking/getClosestEntityToLine.d.ts +0 -4
  585. package/dist/math/picking/getClosestEntityToLine.js +0 -29
  586. package/dist/math/picking/getClosestEntityToLine.js.map +0 -1
  587. package/dist/math/picking/getClosestEntityToPoint.d.ts +0 -4
  588. package/dist/math/picking/getClosestEntityToPoint.js +0 -27
  589. package/dist/math/picking/getClosestEntityToPoint.js.map +0 -1
  590. package/dist/math/picking/getIntersectingEntities.d.ts +0 -12
  591. package/dist/math/picking/getIntersectingEntities.js +0 -15
  592. package/dist/math/picking/getIntersectingEntities.js.map +0 -1
  593. package/dist/math/picking/index.d.ts +0 -5
  594. package/dist/math/picking/index.js.map +0 -1
  595. package/dist/math/picking/pick-from-tables.d.ts +0 -19
  596. package/dist/math/picking/pick-from-tables.js +0 -63
  597. package/dist/math/picking/pick-from-tables.js.map +0 -1
  598. package/dist/math/picking/pick-result.d.ts +0 -12
  599. package/dist/math/picking/pick-result.js.map +0 -1
  600. package/dist/math/transform/debug-inverse.d.ts +0 -1
  601. package/dist/math/transform/debug-inverse.js +0 -28
  602. package/dist/math/transform/debug-inverse.js.map +0 -1
  603. package/dist/math/transform/debug-quat.d.ts +0 -1
  604. package/dist/math/transform/debug-quat.js +0 -23
  605. package/dist/math/transform/debug-quat.js.map +0 -1
  606. package/dist/math/transform/debug-test.d.ts +0 -1
  607. package/dist/math/transform/debug-test.js +0 -34
  608. package/dist/math/transform/debug-test.js.map +0 -1
  609. package/dist/math/transform/transform.d.ts +0 -58
  610. package/dist/math/transform/transform.js +0 -101
  611. package/dist/math/transform/transform.js.map +0 -1
  612. package/dist/math/transform/transform.test.d.ts +0 -1
  613. package/dist/math/transform/transform.test.js +0 -309
  614. package/dist/math/transform/transform.test.js.map +0 -1
  615. package/dist/old-ecs/privacy/helper-functions.d.ts +0 -43
  616. package/dist/old-ecs/privacy/helper-functions.js +0 -76
  617. package/dist/old-ecs/privacy/helper-functions.js.map +0 -1
  618. package/dist/old-ecs/privacy/helper-functions.test.d.ts +0 -1
  619. package/dist/old-ecs/privacy/helper-functions.test.js +0 -173
  620. package/dist/old-ecs/privacy/helper-functions.test.js.map +0 -1
  621. /package/dist/{ecs/database/transactional-store/entity-id-preservation.test.d.ts → math/aabb/face/aabb-face.test.d.ts} +0 -0
@@ -0,0 +1,77 @@
1
+ import { TypedBuffer } from "../typed-buffer/typed-buffer.js";
2
+ import { DeepReadonly } from "../types/types.js";
3
+ import { Schema } from "./schema.js";
4
+ export type ToType<T, Depth extends number = 5> = T extends {
5
+ mutable: true;
6
+ } ? FromSchemaInternal<T> : DeepReadonly<Depth extends 0 ? any : FromSchemaInternal<T, Depth>>;
7
+ type FromSchemaInternal<T, Depth extends number = 5> = T extends {
8
+ const: infer Const;
9
+ } ? Const : T extends {
10
+ enum: infer Enum;
11
+ } ? Enum extends ReadonlyArray<any> ? Enum[number] : never : T extends {
12
+ oneOf: infer Schemas;
13
+ } ? Schemas extends ReadonlyArray<Schema> ? FromOneOfSchema<Schemas, Decrement<Depth>> : never : T extends {
14
+ allOf: infer Schemas;
15
+ } ? Schemas extends ReadonlyArray<Schema> ? FromAllOfSchema<Schemas, Decrement<Depth>> : never : T extends {
16
+ type: 'number' | 'integer';
17
+ } ? number : T extends {
18
+ type: 'string';
19
+ } ? string : T extends {
20
+ type: 'boolean';
21
+ } ? boolean : T extends {
22
+ type: 'null';
23
+ } ? null : T extends {
24
+ type: 'typed-buffer';
25
+ items: infer Items;
26
+ } ? TypedBuffer<FromSchemaInternal<Items>> : T extends {
27
+ type: 'array';
28
+ } | {
29
+ items: any;
30
+ } ? FromSchemaArray<T, Decrement<Depth>> : T extends {
31
+ type?: undefined;
32
+ default: infer D;
33
+ } ? D : T extends {
34
+ type: 'object';
35
+ } | {
36
+ properties: any;
37
+ } ? FromSchemaObject<T, Decrement<Depth>> : any;
38
+ type Decrement<N extends number> = ((...x: any[]) => void) extends (arg: any, ...rest: infer R) => void ? R['length'] : never;
39
+ type FromSchemaArray<T, Depth extends number> = T extends {
40
+ items: infer Items;
41
+ } ? T extends {
42
+ minItems: infer Min;
43
+ maxItems: infer Max;
44
+ } ? Equal<Min, Max> extends true ? BuildTuple<ToType<Items, Depth>, Min> : ToType<Items, Depth>[] : ToType<Items, Depth>[] : any[];
45
+ type BuildTuple<T, N, R extends unknown[] = []> = R['length'] extends N ? R : BuildTuple<T, N, [...R, T]>;
46
+ type FromSchemaObject<T extends Schema, Depth extends number> = T extends {
47
+ properties: infer P;
48
+ } ? Simplify<{
49
+ [K in RequiredKeys<T>]: ToType<P[K], Depth>;
50
+ } & {
51
+ [K in OptionalKeys<T>]?: ToType<P[K], Depth>;
52
+ } & (T extends {
53
+ additionalProperties: infer AP;
54
+ } ? AP extends false ? {} : AP extends boolean ? AP extends true ? {
55
+ [key: string]: any;
56
+ } : {} : AP extends Schema ? {
57
+ [key: string]: ToType<AP, Depth>;
58
+ } : {} : {})> : T extends {
59
+ additionalProperties: infer AP;
60
+ } ? AP extends boolean ? AP extends true ? {
61
+ [key: string]: any;
62
+ } : {} : AP extends Schema ? {
63
+ [key: string]: ToType<AP, Depth>;
64
+ } : {} : {};
65
+ type RequiredKeys<T> = T extends {
66
+ required: infer R;
67
+ } ? R extends readonly (infer K)[] ? K extends string ? K : never : never : never;
68
+ type OptionalKeys<T> = T extends {
69
+ properties: infer P;
70
+ } ? Exclude<keyof P, RequiredKeys<T>> : never;
71
+ type Equal<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false;
72
+ type Simplify<T> = T extends infer O ? {
73
+ [K in keyof O]: O[K];
74
+ } : never;
75
+ type FromOneOfSchema<Schemas extends ReadonlyArray<Schema>, Depth extends number> = Schemas[number] extends infer S ? S extends Schema ? ToType<S, Depth> : never : never;
76
+ type FromAllOfSchema<Schemas extends ReadonlyArray<Schema>, Depth extends number> = Schemas extends readonly [infer First, ...infer Rest] ? First extends Schema ? Rest extends ReadonlyArray<Schema> ? ToType<First, Depth> & FromAllOfSchema<Rest, Depth> : ToType<First, Depth> : never : {};
77
+ export {};
@@ -0,0 +1,33 @@
1
+ /*MIT License
2
+
3
+ © Copyright 2025 Adobe. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.*/
22
+ const mySchema = {
23
+ type: 'object',
24
+ properties: {
25
+ a: { type: 'number' },
26
+ b: { type: 'string' },
27
+ c: { enum: [1, 2, 3] }
28
+ },
29
+ required: ['a', 'c'],
30
+ additionalProperties: false,
31
+ };
32
+ export {};
33
+ //# sourceMappingURL=to-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-type.js","sourceRoot":"","sources":["../../src/schema/to-type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AA2JX,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACrB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACrB,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;KACvB;IACD,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACpB,oBAAoB,EAAE,KAAK;CACF,CAAC"}
@@ -44,7 +44,7 @@ export interface VertexBufferLayoutOptions {
44
44
  * });
45
45
  * ```
46
46
  */
47
- export declare function schemaToVertexBufferLayout<S extends Schema>(schema: S, options?: VertexBufferLayoutOptions): GPUVertexBufferLayout;
47
+ export declare function toVertexBufferLayout<S extends Schema>(schema: S, options?: VertexBufferLayoutOptions): GPUVertexBufferLayout;
48
48
  /**
49
49
  * Type-safe helper to generate vertex buffer layout for a specific schema type
50
50
  *
@@ -53,4 +53,4 @@ export declare function schemaToVertexBufferLayout<S extends Schema>(schema: S,
53
53
  * const positionColorLayout = positionColorNormalVertexSchema |> schemaToVertexBufferLayoutForType;
54
54
  * ```
55
55
  */
56
- export declare function schemaToVertexBufferLayoutForType<T extends Schema>(schema: T, options?: VertexBufferLayoutOptions): GPUVertexBufferLayout;
56
+ export declare function toVertexBufferLayoutForType<T extends Schema>(schema: T, options?: VertexBufferLayoutOptions): GPUVertexBufferLayout;
@@ -32,15 +32,25 @@ function fieldLayoutToVertexFormat(fieldLayout) {
32
32
  case "u32": return "uint32";
33
33
  }
34
34
  }
35
- if (typeof fieldLayout === "object" && fieldLayout.type === "array") {
36
- // Handle array/vector types
37
- const size = fieldLayout.size;
38
- const elementCount = getVectorElementCount(fieldLayout);
39
- switch (elementCount) {
40
- case 1: return "float32"; // f32
41
- case 2: return "float32x2"; // vec2
42
- case 3: return "float32x3"; // vec3
43
- case 4: return "float32x4"; // vec4
35
+ if (typeof fieldLayout === "object") {
36
+ const fieldType = fieldLayout.type;
37
+ if (typeof fieldType === "string") {
38
+ // Primitive type
39
+ switch (fieldType) {
40
+ case "f32": return "float32";
41
+ case "i32": return "sint32";
42
+ case "u32": return "uint32";
43
+ }
44
+ }
45
+ else if (typeof fieldType === "object" && fieldType.type === "array") {
46
+ // Handle array/vector types
47
+ const elementCount = getVectorElementCount(fieldType);
48
+ switch (elementCount) {
49
+ case 1: return "float32"; // f32
50
+ case 2: return "float32x2"; // vec2
51
+ case 3: return "float32x3"; // vec3
52
+ case 4: return "float32x4"; // vec4
53
+ }
44
54
  }
45
55
  }
46
56
  throw new Error(`Unsupported field layout for vertex buffer: ${JSON.stringify(fieldLayout)}`);
@@ -79,7 +89,7 @@ function getVectorElementCount(fieldLayout) {
79
89
  * });
80
90
  * ```
81
91
  */
82
- export function schemaToVertexBufferLayout(schema, options = {}) {
92
+ export function toVertexBufferLayout(schema, options = {}) {
83
93
  // Determine layout to use
84
94
  const layoutMode = options.layout ?? schema.layout ?? "packed";
85
95
  // Get struct layout information
@@ -93,10 +103,14 @@ export function schemaToVertexBufferLayout(schema, options = {}) {
93
103
  for (const [fieldName, fieldLayout] of Object.entries(structLayout.fields)) {
94
104
  const shaderLocation = options.shaderLocations?.[fieldName] ?? nextShaderLocation;
95
105
  try {
96
- const format = fieldLayoutToVertexFormat(fieldLayout.type);
106
+ const fieldLayoutTyped = fieldLayout;
107
+ const fieldType = fieldLayoutTyped.type;
108
+ const format = typeof fieldType === "string"
109
+ ? fieldLayoutToVertexFormat(fieldType)
110
+ : fieldLayoutToVertexFormat(fieldLayoutTyped);
97
111
  attributes.push({
98
112
  format,
99
- offset: fieldLayout.offset,
113
+ offset: fieldLayoutTyped.offset,
100
114
  shaderLocation
101
115
  });
102
116
  }
@@ -123,7 +137,7 @@ export function schemaToVertexBufferLayout(schema, options = {}) {
123
137
  * const positionColorLayout = positionColorNormalVertexSchema |> schemaToVertexBufferLayoutForType;
124
138
  * ```
125
139
  */
126
- export function schemaToVertexBufferLayoutForType(schema, options) {
127
- return schemaToVertexBufferLayout(schema, options);
140
+ export function toVertexBufferLayoutForType(schema, options) {
141
+ return toVertexBufferLayout(schema, options);
128
142
  }
129
143
  //# sourceMappingURL=to-vertex-buffer-layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"to-vertex-buffer-layout.js","sourceRoot":"","sources":["../../src/schema/to-vertex-buffer-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"to-vertex-buffer-layout.js","sourceRoot":"","sources":["../../src/schema/to-vertex-buffer-layout.ts"],"names":[],"mappings":"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"}
@@ -20,8 +20,8 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.*/
22
22
  import { describe, it, expect } from "vitest";
23
- import { schemaToVertexBufferLayout, schemaToVertexBufferLayoutForType } from "./to-vertex-buffer-layout.js";
24
- describe("schemaToVertexBufferLayout", () => {
23
+ import { Schema } from "./index.js";
24
+ describe("Schema.toVertexBufferLayout", () => {
25
25
  describe("position-color-normal vertex schema", () => {
26
26
  const positionColorNormalSchema = {
27
27
  type: "object",
@@ -48,7 +48,7 @@ describe("schemaToVertexBufferLayout", () => {
48
48
  layout: "packed"
49
49
  };
50
50
  it("should generate correct packed layout for position-color-normal", () => {
51
- const layout = schemaToVertexBufferLayout(positionColorNormalSchema);
51
+ const layout = Schema.toVertexBufferLayout(positionColorNormalSchema);
52
52
  expect(layout.arrayStride).toBe(40); // 3 + 4 + 3 = 10 floats × 4 bytes = 40 bytes
53
53
  expect(layout.stepMode).toBe("vertex");
54
54
  expect(layout.attributes).toHaveLength(3);
@@ -72,19 +72,19 @@ describe("schemaToVertexBufferLayout", () => {
72
72
  });
73
73
  });
74
74
  it("should allow custom shader locations", () => {
75
- const layout = schemaToVertexBufferLayout(positionColorNormalSchema, {
75
+ const layout = Schema.toVertexBufferLayout(positionColorNormalSchema, {
76
76
  shaderLocations: {
77
77
  position: 0,
78
78
  color: 8,
79
79
  normal: 9
80
80
  }
81
81
  });
82
- expect(layout.attributes.find(a => a.shaderLocation === 0)?.offset).toBe(0);
83
- expect(layout.attributes.find(a => a.shaderLocation === 8)?.offset).toBe(12);
84
- expect(layout.attributes.find(a => a.shaderLocation === 9)?.offset).toBe(28);
82
+ expect(layout.attributes.find((a) => a.shaderLocation === 0)?.offset).toBe(0);
83
+ expect(layout.attributes.find((a) => a.shaderLocation === 8)?.offset).toBe(12);
84
+ expect(layout.attributes.find((a) => a.shaderLocation === 9)?.offset).toBe(28);
85
85
  });
86
86
  it("should support instance step mode", () => {
87
- const layout = schemaToVertexBufferLayout(positionColorNormalSchema, {
87
+ const layout = Schema.toVertexBufferLayout(positionColorNormalSchema, {
88
88
  stepMode: "instance"
89
89
  });
90
90
  expect(layout.stepMode).toBe("instance");
@@ -104,7 +104,7 @@ describe("schemaToVertexBufferLayout", () => {
104
104
  layout: "packed"
105
105
  };
106
106
  it("should generate minimal vertex layout", () => {
107
- const layout = schemaToVertexBufferLayout(positionSchema);
107
+ const layout = Schema.toVertexBufferLayout(positionSchema);
108
108
  expect(layout.arrayStride).toBe(12); // Vec3 = 12 bytes
109
109
  expect(layout.attributes).toHaveLength(1);
110
110
  expect(layout.attributes[0]).toEqual({
@@ -123,7 +123,7 @@ describe("schemaToVertexBufferLayout", () => {
123
123
  },
124
124
  layout: "packed"
125
125
  };
126
- const layout = schemaToVertexBufferLayout(schema);
126
+ const layout = Schema.toVertexBufferLayout(schema);
127
127
  expect(layout.arrayStride).toBe(4);
128
128
  expect(layout.attributes[0]).toEqual({
129
129
  format: "float32",
@@ -139,7 +139,7 @@ describe("schemaToVertexBufferLayout", () => {
139
139
  },
140
140
  layout: "packed"
141
141
  };
142
- const layout = schemaToVertexBufferLayout(schema);
142
+ const layout = Schema.toVertexBufferLayout(schema);
143
143
  expect(layout.arrayStride).toBe(4);
144
144
  expect(layout.attributes[0]).toEqual({
145
145
  format: "uint32",
@@ -155,7 +155,7 @@ describe("schemaToVertexBufferLayout", () => {
155
155
  items: { type: "number" }
156
156
  };
157
157
  expect(() => {
158
- schemaToVertexBufferLayout(arraySchema);
158
+ Schema.toVertexBufferLayout(arraySchema);
159
159
  }).toThrow(/Array must have fixed length/);
160
160
  });
161
161
  it("should throw error for unsupported field types", () => {
@@ -167,7 +167,7 @@ describe("schemaToVertexBufferLayout", () => {
167
167
  layout: "packed"
168
168
  };
169
169
  expect(() => {
170
- schemaToVertexBufferLayout(schema);
170
+ Schema.toVertexBufferLayout(schema);
171
171
  }).toThrow(/not a valid struct type/);
172
172
  });
173
173
  it("should throw error for oversized vectors", () => {
@@ -184,7 +184,7 @@ describe("schemaToVertexBufferLayout", () => {
184
184
  layout: "packed"
185
185
  };
186
186
  expect(() => {
187
- schemaToVertexBufferLayout(schema);
187
+ Schema.toVertexBufferLayout(schema);
188
188
  }).toThrow(/dimensions must be 1-4 elements/);
189
189
  });
190
190
  });
@@ -202,7 +202,7 @@ describe("schemaToVertexBufferLayout", () => {
202
202
  },
203
203
  layout: "packed"
204
204
  };
205
- const layout = schemaToVertexBufferLayout(schema);
205
+ const layout = Schema.toVertexBufferLayout(schema);
206
206
  expect(layout.arrayStride).toBe(12); // Packed: tight packing
207
207
  });
208
208
  it("should override schema layout when specified", () => {
@@ -218,14 +218,14 @@ describe("schemaToVertexBufferLayout", () => {
218
218
  },
219
219
  layout: "packed"
220
220
  };
221
- const layout = schemaToVertexBufferLayout(schema, {
221
+ const layout = Schema.toVertexBufferLayout(schema, {
222
222
  layout: "std140"
223
223
  });
224
224
  expect(layout.arrayStride).toBe(16); // std140: 16-byte alignment
225
225
  });
226
226
  });
227
227
  describe("type-safe helper", () => {
228
- it("should work with schemaToVertexBufferLayoutForType", () => {
228
+ it("should work with Schema.toVertexBufferLayoutForType", () => {
229
229
  const testSchema = {
230
230
  type: "object",
231
231
  properties: {
@@ -238,7 +238,7 @@ describe("schemaToVertexBufferLayout", () => {
238
238
  },
239
239
  layout: "packed"
240
240
  };
241
- const layout = schemaToVertexBufferLayoutForType(testSchema);
241
+ const layout = Schema.toVertexBufferLayoutForType(testSchema);
242
242
  expect(layout.arrayStride).toBe(8); // Vec2 = 8 bytes
243
243
  expect(layout.attributes[0].format).toBe("float32x2");
244
244
  });
@@ -1 +1 @@
1
- {"version":3,"file":"to-vertex-buffer-layout.test.js","sourceRoot":"","sources":["../../src/schema/to-vertex-buffer-layout.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"to-vertex-buffer-layout.test.js","sourceRoot":"","sources":["../../src/schema/to-vertex-buffer-layout.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ToType } from "../to-type.js";
2
+ import { schema } from "./schema.js";
3
+ export type True = ToType<typeof schema>;
4
+ export * as True from "./public.js";
@@ -0,0 +1,23 @@
1
+ /*MIT License
2
+
3
+ © Copyright 2025 Adobe. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.*/
22
+ export * as True from "./public.js";
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/schema/true/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAOX,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./schema.js";
@@ -0,0 +1,23 @@
1
+ /*MIT License
2
+
3
+ © Copyright 2025 Adobe. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.*/
22
+ export * from "./schema.js";
23
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/schema/true/public.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,cAAc,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const schema: {
2
+ readonly type: "boolean";
3
+ readonly const: true;
4
+ readonly default: true;
5
+ };
@@ -0,0 +1,2 @@
1
+ export const schema = { type: "boolean", const: true, default: true };
2
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/schema/true/schema.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAA4B,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { TypedBuffer } from "../typed-buffer/typed-buffer.js";
2
+ import { DeepReadonly } from "../types/types.js";
3
+ export type FromSchema<T, Depth extends number = 5> = T extends {
4
+ mutable: true;
5
+ } ? FromSchemaInternal<T> : DeepReadonly<Depth extends 0 ? any : FromSchemaInternal<T, Depth>>;
6
+ type FromSchemaInternal<T, Depth extends number = 5> = T extends {
7
+ const: infer Const;
8
+ } ? Const : T extends {
9
+ enum: infer Enum;
10
+ } ? Enum extends ReadonlyArray<any> ? Enum[number] : never : T extends {
11
+ oneOf: infer Schemas;
12
+ } ? Schemas extends ReadonlyArray<Schema> ? FromOneOfSchema<Schemas, Decrement<Depth>> : never : T extends {
13
+ allOf: infer Schemas;
14
+ } ? Schemas extends ReadonlyArray<Schema> ? FromAllOfSchema<Schemas, Decrement<Depth>> : never : T extends {
15
+ type: 'number' | 'integer';
16
+ } ? number : T extends {
17
+ type: 'string';
18
+ } ? string : T extends {
19
+ type: 'boolean';
20
+ } ? boolean : T extends {
21
+ type: 'null';
22
+ } ? null : T extends {
23
+ type: 'typed-buffer';
24
+ items: infer Items;
25
+ } ? TypedBuffer<FromSchemaInternal<Items>> : T extends {
26
+ type: 'array';
27
+ } | {
28
+ items: any;
29
+ } ? FromSchemaArray<T, Decrement<Depth>> : T extends {
30
+ type?: undefined;
31
+ default: infer D;
32
+ } ? D : T extends {
33
+ type: 'object';
34
+ } | {
35
+ properties: any;
36
+ } ? FromSchemaObject<T, Decrement<Depth>> : any;
37
+ type Decrement<N extends number> = ((...x: any[]) => void) extends (arg: any, ...rest: infer R) => void ? R['length'] : never;
38
+ type FromSchemaArray<T, Depth extends number> = T extends {
39
+ items: infer Items;
40
+ } ? T extends {
41
+ minItems: infer Min;
42
+ maxItems: infer Max;
43
+ } ? Equal<Min, Max> extends true ? BuildTuple<FromSchema<Items, Depth>, Min> : FromSchema<Items, Depth>[] : FromSchema<Items, Depth>[] : any[];
44
+ type BuildTuple<T, N, R extends unknown[] = []> = R['length'] extends N ? R : BuildTuple<T, N, [...R, T]>;
45
+ type FromSchemaObject<T extends Schema, Depth extends number> = T extends {
46
+ properties: infer P;
47
+ } ? Simplify<{
48
+ [K in RequiredKeys<T>]: FromSchema<P[K], Depth>;
49
+ } & {
50
+ [K in OptionalKeys<T>]?: FromSchema<P[K], Depth>;
51
+ } & (T extends {
52
+ additionalProperties: infer AP;
53
+ } ? AP extends false ? {} : AP extends boolean ? AP extends true ? {
54
+ [key: string]: any;
55
+ } : {} : AP extends Schema ? {
56
+ [key: string]: FromSchema<AP, Depth>;
57
+ } : {} : {})> : T extends {
58
+ additionalProperties: infer AP;
59
+ } ? AP extends boolean ? AP extends true ? {
60
+ [key: string]: any;
61
+ } : {} : AP extends Schema ? {
62
+ [key: string]: FromSchema<AP, Depth>;
63
+ } : {} : {};
64
+ type RequiredKeys<T> = T extends {
65
+ required: infer R;
66
+ } ? R extends readonly (infer K)[] ? K extends string ? K : never : never : never;
67
+ type OptionalKeys<T> = T extends {
68
+ properties: infer P;
69
+ } ? Exclude<keyof P, RequiredKeys<T>> : never;
70
+ type Equal<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false;
71
+ type Simplify<T> = T extends infer O ? {
72
+ [K in keyof O]: O[K];
73
+ } : never;
74
+ type FromOneOfSchema<Schemas extends ReadonlyArray<Schema>, Depth extends number> = Schemas[number] extends infer S ? S extends Schema ? FromSchema<S, Depth> : never : never;
75
+ type FromAllOfSchema<Schemas extends ReadonlyArray<Schema>, Depth extends number> = Schemas extends readonly [infer First, ...infer Rest] ? First extends Schema ? Rest extends ReadonlyArray<Schema> ? FromSchema<First, Depth> & FromAllOfSchema<Rest, Depth> : FromSchema<First, Depth> : never : {};
76
+ export {};
@@ -0,0 +1,33 @@
1
+ /*MIT License
2
+
3
+ © Copyright 2025 Adobe. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.*/
22
+ const mySchema = {
23
+ type: 'object',
24
+ properties: {
25
+ a: { type: 'number' },
26
+ b: { type: 'string' },
27
+ c: { enum: [1, 2, 3] }
28
+ },
29
+ required: ['a', 'c'],
30
+ additionalProperties: false,
31
+ };
32
+ export {};
33
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/schema/type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AA0JX,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACrB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACrB,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;KACvB;IACD,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACpB,oBAAoB,EAAE,KAAK;CACF,CAAC"}
@@ -1,5 +1,5 @@
1
- import { Schema, FromSchema } from '../index.js';
1
+ import { Schema } from '../index.js';
2
2
  /**
3
3
  * Creates a function which can wrap another function and validate the input against a JSON Schema.
4
4
  */
5
- export declare function withValidation<T extends Schema>(schema: T): <F extends (arg: FromSchema<T>) => any>(fn: F) => F;
5
+ export declare function withValidation<T extends Schema>(schema: T): <F extends (arg: Schema.ToType<T>) => any>(fn: F) => F;
@@ -1 +1 @@
1
- {"version":3,"file":"with-validation.js","sourceRoot":"","sources":["../../../src/schema/validation/with-validation.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,cAAc,CAAmB,MAAS;IACtD,OAAO,UAAiD,EAAK;QACzD,OAAO,UAAqB,GAAkB;YAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAErC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CACX,sBAAsB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACjD,CAAC;YACN,CAAC;YAED,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAM,CAAC;IACX,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"with-validation.js","sourceRoot":"","sources":["../../../src/schema/validation/with-validation.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,cAAc,CAAmB,MAAS;IACtD,OAAO,UAAoD,EAAK;QAC5D,OAAO,UAAqB,GAAqB;YAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAErC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CACX,sBAAsB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACjD,CAAC;YACN,CAAC;YAED,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAM,CAAC;IACX,CAAC,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"with-validation.test.js","sourceRoot":"","sources":["../../../src/schema/validation/with-validation.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"with-validation.test.js","sourceRoot":"","sources":["../../../src/schema/validation/with-validation.test.ts"],"names":[],"mappings":"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"}