@adobe/data 0.2.3 → 0.2.4

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 (526) hide show
  1. package/dist/_/data.d.ts +11 -0
  2. package/dist/{schemas/index.js → _/data.js} +2 -2
  3. package/dist/_/data.js.map +1 -0
  4. package/dist/_/equals.d.ts +11 -0
  5. package/dist/_/equals.js +73 -0
  6. package/dist/_/equals.js.map +1 -0
  7. package/dist/_/equals.test.js +150 -0
  8. package/dist/_/equals.test.js.map +1 -0
  9. package/dist/_/index.d.ts +4 -0
  10. package/dist/{core/schema → _}/index.js +2 -4
  11. package/dist/_/index.js.map +1 -0
  12. package/dist/_/is-data.d.ts +11 -0
  13. package/dist/_/is-data.js +2 -0
  14. package/dist/_/is-data.js.map +1 -0
  15. package/dist/_/normalize.d.ts +1 -0
  16. package/dist/_/normalize.js +34 -0
  17. package/dist/_/normalize.js.map +1 -0
  18. package/dist/_/normalize.test.js +48 -0
  19. package/dist/_/normalize.test.js.map +1 -0
  20. package/dist/_/schema.test.js +16 -0
  21. package/dist/_/schema.test.js.map +1 -0
  22. package/dist/blob-store/blob-store.d.ts +94 -0
  23. package/dist/blob-store/blob-store.js +194 -0
  24. package/dist/blob-store/blob-store.js.map +1 -0
  25. package/dist/blob-store/blob-store.test.js +142 -0
  26. package/dist/blob-store/blob-store.test.js.map +1 -0
  27. package/dist/core/IsData.d.ts +6 -0
  28. package/dist/core/IsData.js +2 -0
  29. package/dist/core/IsData.js.map +1 -0
  30. package/dist/core/data.d.ts +1 -12
  31. package/dist/core/data.js +1 -30
  32. package/dist/core/data.js.map +1 -1
  33. package/dist/core/data.test.js +1 -1
  34. package/dist/core/data.test.js.map +1 -1
  35. package/dist/core/equals.d.ts +11 -0
  36. package/dist/core/equals.js +73 -0
  37. package/dist/core/equals.js.map +1 -0
  38. package/dist/core/equals.test.js +150 -0
  39. package/dist/core/equals.test.js.map +1 -0
  40. package/dist/core/functions/array-equals-shallow.d.ts +1 -0
  41. package/dist/core/functions/{array-equals.js → array-equals-shallow.js} +2 -2
  42. package/dist/core/functions/array-equals-shallow.js.map +1 -0
  43. package/dist/core/functions/deep-assign.d.ts +11 -0
  44. package/dist/core/functions/deep-assign.js +61 -0
  45. package/dist/core/functions/deep-assign.js.map +1 -0
  46. package/dist/core/functions/deep-assign.test.d.ts +1 -0
  47. package/dist/core/functions/deep-assign.test.js +180 -0
  48. package/dist/core/functions/deep-assign.test.js.map +1 -0
  49. package/dist/core/functions/index.d.ts +1 -3
  50. package/dist/core/functions/index.js +1 -3
  51. package/dist/core/functions/index.js.map +1 -1
  52. package/dist/core/functions/memoize-factory.d.ts +1 -0
  53. package/dist/core/functions/memoize-factory.js +12 -0
  54. package/dist/core/functions/memoize-factory.js.map +1 -0
  55. package/dist/core/index.d.ts +4 -3
  56. package/dist/core/index.js +2 -3
  57. package/dist/core/index.js.map +1 -1
  58. package/dist/core/is-data.d.ts +11 -0
  59. package/dist/core/is-data.js +2 -0
  60. package/dist/core/is-data.js.map +1 -0
  61. package/dist/core/normalize.d.ts +1 -0
  62. package/dist/core/normalize.js +34 -0
  63. package/dist/core/normalize.js.map +1 -0
  64. package/dist/core/normalize.test.d.ts +1 -0
  65. package/dist/core/normalize.test.js +48 -0
  66. package/dist/core/normalize.test.js.map +1 -0
  67. package/dist/ecs/action-ecs/action-ecs.js +1 -1
  68. package/dist/ecs/action-ecs/action-ecs.js.map +1 -1
  69. package/dist/ecs/action-ecs/action-ecs.test.js +4 -3
  70. package/dist/ecs/action-ecs/action-ecs.test.js.map +1 -1
  71. package/dist/ecs/action-ecs/action-types.d.ts +3 -3
  72. package/dist/ecs/action-ecs/index.d.ts +1 -0
  73. package/dist/ecs/action-ecs/index.js +1 -0
  74. package/dist/ecs/action-ecs/index.js.map +1 -1
  75. package/dist/ecs/action-ecs/sequential-action.d.ts +18 -0
  76. package/dist/{core/schema/validation/validate.js → ecs/action-ecs/sequential-action.js} +21 -14
  77. package/dist/ecs/action-ecs/sequential-action.js.map +1 -0
  78. package/dist/ecs/core-components.js +0 -21
  79. package/dist/ecs/core-components.js.map +1 -1
  80. package/dist/ecs/core-ecs/core-ecs-serialization.test.js +3 -2
  81. package/dist/ecs/core-ecs/core-ecs-serialization.test.js.map +1 -1
  82. package/dist/ecs/core-ecs/core-ecs-types.d.ts +2 -1
  83. package/dist/ecs/core-ecs/core-ecs.js +2 -2
  84. package/dist/ecs/core-ecs/core-ecs.js.map +1 -1
  85. package/dist/ecs/core-ecs/core-ecs.test.js +3 -2
  86. package/dist/ecs/core-ecs/core-ecs.test.js.map +1 -1
  87. package/dist/ecs/database/create-database.d.ts +3 -3
  88. package/dist/ecs/database/create-database.js +12 -11
  89. package/dist/ecs/database/create-database.js.map +1 -1
  90. package/dist/ecs/database/create-database.test.js +17 -13
  91. package/dist/ecs/database/create-database.test.js.map +1 -1
  92. package/dist/ecs/database/database-schema/create-database-from-schemas.d.ts +15 -0
  93. package/dist/ecs/database/database-schema/create-database-from-schemas.js +33 -0
  94. package/dist/ecs/database/database-schema/create-database-from-schemas.js.map +1 -0
  95. package/dist/ecs/database/database-schema/create-database-schema.d.ts +7 -0
  96. package/dist/ecs/database/database-schema/create-database-schema.js +5 -0
  97. package/dist/ecs/database/database-schema/create-database-schema.js.map +1 -0
  98. package/dist/ecs/database/database-schema/database-schema.d.ts +12 -0
  99. package/dist/ecs/database/database-schema/database-schema.js +2 -0
  100. package/dist/ecs/database/database-schema/database-schema.js.map +1 -0
  101. package/dist/ecs/database/database-schema/index.d.ts +3 -0
  102. package/dist/ecs/database/database-schema/index.js +3 -0
  103. package/dist/ecs/database/database-schema/index.js.map +1 -0
  104. package/dist/ecs/database/database.d.ts +7 -9
  105. package/dist/ecs/database/index.d.ts +1 -0
  106. package/dist/ecs/database/index.js +1 -0
  107. package/dist/ecs/database/index.js.map +1 -1
  108. package/dist/ecs/database/observe-dependent-value.js.map +1 -1
  109. package/dist/ecs/database/observe-dependent-value.test.js +21 -21
  110. package/dist/ecs/database/observe-dependent-value.test.js.map +1 -1
  111. package/dist/ecs/database/transactional-store/create-transactional-store.d.ts +2 -2
  112. package/dist/ecs/database/transactional-store/create-transactional-store.js +1 -0
  113. package/dist/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
  114. package/dist/ecs/database/transactional-store/create-transactional-store.test.js +11 -9
  115. package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
  116. package/dist/ecs/database/transactional-store/transactional-store.d.ts +3 -2
  117. package/dist/ecs/ecs/ecs-types.d.ts +14 -13
  118. package/dist/ecs/ecs/ecs.js.map +1 -1
  119. package/dist/ecs/ecs/ecs.test.js +1 -1
  120. package/dist/ecs/ecs/ecs.test.js.map +1 -1
  121. package/dist/ecs/ecs/index.d.ts +0 -1
  122. package/dist/ecs/ecs/index.js +21 -0
  123. package/dist/ecs/ecs/index.js.map +1 -1
  124. package/dist/ecs/index.d.ts +4 -0
  125. package/dist/ecs/index.js +4 -0
  126. package/dist/ecs/index.js.map +1 -1
  127. package/dist/ecs/resource-schemas.d.ts +6 -0
  128. package/dist/ecs/resource-schemas.js +2 -0
  129. package/dist/ecs/resource-schemas.js.map +1 -0
  130. package/dist/ecs/store/components.d.ts +1 -0
  131. package/dist/{core/schema.js → ecs/store/components.js} +1 -11
  132. package/dist/ecs/store/components.js.map +1 -0
  133. package/dist/ecs/store/core/core.d.ts +9 -8
  134. package/dist/ecs/store/core/core.js +21 -0
  135. package/dist/ecs/store/core/core.js.map +1 -1
  136. package/dist/ecs/store/create-store.d.ts +4 -6
  137. package/dist/ecs/store/create-store.js +5 -6
  138. package/dist/ecs/store/create-store.js.map +1 -1
  139. package/dist/ecs/store/create-store.test.js +21 -21
  140. package/dist/ecs/store/create-store.test.js.map +1 -1
  141. package/dist/ecs/store/resource-components copy.d.ts +1 -0
  142. package/dist/{core/schema/schema.js → ecs/store/resource-components copy.js } +1 -12
  143. package/dist/ecs/store/resource-components copy.js.map +1 -0
  144. package/dist/ecs/store/store.d.ts +5 -4
  145. package/dist/ecs/systems/index.d.ts +2 -0
  146. package/dist/ecs/systems/index.js +2 -0
  147. package/dist/ecs/systems/index.js.map +1 -0
  148. package/dist/ecs/systems/system-phase.d.ts +5 -0
  149. package/dist/ecs/systems/system-phase.js +16 -0
  150. package/dist/ecs/systems/system-phase.js.map +1 -0
  151. package/dist/ecs/systems/system.d.ts +7 -0
  152. package/dist/ecs/systems/system.js +2 -0
  153. package/dist/ecs/systems/system.js.map +1 -0
  154. package/dist/ecs/transaction-ecs/transaction-ecs.js +2 -2
  155. package/dist/ecs/transaction-ecs/transaction-ecs.js.map +1 -1
  156. package/dist/ecs/transaction-ecs/transaction-types.d.ts +7 -6
  157. package/dist/ecs/transaction-ecs/transactions.js.map +1 -1
  158. package/dist/equalsShallow.d.ts +1 -0
  159. package/dist/equalsShallow.js +37 -0
  160. package/dist/equalsShallow.js.map +1 -0
  161. package/dist/equalsShallow.test.d.ts +1 -0
  162. package/dist/equalsShallow.test.js +113 -0
  163. package/dist/equalsShallow.test.js.map +1 -0
  164. package/dist/functions/apply-args.d.ts +7 -0
  165. package/dist/functions/apply-args.js +19 -0
  166. package/dist/functions/apply-args.js.map +1 -0
  167. package/dist/functions/index.d.ts +1 -0
  168. package/dist/functions/index.js +2 -0
  169. package/dist/functions/index.js.map +1 -0
  170. package/dist/internal/object/mutable-clone.d.ts +5 -0
  171. package/dist/internal/object/mutable-clone.js +4 -0
  172. package/dist/internal/object/mutable-clone.js.map +1 -0
  173. package/dist/internal/typed-array/get-byte-size.d.ts +1 -1
  174. package/dist/lit/decorators/apply-service-decorators.js +1 -1
  175. package/dist/lit/decorators/apply-service-decorators.js.map +1 -1
  176. package/dist/lit/elements/service-application.d.ts +3 -2
  177. package/dist/lit/elements/service-application.js +10 -6
  178. package/dist/lit/elements/service-application.js.map +1 -1
  179. package/dist/lit/elements/service-element.d.ts +1 -1
  180. package/dist/lit/elements/service-element.js +2 -2
  181. package/dist/lit/elements/service-element.js.map +1 -1
  182. package/dist/old-ecs/ecs/ecs-where-cache.test.d.ts +1 -0
  183. package/dist/old-ecs/ecs/ecs-where-cache.test.js +164 -0
  184. package/dist/old-ecs/ecs/ecs-where-cache.test.js.map +1 -0
  185. package/dist/package.json +24 -24
  186. package/dist/schema/FromSchema.d.ts +25 -0
  187. package/dist/schema/FromSchema.js +2 -0
  188. package/dist/schema/FromSchema.js.map +1 -0
  189. package/dist/schema/index.d.ts +1 -1
  190. package/dist/schema/schema.d.ts +6 -0
  191. package/dist/schema/schema.js.map +1 -1
  192. package/dist/service/isService.d.ts +2 -0
  193. package/dist/service/isService.js +5 -0
  194. package/dist/service/isService.js.map +1 -0
  195. package/dist/table/copy-column-to-gpu-buffer.d.ts +5 -0
  196. package/dist/table/copy-column-to-gpu-buffer.js +26 -0
  197. package/dist/table/copy-column-to-gpu-buffer.js.map +1 -0
  198. package/dist/table/copy-to-gpu-buffer.d.ts +2 -0
  199. package/dist/table/copy-to-gpu-buffer.js +16 -0
  200. package/dist/table/copy-to-gpu-buffer.js.map +1 -0
  201. package/dist/table/create-composite-table.d.ts +5 -0
  202. package/dist/table/create-composite-table.js +20 -0
  203. package/dist/table/create-composite-table.js.map +1 -0
  204. package/dist/table/create-table.test.d.ts +1 -0
  205. package/dist/{core/schema/validation/is-valid.test.js → table/create-table.test.js} +17 -16
  206. package/dist/table/create-table.test.js.map +1 -0
  207. package/dist/table/index.d.ts +1 -0
  208. package/dist/table/index.js +1 -0
  209. package/dist/table/index.js.map +1 -1
  210. package/dist/tsconfig.tsbuildinfo +1 -1
  211. package/dist/typed-buffer/copy-to-gpu-buffer.js +1 -1
  212. package/dist/typed-buffer/copy-to-gpu-buffer.js.map +1 -1
  213. package/dist/typed-buffer/create-array-buffer.js +7 -2
  214. package/dist/typed-buffer/create-array-buffer.js.map +1 -1
  215. package/dist/typed-buffer/create-composite-buffer.d.ts +2 -0
  216. package/dist/typed-buffer/create-composite-buffer.js +85 -0
  217. package/dist/typed-buffer/create-composite-buffer.js.map +1 -0
  218. package/dist/typed-buffer/create-composite-buffer.test.d.ts +1 -0
  219. package/dist/typed-buffer/create-composite-buffer.test.js +291 -0
  220. package/dist/typed-buffer/create-composite-buffer.test.js.map +1 -0
  221. package/dist/typed-buffer/create-const-buffer.d.ts +2 -0
  222. package/dist/typed-buffer/create-const-buffer.js +30 -0
  223. package/dist/typed-buffer/create-const-buffer.js.map +1 -0
  224. package/dist/typed-buffer/create-const-buffer.test.d.ts +1 -0
  225. package/dist/typed-buffer/create-const-buffer.test.js +128 -0
  226. package/dist/typed-buffer/create-const-buffer.test.js.map +1 -0
  227. package/dist/typed-buffer/create-mapped-buffer.d.ts +6 -0
  228. package/dist/typed-buffer/create-mapped-buffer.js +32 -0
  229. package/dist/typed-buffer/create-mapped-buffer.js.map +1 -0
  230. package/dist/typed-buffer/create-mapped-buffer.test.d.ts +1 -0
  231. package/dist/typed-buffer/create-mapped-buffer.test.js +202 -0
  232. package/dist/typed-buffer/create-mapped-buffer.test.js.map +1 -0
  233. package/dist/typed-buffer/create-number-buffer.js +4 -2
  234. package/dist/typed-buffer/create-number-buffer.js.map +1 -1
  235. package/dist/typed-buffer/create-struct-buffer.js +8 -16
  236. package/dist/typed-buffer/create-struct-buffer.js.map +1 -1
  237. package/dist/typed-buffer/create-typed-buffer.js +4 -0
  238. package/dist/typed-buffer/create-typed-buffer.js.map +1 -1
  239. package/dist/typed-buffer/index.js.map +1 -1
  240. package/dist/typed-buffer/typed-buffer.d.ts +3 -1
  241. package/dist/typed-buffer/typed-buffer.test.js +103 -0
  242. package/dist/typed-buffer/typed-buffer.test.js.map +1 -1
  243. package/dist/types/array/equalsShallow.d.ts +1 -0
  244. package/dist/types/array/equalsShallow.js +37 -0
  245. package/dist/types/array/equalsShallow.js.map +1 -0
  246. package/dist/types/array/equalsShallow.test.d.ts +1 -0
  247. package/dist/types/array/equalsShallow.test.js +113 -0
  248. package/dist/types/array/equalsShallow.test.js.map +1 -0
  249. package/dist/types/array/index.d.ts +1 -0
  250. package/dist/types/array/index.js +2 -0
  251. package/dist/types/array/index.js.map +1 -0
  252. package/dist/types/array-buffer-like/copy.d.ts +1 -0
  253. package/dist/types/array-buffer-like/copy.js +469 -0
  254. package/dist/types/array-buffer-like/copy.js.map +1 -0
  255. package/dist/types/array-buffer-like/grow.d.ts +1 -0
  256. package/dist/types/array-buffer-like/grow.js +53 -0
  257. package/dist/types/array-buffer-like/grow.js.map +1 -0
  258. package/dist/types/array-buffer-like/index.d.ts +4 -0
  259. package/dist/types/array-buffer-like/index.js +26 -0
  260. package/dist/types/array-buffer-like/index.js.map +1 -0
  261. package/dist/types/array-buffer-like/is-array-buffer.d.ts +1 -0
  262. package/dist/types/array-buffer-like/is-array-buffer.js +445 -0
  263. package/dist/types/array-buffer-like/is-array-buffer.js.map +1 -0
  264. package/dist/types/array-buffer-like/is-shared-array-buffer.d.ts +1 -0
  265. package/dist/types/array-buffer-like/is-shared-array-buffer.js +445 -0
  266. package/dist/types/array-buffer-like/is-shared-array-buffer.js.map +1 -0
  267. package/dist/types/data-view-32/create-data-view-32.d.ts +2 -0
  268. package/dist/types/data-view-32/create-data-view-32.js +8 -0
  269. package/dist/types/data-view-32/create-data-view-32.js.map +1 -0
  270. package/dist/types/data-view-32/data-view-32.d.ts +5 -0
  271. package/dist/types/data-view-32/data-view-32.js +23 -0
  272. package/dist/types/data-view-32/data-view-32.js.map +1 -0
  273. package/dist/types/data-view-32/index.d.ts +2 -0
  274. package/dist/types/data-view-32/index.js +24 -0
  275. package/dist/types/data-view-32/index.js.map +1 -0
  276. package/dist/types/object/index.d.ts +2 -0
  277. package/dist/types/object/index.js +24 -0
  278. package/dist/types/object/index.js.map +1 -0
  279. package/dist/types/object/map-entries.d.ts +5 -0
  280. package/dist/types/object/map-entries.js +29 -0
  281. package/dist/types/object/map-entries.js.map +1 -0
  282. package/dist/types/object/mutable-clone.d.ts +5 -0
  283. package/dist/types/object/mutable-clone.js +4 -0
  284. package/dist/types/object/mutable-clone.js.map +1 -0
  285. package/dist/types/remove-readonly.d.ts +3 -0
  286. package/dist/types/remove-readonly.js +2 -0
  287. package/dist/types/remove-readonly.js.map +1 -0
  288. package/dist/types/table/add-row.d.ts +8 -0
  289. package/dist/types/table/add-row.js +40 -0
  290. package/dist/types/table/add-row.js.map +1 -0
  291. package/dist/types/table/create-table.d.ts +3 -0
  292. package/dist/types/table/create-table.js +33 -0
  293. package/dist/types/table/create-table.js.map +1 -0
  294. package/dist/types/table/delete-row.d.ts +9 -0
  295. package/dist/types/table/delete-row.js +18 -0
  296. package/dist/types/table/delete-row.js.map +1 -0
  297. package/dist/types/table/ensure-capacity.d.ts +2 -0
  298. package/dist/types/table/ensure-capacity.js +15 -0
  299. package/dist/types/table/ensure-capacity.js.map +1 -0
  300. package/dist/types/table/get-row-data.d.ts +3 -0
  301. package/dist/types/table/get-row-data.js +8 -0
  302. package/dist/types/table/get-row-data.js.map +1 -0
  303. package/dist/types/table/index.d.ts +8 -0
  304. package/dist/types/table/index.js +30 -0
  305. package/dist/types/table/index.js.map +1 -0
  306. package/dist/types/table/row-index.d.ts +8 -0
  307. package/dist/types/table/row-index.js +3 -0
  308. package/dist/types/table/row-index.js.map +1 -0
  309. package/dist/types/table/table.d.ts +13 -0
  310. package/dist/types/table/table.js +2 -0
  311. package/dist/types/table/table.js.map +1 -0
  312. package/dist/types/table/update-row.d.ts +8 -0
  313. package/dist/types/table/update-row.js +12 -0
  314. package/dist/types/table/update-row.js.map +1 -0
  315. package/dist/types/typed-array/copy-to-gpu-buffer.d.ts +2 -0
  316. package/dist/types/typed-array/copy-to-gpu-buffer.js +16 -0
  317. package/dist/types/typed-array/copy-to-gpu-buffer.js.map +1 -0
  318. package/dist/types/typed-array/get-byte-size.d.ts +2 -0
  319. package/dist/types/typed-array/get-byte-size.js +28 -0
  320. package/dist/types/typed-array/get-byte-size.js.map +1 -0
  321. package/dist/types/typed-array/index.d.ts +4 -0
  322. package/dist/types/typed-array/index.js +26 -0
  323. package/dist/types/typed-array/index.js.map +1 -0
  324. package/dist/types/typed-array/typed-array-constructer.d.ts +7 -0
  325. package/dist/types/typed-array/typed-array-constructer.js +2 -0
  326. package/dist/types/typed-array/typed-array-constructer.js.map +1 -0
  327. package/dist/types/typed-array/typed-array.d.ts +1 -0
  328. package/dist/types/typed-array/typed-array.js +23 -0
  329. package/dist/types/typed-array/typed-array.js.map +1 -0
  330. package/dist/types/typed-buffer/copy-to-gpu-buffer.d.ts +2 -0
  331. package/dist/types/typed-buffer/copy-to-gpu-buffer.js +16 -0
  332. package/dist/types/typed-buffer/copy-to-gpu-buffer.js.map +1 -0
  333. package/dist/types/typed-buffer/create-array-buffer.d.ts +4 -0
  334. package/dist/types/typed-buffer/create-array-buffer.js +29 -0
  335. package/dist/types/typed-buffer/create-array-buffer.js.map +1 -0
  336. package/dist/types/typed-buffer/create-number-buffer.d.ts +8 -0
  337. package/dist/types/typed-buffer/create-number-buffer.js +75 -0
  338. package/dist/types/typed-buffer/create-number-buffer.js.map +1 -0
  339. package/dist/types/typed-buffer/create-struct-buffer.d.ts +10 -0
  340. package/dist/types/typed-buffer/create-struct-buffer.js +78 -0
  341. package/dist/types/typed-buffer/create-struct-buffer.js.map +1 -0
  342. package/dist/types/typed-buffer/create-typed-buffer.d.ts +7 -0
  343. package/dist/types/typed-buffer/create-typed-buffer.js +17 -0
  344. package/dist/types/typed-buffer/create-typed-buffer.js.map +1 -0
  345. package/dist/types/typed-buffer/index.d.ts +6 -0
  346. package/dist/types/typed-buffer/index.js +28 -0
  347. package/dist/types/typed-buffer/index.js.map +1 -0
  348. package/dist/types/typed-buffer/structs/assert-struct.d.ts +8 -0
  349. package/dist/types/typed-buffer/structs/assert-struct.js +15 -0
  350. package/dist/types/typed-buffer/structs/assert-struct.js.map +1 -0
  351. package/dist/types/typed-buffer/structs/create-read-struct.d.ts +3 -0
  352. package/dist/types/typed-buffer/structs/create-read-struct.js +62 -0
  353. package/dist/types/typed-buffer/structs/create-read-struct.js.map +1 -0
  354. package/dist/types/typed-buffer/structs/create-read-struct.test.d.ts +1 -0
  355. package/dist/types/typed-buffer/structs/create-read-struct.test.js +189 -0
  356. package/dist/types/typed-buffer/structs/create-read-struct.test.js.map +1 -0
  357. package/dist/types/typed-buffer/structs/create-write-struct.d.ts +3 -0
  358. package/dist/types/typed-buffer/structs/create-write-struct.js +58 -0
  359. package/dist/types/typed-buffer/structs/create-write-struct.js.map +1 -0
  360. package/dist/types/typed-buffer/structs/get-field-offset.d.ts +2 -0
  361. package/dist/types/typed-buffer/structs/get-field-offset.js +14 -0
  362. package/dist/types/typed-buffer/structs/get-field-offset.js.map +1 -0
  363. package/dist/types/typed-buffer/structs/get-struct-layout.d.ts +5 -0
  364. package/dist/types/typed-buffer/structs/get-struct-layout.js +198 -0
  365. package/dist/types/typed-buffer/structs/get-struct-layout.js.map +1 -0
  366. package/dist/types/typed-buffer/structs/get-struct-layout.test.d.ts +1 -0
  367. package/dist/types/typed-buffer/structs/get-struct-layout.test.js +133 -0
  368. package/dist/types/typed-buffer/structs/get-struct-layout.test.js.map +1 -0
  369. package/dist/types/typed-buffer/structs/index.d.ts +1 -0
  370. package/dist/types/typed-buffer/structs/index.js +23 -0
  371. package/dist/types/typed-buffer/structs/index.js.map +1 -0
  372. package/dist/types/typed-buffer/structs/read-struct.d.ts +2 -0
  373. package/dist/types/typed-buffer/structs/read-struct.js +2 -0
  374. package/dist/types/typed-buffer/structs/read-struct.js.map +1 -0
  375. package/dist/types/typed-buffer/structs/struct-layout.d.ts +21 -0
  376. package/dist/types/typed-buffer/structs/struct-layout.js +23 -0
  377. package/dist/types/typed-buffer/structs/struct-layout.js.map +1 -0
  378. package/dist/types/typed-buffer/structs/write-struct.d.ts +2 -0
  379. package/dist/types/typed-buffer/structs/write-struct.js +2 -0
  380. package/dist/types/typed-buffer/structs/write-struct.js.map +1 -0
  381. package/dist/types/typed-buffer/structs/write-struct.test.d.ts +1 -0
  382. package/dist/types/typed-buffer/structs/write-struct.test.js +181 -0
  383. package/dist/types/typed-buffer/structs/write-struct.test.js.map +1 -0
  384. package/dist/types/typed-buffer/typed-buffer.d.ts +16 -0
  385. package/dist/types/typed-buffer/typed-buffer.js +2 -0
  386. package/dist/types/typed-buffer/typed-buffer.js.map +1 -0
  387. package/dist/types/typed-buffer/typed-buffer.test.d.ts +1 -0
  388. package/dist/types/typed-buffer/typed-buffer.test.js +223 -0
  389. package/dist/types/typed-buffer/typed-buffer.test.js.map +1 -0
  390. package/dist/types/types.d.ts +5 -2
  391. package/dist/types/types.js.map +1 -1
  392. package/dist/ui/decorators/apply-decorator.d.ts +1 -0
  393. package/dist/ui/decorators/apply-decorator.js +18 -0
  394. package/dist/ui/decorators/apply-decorator.js.map +1 -0
  395. package/dist/ui/decorators/apply-service-decorators.d.ts +1 -0
  396. package/dist/ui/decorators/apply-service-decorators.js +12 -0
  397. package/dist/ui/decorators/apply-service-decorators.js.map +1 -0
  398. package/dist/ui/decorators/require-service.d.ts +1 -0
  399. package/dist/ui/decorators/require-service.js +13 -0
  400. package/dist/ui/decorators/require-service.js.map +1 -0
  401. package/dist/ui/elements/index.d.ts +3 -0
  402. package/dist/ui/elements/index.js +4 -0
  403. package/dist/ui/elements/index.js.map +1 -0
  404. package/dist/ui/elements/service-application.d.ts +8 -0
  405. package/dist/ui/elements/service-application.js +27 -0
  406. package/dist/ui/elements/service-application.js.map +1 -0
  407. package/dist/ui/elements/service-context.d.ts +1 -0
  408. package/dist/ui/elements/service-context.js +3 -0
  409. package/dist/ui/elements/service-context.js.map +1 -0
  410. package/dist/ui/elements/service-element.d.ts +6 -0
  411. package/dist/ui/elements/service-element.js +22 -0
  412. package/dist/ui/elements/service-element.js.map +1 -0
  413. package/dist/ui/hooks/component/component.d.ts +9 -0
  414. package/dist/ui/hooks/component/component.js +2 -0
  415. package/dist/ui/hooks/component/component.js.map +1 -0
  416. package/dist/ui/hooks/component/stack.d.ts +6 -0
  417. package/dist/ui/hooks/component/stack.js +15 -0
  418. package/dist/ui/hooks/component/stack.js.map +1 -0
  419. package/dist/ui/hooks/index.d.ts +7 -0
  420. package/dist/ui/hooks/index.js +9 -0
  421. package/dist/ui/hooks/index.js.map +1 -0
  422. package/dist/ui/hooks/use-connected.d.ts +2 -0
  423. package/dist/ui/hooks/use-connected.js +31 -0
  424. package/dist/ui/hooks/use-connected.js.map +1 -0
  425. package/dist/ui/hooks/use-effect.d.ts +3 -0
  426. package/dist/ui/hooks/use-effect.js +13 -0
  427. package/dist/ui/hooks/use-effect.js.map +1 -0
  428. package/dist/ui/hooks/use-element.d.ts +4 -0
  429. package/dist/ui/hooks/use-element.js +8 -0
  430. package/dist/ui/hooks/use-element.js.map +1 -0
  431. package/dist/ui/hooks/use-memo.d.ts +1 -0
  432. package/dist/ui/hooks/use-memo.js +12 -0
  433. package/dist/ui/hooks/use-memo.js.map +1 -0
  434. package/dist/ui/hooks/use-observable-values.d.ts +5 -0
  435. package/dist/ui/hooks/use-observable-values.js +8 -0
  436. package/dist/ui/hooks/use-observable-values.js.map +1 -0
  437. package/dist/ui/hooks/use-observable.d.ts +2 -0
  438. package/dist/ui/hooks/use-observable.js +12 -0
  439. package/dist/ui/hooks/use-observable.js.map +1 -0
  440. package/dist/ui/hooks/use-ref.d.ts +3 -0
  441. package/dist/ui/hooks/use-ref.js +6 -0
  442. package/dist/ui/hooks/use-ref.js.map +1 -0
  443. package/dist/ui/hooks/use-resize-observer.d.ts +10 -0
  444. package/dist/ui/hooks/use-resize-observer.js +20 -0
  445. package/dist/ui/hooks/use-resize-observer.js.map +1 -0
  446. package/dist/ui/hooks/use-state.d.ts +2 -0
  447. package/dist/ui/hooks/use-state.js +14 -0
  448. package/dist/ui/hooks/use-state.js.map +1 -0
  449. package/dist/ui/hooks/use-window-event.d.ts +1 -0
  450. package/dist/ui/hooks/use-window-event.js +10 -0
  451. package/dist/ui/hooks/use-window-event.js.map +1 -0
  452. package/dist/ui/hooks/with-hooks.d.ts +2 -0
  453. package/dist/ui/hooks/with-hooks.js +15 -0
  454. package/dist/ui/hooks/with-hooks.js.map +1 -0
  455. package/dist/ui/index.d.ts +1 -0
  456. package/dist/ui/index.js +2 -0
  457. package/dist/ui/index.js.map +1 -0
  458. package/package.json +8 -1
  459. package/dist/core/functions/array-equals.d.ts +0 -1
  460. package/dist/core/functions/array-equals.js.map +0 -1
  461. package/dist/core/functions/with-validation.d.ts +0 -5
  462. package/dist/core/functions/with-validation.js +0 -38
  463. package/dist/core/functions/with-validation.js.map +0 -1
  464. package/dist/core/functions/with-validation.test.js +0 -96
  465. package/dist/core/functions/with-validation.test.js.map +0 -1
  466. package/dist/core/schema/dynamic/dynamic-schema.d.ts +0 -27
  467. package/dist/core/schema/dynamic/dynamic-schema.js +0 -2
  468. package/dist/core/schema/dynamic/dynamic-schema.js.map +0 -1
  469. package/dist/core/schema/dynamic/enumerate-patches.d.ts +0 -9
  470. package/dist/core/schema/dynamic/enumerate-patches.js +0 -50
  471. package/dist/core/schema/dynamic/enumerate-patches.js.map +0 -1
  472. package/dist/core/schema/dynamic/enumerate-patches.test.d.ts +0 -134
  473. package/dist/core/schema/dynamic/enumerate-patches.test.js +0 -209
  474. package/dist/core/schema/dynamic/enumerate-patches.test.js.map +0 -1
  475. package/dist/core/schema/dynamic/get-dynamic-schema.d.ts +0 -5
  476. package/dist/core/schema/dynamic/get-dynamic-schema.js +0 -26
  477. package/dist/core/schema/dynamic/get-dynamic-schema.js.map +0 -1
  478. package/dist/core/schema/dynamic/get-dynamic-schema.test.js +0 -94
  479. package/dist/core/schema/dynamic/get-dynamic-schema.test.js.map +0 -1
  480. package/dist/core/schema/dynamic/index.d.ts +0 -1
  481. package/dist/core/schema/dynamic/index.js +0 -2
  482. package/dist/core/schema/dynamic/index.js.map +0 -1
  483. package/dist/core/schema/dynamic/schema-path-value-path.d.ts +0 -5
  484. package/dist/core/schema/dynamic/schema-path-value-path.js +0 -12
  485. package/dist/core/schema/dynamic/schema-path-value-path.js.map +0 -1
  486. package/dist/core/schema/dynamic-schema.d.ts +0 -27
  487. package/dist/core/schema/dynamic-schema.js +0 -2
  488. package/dist/core/schema/dynamic-schema.js.map +0 -1
  489. package/dist/core/schema/index.d.ts +0 -4
  490. package/dist/core/schema/index.js.map +0 -1
  491. package/dist/core/schema/schema.d.ts +0 -122
  492. package/dist/core/schema/schema.js.map +0 -1
  493. package/dist/core/schema/schemas.d.ts +0 -45
  494. package/dist/core/schema/schemas.js +0 -39
  495. package/dist/core/schema/schemas.js.map +0 -1
  496. package/dist/core/schema/ui-schema.d.ts +0 -25
  497. package/dist/core/schema/ui-schema.js +0 -2
  498. package/dist/core/schema/ui-schema.js.map +0 -1
  499. package/dist/core/schema/validation/is-valid.d.ts +0 -2
  500. package/dist/core/schema/validation/is-valid.js +0 -14
  501. package/dist/core/schema/validation/is-valid.js.map +0 -1
  502. package/dist/core/schema/validation/is-valid.test.js.map +0 -1
  503. package/dist/core/schema/validation/validate.d.ts +0 -2
  504. package/dist/core/schema/validation/validate.js.map +0 -1
  505. package/dist/core/schema/validation/validate.test.js +0 -106
  506. package/dist/core/schema/validation/validate.test.js.map +0 -1
  507. package/dist/core/schema/validation/with-validation.d.ts +0 -5
  508. package/dist/core/schema/validation/with-validation.js +0 -16
  509. package/dist/core/schema/validation/with-validation.js.map +0 -1
  510. package/dist/core/schema/validation/with-validation.test.js +0 -96
  511. package/dist/core/schema/validation/with-validation.test.js.map +0 -1
  512. package/dist/core/schema.d.ts +0 -86
  513. package/dist/core/schema.js.map +0 -1
  514. package/dist/core/schemas.d.ts +0 -45
  515. package/dist/core/schemas.js +0 -39
  516. package/dist/core/schemas.js.map +0 -1
  517. package/dist/schemas/index.d.ts +0 -1
  518. package/dist/schemas/index.js.map +0 -1
  519. package/dist/schemas/schemas.d.ts +0 -45
  520. package/dist/schemas/schemas.js +0 -39
  521. package/dist/schemas/schemas.js.map +0 -1
  522. /package/dist/{core/functions/with-validation.test.d.ts → _/equals.test.d.ts} +0 -0
  523. /package/dist/{core/schema/dynamic/get-dynamic-schema.test.d.ts → _/normalize.test.d.ts} +0 -0
  524. /package/dist/{core/schema/validation/is-valid.test.d.ts → _/schema.test.d.ts} +0 -0
  525. /package/dist/{core/schema/validation/validate.test.d.ts → blob-store/blob-store.test.d.ts} +0 -0
  526. /package/dist/core/{schema/validation/with-validation.test.d.ts → equals.test.d.ts} +0 -0
@@ -1,209 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { enumeratePatches } from './enumerate-patches.js';
3
- export const PersonSchema = {
4
- type: "object",
5
- properties: {
6
- name: {
7
- type: "string",
8
- ui: {
9
- name: "Name",
10
- placeholder: "John Doe",
11
- }
12
- },
13
- age: {
14
- type: "number",
15
- default: 30,
16
- minimum: 0,
17
- maximum: 100,
18
- ui: {
19
- name: "Age",
20
- },
21
- conditionals: [
22
- // when the age is less than 18 then email is not visible.
23
- {
24
- path: "$.properties.email.ui",
25
- value: {
26
- visible: false,
27
- },
28
- match: {
29
- exclusiveMaximum: 18,
30
- }
31
- }
32
- ]
33
- },
34
- email: {
35
- type: "string",
36
- ui: {
37
- name: "Email",
38
- placeholder: "john.doe@example.com",
39
- }
40
- },
41
- },
42
- additionalProperties: false,
43
- };
44
- export const PersonSchemaWithOneOf = {
45
- type: "object",
46
- properties: {
47
- name: {
48
- type: "string",
49
- ui: {
50
- name: "Name",
51
- placeholder: "John Doe",
52
- }
53
- },
54
- species: {
55
- type: "string",
56
- oneOf: [
57
- {
58
- const: "human",
59
- conditionals: [
60
- {
61
- path: "$.properties.email.ui",
62
- value: {
63
- visible: true,
64
- }
65
- }
66
- ]
67
- },
68
- {
69
- const: "robot",
70
- conditionals: [
71
- {
72
- path: "$.properties.email.ui",
73
- value: {
74
- enabled: false,
75
- }
76
- }
77
- ]
78
- }
79
- ]
80
- },
81
- email: {
82
- type: "string",
83
- ui: {
84
- name: "Email",
85
- placeholder: "john.doe@example.com",
86
- }
87
- },
88
- },
89
- additionalProperties: false,
90
- };
91
- export const PersonSchemaRootConditions = {
92
- type: "object",
93
- properties: {
94
- name: {
95
- type: "string",
96
- ui: {
97
- name: "Name",
98
- placeholder: "John Doe",
99
- }
100
- },
101
- species: {
102
- type: "string",
103
- oneOf: [
104
- {
105
- const: "human",
106
- },
107
- {
108
- const: "robot",
109
- }
110
- ]
111
- },
112
- email: {
113
- type: "string",
114
- ui: {
115
- name: "Email",
116
- placeholder: "john.doe@example.com",
117
- }
118
- },
119
- },
120
- conditionals: [
121
- // if the name length is less than 3 then the email is not visible.
122
- {
123
- path: "$.properties.email.ui",
124
- value: {
125
- visible: false,
126
- },
127
- match: {
128
- properties: {
129
- name: {
130
- maxLength: 2,
131
- }
132
- }
133
- }
134
- },
135
- // if the name length is greater than 3 and the species is human then the email is visible.
136
- {
137
- path: "$.properties.email.ui",
138
- value: {
139
- visible: true,
140
- },
141
- match: {
142
- properties: {
143
- name: {
144
- minLength: 3,
145
- },
146
- species: {
147
- const: "human",
148
- }
149
- }
150
- }
151
- }
152
- ],
153
- additionalProperties: false,
154
- };
155
- describe('enumeratePatches', () => {
156
- it('should not enumerate patches when the local condition is not met', () => {
157
- const patches = [...enumeratePatches(PersonSchema, {
158
- name: "John Doe",
159
- age: 20,
160
- })];
161
- expect(patches).toEqual([]);
162
- });
163
- it('should enumerate patches when the local condition is met', () => {
164
- const patches = [...enumeratePatches(PersonSchema, {
165
- name: "John Doe",
166
- age: 10,
167
- })];
168
- expect(patches).toEqual([
169
- { path: ["$", "properties", "email", "ui"], fragment: { visible: false } },
170
- ]);
171
- });
172
- it('should match on oneOf cases for human', () => {
173
- const patches = [...enumeratePatches(PersonSchemaWithOneOf, {
174
- name: "John Doe",
175
- species: "human",
176
- })];
177
- expect(patches).toEqual([
178
- { path: ["$", "properties", "email", "ui"], fragment: { visible: true } },
179
- ]);
180
- });
181
- it('should match on oneOf cases for robot', () => {
182
- const patches = [...enumeratePatches(PersonSchemaWithOneOf, {
183
- name: "John Doe",
184
- species: "robot",
185
- })];
186
- expect(patches).toEqual([
187
- { path: ["$", "properties", "email", "ui"], fragment: { enabled: false } },
188
- ]);
189
- });
190
- it('should match on complex root conditions', () => {
191
- const patches = [...enumeratePatches(PersonSchemaRootConditions, {
192
- name: "John Doe",
193
- species: "human",
194
- })];
195
- expect(patches).toEqual([
196
- { path: ["$", "properties", "email", "ui"], fragment: { visible: true } },
197
- ]);
198
- });
199
- it('should match on simple root conditions', () => {
200
- const patches = [...enumeratePatches(PersonSchemaRootConditions, {
201
- name: "ab",
202
- species: "human",
203
- })];
204
- expect(patches).toEqual([
205
- { path: ["$", "properties", "email", "ui"], fragment: { visible: false } },
206
- ]);
207
- });
208
- });
209
- //# sourceMappingURL=enumerate-patches.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enumerate-patches.test.js","sourceRoot":"","sources":["../../../../src/core/schema/dynamic/enumerate-patches.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { Schema } from "../schema.js";
2
- /**
3
- * Gets a dynamic schema from a static schema with conditionals and a current value.
4
- */
5
- export declare function getDynamicSchema(schema: Schema, value: unknown): Schema;
@@ -1,26 +0,0 @@
1
- import { normalize } from "../../data.js";
2
- import { deepMerge } from "../../functions/deep-merge.js";
3
- import { enumeratePatches } from "./enumerate-patches.js";
4
- import jp from "jsonpath";
5
- /**
6
- * Gets a dynamic schema from a static schema with conditionals and a current value.
7
- */
8
- export function getDynamicSchema(schema, value) {
9
- let input = schema;
10
- for (let i = 0; i < 20; i++) {
11
- const output = structuredClone(input);
12
- for (const { path, fragment } of enumeratePatches(input, value)) {
13
- const node = jp.value(output, jp.stringify(path));
14
- if (typeof node !== "object" || node === null) {
15
- throw new Error(`Target node MUST be an object, found: ${JSON.stringify(node)} at ${jp.stringify(path)}`);
16
- }
17
- Object.assign(node, deepMerge(node, fragment, { mergeArrays: false }));
18
- }
19
- if (JSON.stringify(normalize(input)) === JSON.stringify(normalize(output))) {
20
- return output;
21
- }
22
- input = output;
23
- }
24
- throw new Error("Failed resolve stable dynamic schema");
25
- }
26
- //# sourceMappingURL=get-dynamic-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-dynamic-schema.js","sourceRoot":"","sources":["../../../../src/core/schema/dynamic/get-dynamic-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,KAAc;IAC3D,IAAI,KAAK,GAAG,MAAM,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9G,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,KAAK,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAC5D,CAAC"}
@@ -1,94 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { getDynamicSchema } from './get-dynamic-schema.js';
3
- import { PersonSchema, PersonSchemaWithOneOf, PersonSchemaRootConditions } from './enumerate-patches.test.js';
4
- describe('getDynamicSchema', () => {
5
- it('should not modify schema when local condition is not met', () => {
6
- const dynamicSchema = getDynamicSchema(PersonSchema, {
7
- name: "John Doe",
8
- age: 20,
9
- });
10
- // Email UI should remain unchanged
11
- expect(dynamicSchema.properties?.email?.ui).toEqual({
12
- name: "Email",
13
- placeholder: "john.doe@example.com",
14
- });
15
- });
16
- it('should modify schema when local condition is met', () => {
17
- const dynamicSchema = getDynamicSchema(PersonSchema, {
18
- name: "John Doe",
19
- age: 10,
20
- });
21
- // Email UI should be hidden
22
- expect(dynamicSchema.properties?.email?.ui).toEqual({
23
- name: "Email",
24
- placeholder: "john.doe@example.com",
25
- visible: false,
26
- });
27
- });
28
- it('should apply oneOf conditions for human', () => {
29
- const dynamicSchema = getDynamicSchema(PersonSchemaWithOneOf, {
30
- name: "John Doe",
31
- species: "human",
32
- });
33
- // Email UI should be visible
34
- expect(dynamicSchema.properties?.email?.ui).toEqual({
35
- name: "Email",
36
- placeholder: "john.doe@example.com",
37
- visible: true,
38
- });
39
- });
40
- it('should apply oneOf conditions for robot', () => {
41
- const dynamicSchema = getDynamicSchema(PersonSchemaWithOneOf, {
42
- name: "John Doe",
43
- species: "robot",
44
- });
45
- // Email UI should be disabled
46
- expect(dynamicSchema.properties?.email?.ui).toEqual({
47
- name: "Email",
48
- placeholder: "john.doe@example.com",
49
- enabled: false,
50
- });
51
- });
52
- it('should apply complex root conditions', () => {
53
- const dynamicSchema = getDynamicSchema(PersonSchemaRootConditions, {
54
- name: "John Doe",
55
- species: "human",
56
- });
57
- // Email UI should be visible due to name length > 3 and species being human
58
- expect(dynamicSchema.properties?.email?.ui).toEqual({
59
- name: "Email",
60
- placeholder: "john.doe@example.com",
61
- visible: true,
62
- });
63
- });
64
- it('should apply simple root conditions', () => {
65
- const dynamicSchema = getDynamicSchema(PersonSchemaRootConditions, {
66
- name: "ab",
67
- species: "human",
68
- });
69
- // Email UI should be hidden due to name length <= 2
70
- expect(dynamicSchema.properties?.email?.ui).toEqual({
71
- name: "Email",
72
- placeholder: "john.doe@example.com",
73
- visible: false,
74
- });
75
- });
76
- it('should throw error when target node is not an object', () => {
77
- const invalidSchema = {
78
- type: "object",
79
- properties: {
80
- name: {
81
- type: "string",
82
- conditionals: [{
83
- path: "$.type", // targeting a string, not an object
84
- value: { visible: false }
85
- }]
86
- }
87
- }
88
- };
89
- expect(() => getDynamicSchema(invalidSchema, {
90
- name: "John Doe"
91
- })).toThrow('Target node MUST be an object');
92
- });
93
- });
94
- //# sourceMappingURL=get-dynamic-schema.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-dynamic-schema.test.js","sourceRoot":"","sources":["../../../../src/core/schema/dynamic/get-dynamic-schema.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export * from './get-dynamic-schema.js';
@@ -1,2 +0,0 @@
1
- export * from './get-dynamic-schema.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/schema/dynamic/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -1,5 +0,0 @@
1
- import { PathComponent } from "jsonpath";
2
- /**
3
- * Given a JSPON path into a schema, return the JSON path to find the corresponding value in the value object.
4
- */
5
- export declare function schemaPathValuePath(schemaPath: PathComponent[]): PathComponent[];
@@ -1,12 +0,0 @@
1
- /**
2
- * Given a JSPON path into a schema, return the JSON path to find the corresponding value in the value object.
3
- */
4
- export function schemaPathValuePath(schemaPath) {
5
- return schemaPath.filter((p) => {
6
- if (p === "properties" || p === "items" || p === "oneOf") {
7
- return false;
8
- }
9
- return true;
10
- });
11
- }
12
- //# sourceMappingURL=schema-path-value-path.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-path-value-path.js","sourceRoot":"","sources":["../../../../src/core/schema/dynamic/schema-path-value-path.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAA2B;IAC3D,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAgB,EAAE,EAAE;QAC1C,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -1,27 +0,0 @@
1
- import { Data } from "../../index.js";
2
- import { Schema } from "./schema.js";
3
- type JSONPath = string;
4
- type JSONMergePatch = Data;
5
- /**
6
- * Conditional patch applied to the path when the enclosing schema branch is active
7
- * and `match` is not present or validates against the root.
8
- */
9
- export interface Conditional {
10
- readonly match?: Schema;
11
- readonly path: JSONPath;
12
- readonly value: JSONMergePatch;
13
- }
14
- /**
15
- * A Dynamic Schema extends a base schema with conditional behaviour
16
- * based upon the current state of the data the schema describes.
17
- */
18
- export type DynamicSchema<B extends Schema> = B & {
19
- readonly conditionals?: readonly Conditional[];
20
- readonly items?: DynamicSchema<B>;
21
- readonly properties?: {
22
- readonly [key: string]: DynamicSchema<B>;
23
- };
24
- readonly additionalProperties?: boolean | DynamicSchema<B>;
25
- readonly oneOf?: readonly DynamicSchema<B>[];
26
- };
27
- export {};
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=dynamic-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamic-schema.js","sourceRoot":"","sources":["../../../src/core/schema/dynamic-schema.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- export * from "./schema.js";
2
- export * from "./schemas.js";
3
- export * from "./dynamic/index.js";
4
- export * from "./validation/with-validation.js";
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC"}
@@ -1,122 +0,0 @@
1
- import { DeepReadonly } from "../../types/types.js";
2
- type JSONPath = string;
3
- type JSONMergePatch = unknown;
4
- /**
5
- * Conditional patch applied to the path when the enclosing schema branch is active
6
- * and `match` is not present or validates against the root.
7
- * This is used for dynamic schemas which change in response to the value of the data.
8
- */
9
- export type Conditional = {
10
- match?: Schema;
11
- path: JSONPath;
12
- value: JSONMergePatch;
13
- };
14
- export interface UIProperties {
15
- name?: string;
16
- icon?: string;
17
- summary?: string;
18
- premium?: boolean;
19
- placeholder?: string;
20
- details?: string;
21
- visible?: boolean;
22
- enabled?: boolean;
23
- infoUrl?: string;
24
- group?: string;
25
- order?: number;
26
- groups?: {
27
- readonly [key: string]: UIProperties;
28
- };
29
- }
30
- export interface Schema {
31
- type?: 'number' | 'integer' | 'string' | 'boolean' | 'null' | 'array' | 'object';
32
- conditionals?: readonly Conditional[];
33
- ui?: UIProperties;
34
- default?: any;
35
- precision?: 1 | 2;
36
- multipleOf?: number;
37
- mediaType?: string;
38
- minimum?: number;
39
- maximum?: number;
40
- minLength?: number;
41
- maxLength?: number;
42
- exclusiveMinimum?: number;
43
- exclusiveMaximum?: number;
44
- pattern?: string;
45
- minItems?: number;
46
- maxItems?: number;
47
- items?: Schema;
48
- properties?: {
49
- readonly [key: string]: Schema;
50
- };
51
- required?: readonly string[];
52
- additionalProperties?: boolean | Schema;
53
- oneOf?: readonly Schema[];
54
- const?: any;
55
- enum?: readonly any[];
56
- }
57
- export type FromSchema<T, Depth extends number = 5> = DeepReadonly<Depth extends 0 ? any : T extends {
58
- const: infer Const;
59
- } ? Const : T extends {
60
- enum: infer Enum;
61
- } ? Enum extends ReadonlyArray<any> ? Enum[number] : never : T extends {
62
- oneOf: infer Schemas;
63
- } ? Schemas extends ReadonlyArray<Schema> ? FromOneOfSchema<Schemas, Decrement<Depth>> : never : T extends {
64
- type: 'number' | 'integer';
65
- } ? number : T extends {
66
- type: 'string';
67
- } ? string : T extends {
68
- type: 'boolean';
69
- } ? boolean : T extends {
70
- type: 'null';
71
- } ? null : T extends {
72
- type: 'array';
73
- } | {
74
- items: any;
75
- } ? FromSchemaArray<T, Decrement<Depth>> : T extends {
76
- type: 'object';
77
- } | {
78
- properties: any;
79
- } ? FromSchemaObject<T, Decrement<Depth>> : any>;
80
- type Decrement<N extends number> = ((...x: any[]) => void) extends (arg: any, ...rest: infer R) => void ? R['length'] : never;
81
- type FromSchemaArray<T, Depth extends number> = T extends {
82
- items: infer Items;
83
- } ? T extends {
84
- minItems: infer Min;
85
- maxItems: infer Max;
86
- } ? Equal<Min, Max> extends true ? BuildTuple<FromSchema<Items, Depth>, Min> : FromSchema<Items, Depth>[] : FromSchema<Items, Depth>[] : any[];
87
- type BuildTuple<T, N, R extends unknown[] = []> = R['length'] extends N ? R : BuildTuple<T, N, [...R, T]>;
88
- type FromSchemaObject<T extends Schema, Depth extends number> = T extends {
89
- properties: infer P;
90
- } ? Simplify<{
91
- [K in RequiredKeys<T>]: FromSchema<P[K], Depth>;
92
- } & {
93
- [K in OptionalKeys<T>]?: FromSchema<P[K], Depth>;
94
- } & (T extends {
95
- additionalProperties: infer AP;
96
- } ? AP extends false ? {} : AP extends Schema ? {
97
- [key: string]: FromSchema<AP, Depth>;
98
- } : {
99
- [key: string]: any;
100
- } : {
101
- [key: string]: any;
102
- })> : T extends {
103
- additionalProperties: infer AP;
104
- } ? AP extends Schema ? {
105
- [key: string]: FromSchema<AP, Depth>;
106
- } : {
107
- [key: string]: any;
108
- } : {
109
- [key: string]: any;
110
- };
111
- type RequiredKeys<T> = T extends {
112
- required: infer R;
113
- } ? R extends readonly (infer K)[] ? K extends string ? K : never : never : never;
114
- type OptionalKeys<T> = T extends {
115
- properties: infer P;
116
- } ? Exclude<keyof P, RequiredKeys<T>> : never;
117
- type Equal<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false;
118
- type Simplify<T> = T extends infer O ? {
119
- [K in keyof O]: O[K];
120
- } : never;
121
- type FromOneOfSchema<Schemas extends ReadonlyArray<Schema>, Depth extends number> = Schemas[number] extends infer S ? S extends Schema ? FromSchema<S, Depth> : never : never;
122
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/schema/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AA6DV,CAAC;AAiIF,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,45 +0,0 @@
1
- import { Schema } from "../index.js";
2
- export declare function Nullable<T extends Schema>(schema: T): {
3
- oneOf: [T, {
4
- type: "null";
5
- }];
6
- };
7
- export declare function Tuple<T extends Schema, N extends number>(items: T, length: N): {
8
- readonly type: "array";
9
- readonly items: T;
10
- readonly minItems: N;
11
- readonly maxItems: N;
12
- };
13
- export declare const TrueSchema: {
14
- readonly const: true;
15
- };
16
- export declare const BooleanSchema: {
17
- readonly type: "boolean";
18
- };
19
- export declare const Float32Schema: {
20
- readonly type: "number";
21
- readonly precision: 1;
22
- };
23
- export declare const Float64Schema: {
24
- readonly type: "number";
25
- readonly precision: 2;
26
- };
27
- export declare const TimeSchema: {
28
- readonly type: "number";
29
- readonly precision: 2;
30
- };
31
- export declare const Uint8Schema: {
32
- readonly type: "integer";
33
- readonly minimum: 0;
34
- readonly maximum: 255;
35
- };
36
- export declare const Uint16Schema: {
37
- readonly type: "integer";
38
- readonly minimum: 0;
39
- readonly maximum: 65535;
40
- };
41
- export declare const Uint32Schema: {
42
- readonly type: "integer";
43
- readonly minimum: 0;
44
- readonly maximum: 4294967295;
45
- };
@@ -1,39 +0,0 @@
1
- export function Nullable(schema) {
2
- return {
3
- oneOf: [schema, { type: "null" }],
4
- };
5
- }
6
- export function Tuple(items, length) {
7
- return { type: "array", items, minItems: length, maxItems: length };
8
- }
9
- export const TrueSchema = {
10
- const: true,
11
- };
12
- export const BooleanSchema = {
13
- type: "boolean",
14
- };
15
- export const Float32Schema = {
16
- type: "number",
17
- precision: 1,
18
- };
19
- export const Float64Schema = {
20
- type: "number",
21
- precision: 2,
22
- };
23
- export const TimeSchema = Float64Schema;
24
- export const Uint8Schema = {
25
- type: "integer",
26
- minimum: 0,
27
- maximum: 0xff,
28
- };
29
- export const Uint16Schema = {
30
- type: "integer",
31
- minimum: 0,
32
- maximum: 0xffff,
33
- };
34
- export const Uint32Schema = {
35
- type: "integer",
36
- minimum: 0,
37
- maximum: 0xffffffff,
38
- };
39
- //# sourceMappingURL=schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/core/schema/schemas.ts"],"names":[],"mappings":"AAuBA,MAAM,UAAU,QAAQ,CACtB,MAAS;IAET,OAAO;QACL,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAqC,KAAQ,EAAE,MAAS;IAC3E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAA4B,CAAC;AAChG,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,IAAI;CACc,CAAC;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,SAAS;CACU,CAAC;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,CAAC;CACa,CAAC;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,CAAC;CACa,CAAC;AAE5B,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,IAAI;CACY,CAAC;AAE5B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,MAAM;CACU,CAAC;AAE5B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,UAAU;CACM,CAAC"}