@adobe/data 0.5.3 → 0.5.5

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 (366) hide show
  1. package/dist/ecs/database/create-database.d.ts +2 -2
  2. package/dist/ecs/database/database-schema/create-database-schema-test.d.ts +1 -0
  3. package/dist/ecs/database/database-schema/create-database-schema-test.js +42 -0
  4. package/dist/ecs/database/database-schema/create-database-schema-test.js.map +1 -0
  5. package/dist/ecs/database/database-schema/create-database-schema.d.ts +14 -0
  6. package/dist/ecs/database/database-schema/create-database-schema.js +32 -0
  7. package/dist/ecs/database/database-schema/create-database-schema.js.map +1 -0
  8. package/dist/ecs/database/database-schema/database-schema.d.ts +13 -0
  9. package/dist/ecs/database/database-schema/database-schema.js +23 -0
  10. package/dist/ecs/database/database-schema/database-schema.js.map +1 -0
  11. package/dist/ecs/database/database-schema/index.d.ts +2 -0
  12. package/dist/{services → ecs/database/database-schema}/index.js +2 -3
  13. package/dist/ecs/database/database-schema/index.js.map +1 -0
  14. package/dist/ecs/database/database.d.ts +3 -1
  15. package/dist/ecs/database/index.d.ts +1 -0
  16. package/dist/ecs/database/index.js +1 -0
  17. package/dist/ecs/database/index.js.map +1 -1
  18. package/dist/ecs/index.d.ts +2 -1
  19. package/dist/ecs/index.js +2 -1
  20. package/dist/ecs/index.js.map +1 -1
  21. package/dist/ecs/store/archetype-components.d.ts +3 -1
  22. package/dist/ecs/store/core/core.d.ts +1 -8
  23. package/dist/ecs/store/core/create-core.js +9 -4
  24. package/dist/ecs/store/core/create-core.js.map +1 -1
  25. package/dist/ecs/store/core/create-core.test.js +0 -109
  26. package/dist/ecs/store/core/create-core.test.js.map +1 -1
  27. package/dist/ecs/store/create-store.js +21 -0
  28. package/dist/ecs/store/create-store.js.map +1 -1
  29. package/dist/ecs/store/store-schema/create-store-schema-test.js +4 -7
  30. package/dist/ecs/store/store-schema/create-store-schema-test.js.map +1 -1
  31. package/dist/ecs/store/store-schema/create-store-schema.d.ts +2 -0
  32. package/dist/ecs/store/store-schema/create-store-schema.js +5 -0
  33. package/dist/ecs/store/store-schema/create-store-schema.js.map +1 -1
  34. package/dist/ecs/store/store-schema/index.d.ts +1 -1
  35. package/dist/ecs/store/store-schema/index.js +1 -1
  36. package/dist/ecs/store/store-schema/index.js.map +1 -1
  37. package/dist/ecs/store/store-schema/store-schema.d.ts +1 -1
  38. package/dist/ecs/world/create-world.d.ts +7 -0
  39. package/dist/ecs/world/create-world.js +108 -0
  40. package/dist/ecs/world/create-world.js.map +1 -0
  41. package/dist/ecs/world/create-world.test.d.ts +1 -0
  42. package/dist/ecs/world/create-world.test.js +499 -0
  43. package/dist/ecs/world/create-world.test.js.map +1 -0
  44. package/dist/ecs/world/index.d.ts +4 -0
  45. package/dist/ecs/world/index.js +26 -0
  46. package/dist/ecs/world/index.js.map +1 -0
  47. package/dist/ecs/world/system.d.ts +20 -0
  48. package/dist/ecs/world/system.js +2 -0
  49. package/dist/ecs/world/system.js.map +1 -0
  50. package/dist/ecs/world/world-schema/create-world-schema-test.d.ts +1 -0
  51. package/dist/ecs/world/world-schema/create-world-schema-test.js +55 -0
  52. package/dist/ecs/world/world-schema/create-world-schema-test.js.map +1 -0
  53. package/dist/ecs/world/world-schema/create-world-schema.d.ts +19 -0
  54. package/dist/ecs/world/world-schema/create-world-schema.js +33 -0
  55. package/dist/ecs/world/world-schema/create-world-schema.js.map +1 -0
  56. package/dist/ecs/world/world-schema/index.d.ts +2 -0
  57. package/dist/ecs/world/world-schema/index.js +24 -0
  58. package/dist/ecs/world/world-schema/index.js.map +1 -0
  59. package/dist/ecs/world/world-schema/world-schema.d.ts +18 -0
  60. package/dist/ecs/world/world-schema/world-schema.js +23 -0
  61. package/dist/ecs/world/world-schema/world-schema.js.map +1 -0
  62. package/dist/ecs/world/world.d.ts +9 -0
  63. package/dist/ecs/world/world.js +2 -0
  64. package/dist/ecs/world/world.js.map +1 -0
  65. package/dist/functions/serialization/serialization.test.js +78 -0
  66. package/dist/functions/serialization/serialization.test.js.map +1 -1
  67. package/dist/graphics/camera/camera.d.ts +62 -0
  68. package/dist/graphics/camera/camera.js +17 -0
  69. package/dist/graphics/camera/camera.js.map +1 -0
  70. package/dist/graphics/camera/index.d.ts +4 -0
  71. package/dist/graphics/camera/index.js +5 -0
  72. package/dist/graphics/camera/index.js.map +1 -0
  73. package/dist/graphics/camera/screen-to-world-ray.d.ts +12 -0
  74. package/dist/graphics/camera/screen-to-world-ray.js +49 -0
  75. package/dist/graphics/camera/screen-to-world-ray.js.map +1 -0
  76. package/dist/graphics/camera/screen-to-world-ray.test.d.ts +1 -0
  77. package/dist/graphics/camera/screen-to-world-ray.test.js +171 -0
  78. package/dist/graphics/camera/screen-to-world-ray.test.js.map +1 -0
  79. package/dist/graphics/camera/to-view-projection.d.ts +3 -0
  80. package/dist/graphics/camera/to-view-projection.js +8 -0
  81. package/dist/graphics/camera/to-view-projection.js.map +1 -0
  82. package/dist/graphics/camera/world-to-screen.d.ts +12 -0
  83. package/dist/graphics/camera/world-to-screen.js +38 -0
  84. package/dist/graphics/camera/world-to-screen.js.map +1 -0
  85. package/dist/graphics/camera/world-to-screen.test.d.ts +1 -0
  86. package/dist/graphics/camera/world-to-screen.test.js +124 -0
  87. package/dist/graphics/camera/world-to-screen.test.js.map +1 -0
  88. package/dist/graphics/create-struct-gpu-buffer.d.ts +7 -0
  89. package/dist/graphics/create-struct-gpu-buffer.js +17 -0
  90. package/dist/graphics/create-struct-gpu-buffer.js.map +1 -0
  91. package/dist/graphics/extract-wgsl-bindings.d.ts +5 -0
  92. package/dist/graphics/extract-wgsl-bindings.js +10 -0
  93. package/dist/graphics/extract-wgsl-bindings.js.map +1 -0
  94. package/dist/graphics/frame.d.ts +22 -0
  95. package/dist/graphics/frame.js +12 -0
  96. package/dist/graphics/frame.js.map +1 -0
  97. package/dist/graphics/get-web-gpu-device-and-context.d.ts +2 -0
  98. package/dist/graphics/get-web-gpu-device-and-context.js +21 -0
  99. package/dist/graphics/get-web-gpu-device-and-context.js.map +1 -0
  100. package/dist/graphics/graphics-context.d.ts +5 -0
  101. package/dist/graphics/graphics-context.js +2 -0
  102. package/dist/graphics/graphics-context.js.map +1 -0
  103. package/dist/graphics/index.d.ts +5 -0
  104. package/dist/graphics/index.js +5 -0
  105. package/dist/graphics/index.js.map +1 -0
  106. package/dist/graphics/to-gpu-buffer.d.ts +2 -0
  107. package/dist/graphics/to-gpu-buffer.js +14 -0
  108. package/dist/graphics/to-gpu-buffer.js.map +1 -0
  109. package/dist/internal/array/index.d.ts +1 -0
  110. package/dist/internal/array/index.js +23 -0
  111. package/dist/internal/array/index.js.map +1 -0
  112. package/dist/internal/array/topological-sort.d.ts +26 -0
  113. package/dist/internal/array/topological-sort.js +79 -0
  114. package/dist/internal/array/topological-sort.js.map +1 -0
  115. package/dist/internal/array/topological-sort.test.d.ts +1 -0
  116. package/dist/internal/array/topological-sort.test.js +100 -0
  117. package/dist/internal/array/topological-sort.test.js.map +1 -0
  118. package/dist/internal/function/debounce.d.ts +70 -0
  119. package/dist/internal/function/debounce.js +155 -0
  120. package/dist/internal/function/debounce.js.map +1 -0
  121. package/dist/internal/function/debounce.test.d.ts +1 -0
  122. package/dist/internal/function/debounce.test.js +306 -0
  123. package/dist/internal/function/debounce.test.js.map +1 -0
  124. package/dist/lit/elements/application-element.d.ts +9 -0
  125. package/dist/lit/elements/application-element.js +62 -0
  126. package/dist/lit/elements/application-element.js.map +1 -0
  127. package/dist/lit/elements/application-host.d.ts +16 -0
  128. package/dist/lit/elements/application-host.js +59 -0
  129. package/dist/lit/elements/application-host.js.map +1 -0
  130. package/dist/lit/elements/index.d.ts +2 -0
  131. package/dist/lit/elements/index.js +2 -0
  132. package/dist/lit/elements/index.js.map +1 -1
  133. package/dist/lit/elements/service-application.js +4 -1
  134. package/dist/lit/elements/service-application.js.map +1 -1
  135. package/dist/lit/functions/index.d.ts +1 -0
  136. package/dist/lit/functions/index.js +23 -0
  137. package/dist/lit/functions/index.js.map +1 -0
  138. package/dist/lit/functions/iterate-self-and-ancestors.d.ts +1 -0
  139. package/dist/lit/functions/iterate-self-and-ancestors.js +44 -0
  140. package/dist/lit/functions/iterate-self-and-ancestors.js.map +1 -0
  141. package/dist/lit/hooks/attach-decorator.d.ts +4 -0
  142. package/dist/lit/hooks/attach-decorator.js +46 -0
  143. package/dist/lit/hooks/attach-decorator.js.map +1 -0
  144. package/dist/lit/hooks/index.d.ts +4 -0
  145. package/dist/lit/hooks/index.js +4 -0
  146. package/dist/lit/hooks/index.js.map +1 -1
  147. package/dist/lit/hooks/use-drag-observe.d.ts +22 -0
  148. package/dist/lit/hooks/use-drag-observe.js +55 -0
  149. package/dist/lit/hooks/use-drag-observe.js.map +1 -0
  150. package/dist/lit/hooks/use-drag-transaction.d.ts +7 -0
  151. package/dist/lit/hooks/use-drag-transaction.js +56 -0
  152. package/dist/lit/hooks/use-drag-transaction.js.map +1 -0
  153. package/dist/lit/hooks/use-draggable.d.ts +16 -0
  154. package/dist/lit/hooks/use-draggable.js +122 -0
  155. package/dist/lit/hooks/use-draggable.js.map +1 -0
  156. package/dist/math/aabb/aabb.d.ts +48 -0
  157. package/dist/math/aabb/aabb.js +86 -0
  158. package/dist/math/aabb/aabb.js.map +1 -0
  159. package/dist/math/aabb/line-intersection.test.d.ts +1 -0
  160. package/dist/math/aabb/line-intersection.test.js +210 -0
  161. package/dist/math/aabb/line-intersection.test.js.map +1 -0
  162. package/dist/math/constants.d.ts +4 -0
  163. package/dist/math/constants.js +26 -0
  164. package/dist/math/constants.js.map +1 -0
  165. package/dist/math/index.d.ts +18 -0
  166. package/dist/math/index.js +40 -0
  167. package/dist/math/index.js.map +1 -0
  168. package/dist/math/line2/intersects.test.d.ts +1 -0
  169. package/dist/math/line2/intersects.test.js +104 -0
  170. package/dist/math/line2/intersects.test.js.map +1 -0
  171. package/dist/math/line2/line2.d.ts +42 -0
  172. package/dist/math/line2/line2.js +78 -0
  173. package/dist/math/line2/line2.js.map +1 -0
  174. package/dist/math/line3/closest-point-on-line.test.d.ts +1 -0
  175. package/dist/math/line3/closest-point-on-line.test.js +107 -0
  176. package/dist/math/line3/closest-point-on-line.test.js.map +1 -0
  177. package/dist/math/line3/interpolate.test.d.ts +1 -0
  178. package/dist/math/line3/interpolate.test.js +66 -0
  179. package/dist/math/line3/interpolate.test.js.map +1 -0
  180. package/dist/math/line3/line3.d.ts +49 -0
  181. package/dist/math/line3/line3.js +77 -0
  182. package/dist/math/line3/line3.js.map +1 -0
  183. package/dist/math/line3/sub-line.test.d.ts +1 -0
  184. package/dist/math/line3/sub-line.test.js +70 -0
  185. package/dist/math/line3/sub-line.test.js.map +1 -0
  186. package/dist/math/mat4x4/mat4x4.d.ts +37 -0
  187. package/dist/math/mat4x4/mat4x4.js +246 -0
  188. package/dist/math/mat4x4/mat4x4.js.map +1 -0
  189. package/dist/math/picking/index.d.ts +1 -0
  190. package/dist/math/picking/index.js +23 -0
  191. package/dist/math/picking/index.js.map +1 -0
  192. package/dist/math/picking/pick-from-tables.d.ts +18 -0
  193. package/dist/math/picking/pick-from-tables.js +154 -0
  194. package/dist/math/picking/pick-from-tables.js.map +1 -0
  195. package/dist/math/picking/pick-result.d.ts +7 -0
  196. package/dist/{services/service.js → math/picking/pick-result.js} +1 -1
  197. package/dist/math/picking/pick-result.js.map +1 -0
  198. package/dist/math/quat/quat.d.ts +42 -0
  199. package/dist/math/quat/quat.js +220 -0
  200. package/dist/math/quat/quat.js.map +1 -0
  201. package/dist/math/vec2/vec2.d.ts +63 -0
  202. package/dist/math/vec2/vec2.js +114 -0
  203. package/dist/math/vec2/vec2.js.map +1 -0
  204. package/dist/math/vec3/vec3.d.ts +65 -0
  205. package/dist/math/vec3/vec3.js +154 -0
  206. package/dist/math/vec3/vec3.js.map +1 -0
  207. package/dist/math/vec4/vec4.d.ts +63 -0
  208. package/dist/math/vec4/vec4.js +154 -0
  209. package/dist/math/vec4/vec4.js.map +1 -0
  210. package/dist/observe/to-async-generator.js +4 -0
  211. package/dist/observe/to-async-generator.js.map +1 -1
  212. package/dist/observe/with-filter.d.ts +1 -1
  213. package/dist/observe/with-filter.js.map +1 -1
  214. package/dist/samples/index.d.ts +13 -0
  215. package/dist/samples/index.js +27 -0
  216. package/dist/samples/index.js.map +1 -0
  217. package/dist/samples/todo/elements/todo-list/todo-list-presentation.d.ts +25 -0
  218. package/dist/samples/todo/elements/todo-list/todo-list-presentation.js +12 -0
  219. package/dist/samples/todo/elements/todo-list/todo-list-presentation.js.map +1 -0
  220. package/dist/samples/todo/elements/todo-list/todo-list.css.d.ts +18 -0
  221. package/dist/samples/todo/elements/todo-list/todo-list.css.js +27 -0
  222. package/dist/samples/todo/elements/todo-list/todo-list.css.js.map +1 -0
  223. package/dist/samples/todo/elements/todo-list/todo-list.d.ts +12 -0
  224. package/dist/samples/todo/elements/todo-list/todo-list.js +60 -0
  225. package/dist/samples/todo/elements/todo-list/todo-list.js.map +1 -0
  226. package/dist/samples/todo/elements/todo-row/index.d.ts +18 -0
  227. package/dist/samples/todo/elements/todo-row/index.js +19 -0
  228. package/dist/samples/todo/elements/todo-row/index.js.map +1 -0
  229. package/dist/samples/todo/elements/todo-row/todo-row-presentation.d.ts +18 -0
  230. package/dist/samples/todo/elements/todo-row/todo-row-presentation.js +66 -0
  231. package/dist/samples/todo/elements/todo-row/todo-row-presentation.js.map +1 -0
  232. package/dist/samples/todo/elements/todo-row/todo-row.css.d.ts +1 -0
  233. package/dist/samples/todo/elements/todo-row/todo-row.css.js +65 -0
  234. package/dist/samples/todo/elements/todo-row/todo-row.css.js.map +1 -0
  235. package/dist/samples/todo/elements/todo-row/todo-row.d.ts +14 -0
  236. package/dist/samples/todo/elements/todo-row/todo-row.js +60 -0
  237. package/dist/samples/todo/elements/todo-row/todo-row.js.map +1 -0
  238. package/dist/samples/todo/elements/todo-toolbar/index.d.ts +18 -0
  239. package/dist/samples/todo/elements/todo-toolbar/index.js +19 -0
  240. package/dist/samples/todo/elements/todo-toolbar/index.js.map +1 -0
  241. package/dist/samples/todo/elements/todo-toolbar/todo-toolbar-presentation.d.ts +22 -0
  242. package/dist/samples/todo/elements/todo-toolbar/todo-toolbar-presentation.js +57 -0
  243. package/dist/samples/todo/elements/todo-toolbar/todo-toolbar-presentation.js.map +1 -0
  244. package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.css.d.ts +1 -0
  245. package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.css.js +50 -0
  246. package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.css.js.map +1 -0
  247. package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.d.ts +11 -0
  248. package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.js +77 -0
  249. package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.js.map +1 -0
  250. package/dist/samples/todo/elements/todo-undo-redo/index.d.ts +18 -0
  251. package/dist/samples/todo/elements/todo-undo-redo/index.js +19 -0
  252. package/dist/samples/todo/elements/todo-undo-redo/index.js.map +1 -0
  253. package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo-presentation.d.ts +17 -0
  254. package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo-presentation.js +45 -0
  255. package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo-presentation.js.map +1 -0
  256. package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo.css.d.ts +1 -0
  257. package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo.css.js +28 -0
  258. package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo.css.js.map +1 -0
  259. package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo.d.ts +11 -0
  260. package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo.js +52 -0
  261. package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo.js.map +1 -0
  262. package/dist/samples/todo/services/dependent-state-service/create-dependent-state-service.d.ts +6 -0
  263. package/dist/samples/todo/services/dependent-state-service/create-dependent-state-service.js +21 -0
  264. package/dist/samples/todo/services/dependent-state-service/create-dependent-state-service.js.map +1 -0
  265. package/dist/samples/todo/services/dependent-state-service/dependent-state/all-todos.d.ts +19 -0
  266. package/dist/samples/todo/services/dependent-state-service/dependent-state/all-todos.js +2 -0
  267. package/dist/samples/todo/services/dependent-state-service/dependent-state/all-todos.js.map +1 -0
  268. package/dist/samples/todo/services/dependent-state-service/dependent-state/complete-todos.d.ts +19 -0
  269. package/dist/samples/todo/services/dependent-state-service/dependent-state/complete-todos.js +2 -0
  270. package/dist/samples/todo/services/dependent-state-service/dependent-state/complete-todos.js.map +1 -0
  271. package/dist/samples/todo/services/dependent-state-service/dependent-state/incomplete-todos.d.ts +19 -0
  272. package/dist/samples/todo/services/dependent-state-service/dependent-state/incomplete-todos.js +2 -0
  273. package/dist/samples/todo/services/dependent-state-service/dependent-state/incomplete-todos.js.map +1 -0
  274. package/dist/samples/todo/services/dependent-state-service/dependent-state/index.d.ts +20 -0
  275. package/dist/samples/todo/services/dependent-state-service/dependent-state/index.js +21 -0
  276. package/dist/samples/todo/services/dependent-state-service/dependent-state/index.js.map +1 -0
  277. package/dist/samples/todo/services/dependent-state-service/dependent-state-service.d.ts +19 -0
  278. package/dist/samples/todo/services/dependent-state-service/dependent-state-service.js +2 -0
  279. package/dist/samples/todo/services/dependent-state-service/dependent-state-service.js.map +1 -0
  280. package/dist/samples/todo/services/main-service/create-main-service.d.ts +25 -0
  281. package/dist/samples/todo/services/main-service/create-main-service.js +39 -0
  282. package/dist/samples/todo/services/main-service/create-main-service.js.map +1 -0
  283. package/dist/samples/todo/services/main-service/todo-main-service.d.ts +35 -0
  284. package/dist/samples/todo/services/main-service/todo-main-service.js +2 -0
  285. package/dist/samples/todo/services/main-service/todo-main-service.js.map +1 -0
  286. package/dist/samples/todo/services/state-service/create-todo-database.d.ts +13 -0
  287. package/dist/samples/todo/services/state-service/create-todo-database.js +26 -0
  288. package/dist/samples/todo/services/state-service/create-todo-database.js.map +1 -0
  289. package/dist/samples/todo/services/state-service/create-todo-store.d.ts +13 -0
  290. package/dist/samples/todo/services/state-service/create-todo-store.js +41 -0
  291. package/dist/samples/todo/services/state-service/create-todo-store.js.map +1 -0
  292. package/dist/samples/todo/services/state-service/todo-state-service.d.ts +22 -0
  293. package/dist/samples/todo/services/state-service/todo-state-service.js +2 -0
  294. package/dist/samples/todo/services/state-service/todo-state-service.js.map +1 -0
  295. package/dist/samples/todo/services/state-service/transactions/create-bulk-todos.d.ts +2 -0
  296. package/dist/samples/todo/services/state-service/transactions/create-bulk-todos.js +26 -0
  297. package/dist/samples/todo/services/state-service/transactions/create-bulk-todos.js.map +1 -0
  298. package/dist/samples/todo/services/state-service/transactions/create-todo.d.ts +22 -0
  299. package/dist/samples/todo/services/state-service/transactions/create-todo.js +13 -0
  300. package/dist/samples/todo/services/state-service/transactions/create-todo.js.map +1 -0
  301. package/dist/samples/todo/services/state-service/transactions/create-todo.test.d.ts +1 -0
  302. package/dist/samples/todo/services/state-service/transactions/create-todo.test.js +32 -0
  303. package/dist/samples/todo/services/state-service/transactions/create-todo.test.js.map +1 -0
  304. package/dist/samples/todo/services/state-service/transactions/delete-all-todos.d.ts +19 -0
  305. package/dist/samples/todo/services/state-service/transactions/delete-all-todos.js +16 -0
  306. package/dist/samples/todo/services/state-service/transactions/delete-all-todos.js.map +1 -0
  307. package/dist/samples/todo/services/state-service/transactions/delete-todo.d.ts +3 -0
  308. package/dist/samples/todo/services/state-service/transactions/delete-todo.js +24 -0
  309. package/dist/samples/todo/services/state-service/transactions/delete-todo.js.map +1 -0
  310. package/dist/samples/todo/services/state-service/transactions/delete-todo.test.d.ts +1 -0
  311. package/dist/samples/todo/services/state-service/transactions/delete-todo.test.js +40 -0
  312. package/dist/samples/todo/services/state-service/transactions/delete-todo.test.js.map +1 -0
  313. package/dist/samples/todo/services/state-service/transactions/drag-todo.d.ts +7 -0
  314. package/dist/samples/todo/services/state-service/transactions/drag-todo.js +33 -0
  315. package/dist/samples/todo/services/state-service/transactions/drag-todo.js.map +1 -0
  316. package/dist/samples/todo/services/state-service/transactions/index.d.ts +23 -0
  317. package/dist/samples/todo/services/state-service/transactions/index.js +25 -0
  318. package/dist/samples/todo/services/state-service/transactions/index.js.map +1 -0
  319. package/dist/samples/todo/services/state-service/transactions/reorder-todos.d.ts +23 -0
  320. package/dist/samples/todo/services/state-service/transactions/reorder-todos.js +11 -0
  321. package/dist/samples/todo/services/state-service/transactions/reorder-todos.js.map +1 -0
  322. package/dist/samples/todo/services/state-service/transactions/toggle-complete.d.ts +20 -0
  323. package/dist/samples/todo/services/state-service/transactions/toggle-complete.js +11 -0
  324. package/dist/samples/todo/services/state-service/transactions/toggle-complete.js.map +1 -0
  325. package/dist/samples/todo/services/state-service/transactions/toggle-complete.test.d.ts +1 -0
  326. package/dist/samples/todo/services/state-service/transactions/toggle-complete.test.js +81 -0
  327. package/dist/samples/todo/services/state-service/transactions/toggle-complete.test.js.map +1 -0
  328. package/dist/samples/todo/todo-element.d.ts +21 -0
  329. package/dist/samples/todo/todo-element.js +4 -0
  330. package/dist/samples/todo/todo-element.js.map +1 -0
  331. package/dist/samples/todo/todo-host.d.ts +8 -0
  332. package/dist/samples/todo/todo-host.js +55 -0
  333. package/dist/samples/todo/todo-host.js.map +1 -0
  334. package/dist/samples/todo/todo-main-element.d.ts +27 -0
  335. package/dist/samples/todo/todo-main-element.js +63 -0
  336. package/dist/samples/todo/todo-main-element.js.map +1 -0
  337. package/dist/samples/todo/todo-sample.d.ts +3 -0
  338. package/dist/samples/todo/todo-sample.js +39 -0
  339. package/dist/samples/todo/todo-sample.js.map +1 -0
  340. package/dist/schema/schema.d.ts +7 -6
  341. package/dist/schema/schema.js.map +1 -1
  342. package/dist/service/disposable.d.ts +4 -0
  343. package/dist/{services/is-service.js → service/disposable.js} +3 -3
  344. package/dist/service/disposable.js.map +1 -0
  345. package/dist/service/progressive-result.d.ts +7 -10
  346. package/dist/service/progressive-result.js +0 -6
  347. package/dist/service/progressive-result.js.map +1 -1
  348. package/dist/service/service.d.ts +11 -1
  349. package/dist/tsconfig.tsbuildinfo +1 -1
  350. package/dist/typed-buffer/register-typed-buffer-codecs.js +39 -22
  351. package/dist/typed-buffer/register-typed-buffer-codecs.js.map +1 -1
  352. package/dist/typed-buffer/structs/get-struct-layout.js +3 -0
  353. package/dist/typed-buffer/structs/get-struct-layout.js.map +1 -1
  354. package/package.json +20 -3
  355. package/dist/services/add-observable-actions.d.ts +0 -29
  356. package/dist/services/add-observable-actions.js +0 -108
  357. package/dist/services/add-observable-actions.js.map +0 -1
  358. package/dist/services/index.d.ts +0 -4
  359. package/dist/services/index.js.map +0 -1
  360. package/dist/services/is-service.d.ts +0 -2
  361. package/dist/services/is-service.js.map +0 -1
  362. package/dist/services/progressive-result.d.ts +0 -96
  363. package/dist/services/progressive-result.js +0 -99
  364. package/dist/services/progressive-result.js.map +0 -1
  365. package/dist/services/service.d.ts +0 -4
  366. package/dist/services/service.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-todo.js","sourceRoot":"","sources":["../../../../../../src/samples/todo/services/state-service/transactions/create-todo.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAY,EAAE,KAA2C,EAAE,EAAE;IACtF,CAAC,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzC,qEAAqE;IACrE,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9B,GAAG,KAAK;QACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;QACjC,IAAI,EAAE,IAAI;QACV,KAAK;QACL,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ /*************************************************************************
2
+ *
3
+ * ADOBE CONFIDENTIAL
4
+ * ___________________
5
+ *
6
+ * Copyright 2025 Adobe
7
+ * All Rights Reserved.
8
+ *
9
+ * NOTICE: All information contained herein is, and remains
10
+ * the property of Adobe and its suppliers, if any. The intellectual
11
+ * and technical concepts contained herein are proprietary to Adobe
12
+ * and its suppliers and are protected by all applicable intellectual
13
+ * property laws, including trade secret and copyright laws.
14
+ * Dissemination of this information or reproduction of this material
15
+ * is strictly forbidden unless prior written permission is obtained
16
+ * from Adobe.
17
+ **************************************************************************/
18
+ import { createTodo } from './create-todo.js';
19
+ import { describe, expect, it } from 'vitest';
20
+ import { createTodoStore } from '../create-todo-store.js';
21
+ describe('createTodo', () => {
22
+ describe('when creating a new todo', () => {
23
+ it('should return the created todo entity id and create the todo', () => {
24
+ const t = createTodoStore();
25
+ const todoId = createTodo(t, { name: 'Buy groceries' });
26
+ expect(todoId).toBeGreaterThanOrEqual(0);
27
+ const values = t.read(todoId);
28
+ expect(values).toEqual({ id: todoId, name: 'Buy groceries', dragPosition: null, complete: false, todo: true, order: 0 });
29
+ });
30
+ });
31
+ });
32
+ //# sourceMappingURL=create-todo.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-todo.test.js","sourceRoot":"","sources":["../../../../../../src/samples/todo/services/state-service/transactions/create-todo.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;4EAgB4E;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,CAAC,GAAG,eAAe,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3H,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ /*************************************************************************
2
+ *
3
+ * ADOBE CONFIDENTIAL
4
+ * ___________________
5
+ *
6
+ * Copyright 2025 Adobe
7
+ * All Rights Reserved.
8
+ *
9
+ * NOTICE: All information contained herein is, and remains
10
+ * the property of Adobe and its suppliers, if any. The intellectual
11
+ * and technical concepts contained herein are proprietary to Adobe
12
+ * and its suppliers and are protected by all applicable intellectual
13
+ * property laws, including trade secret and copyright laws.
14
+ * Dissemination of this information or reproduction of this material
15
+ * is strictly forbidden unless prior written permission is obtained
16
+ * from Adobe.
17
+ **************************************************************************/
18
+ import { type TodoStore } from '../create-todo-store.js';
19
+ export declare const deleteAllTodos: (t: TodoStore) => void;
@@ -0,0 +1,16 @@
1
+ export const deleteAllTodos = (t) => {
2
+ t.undoable = { coalesce: false };
3
+ // query for all specific archetypes which satisfy the general todo archetype
4
+ for (const archetype of t.queryArchetypes(t.archetypes.Todo.components)) {
5
+ // traverse each row in reverse order
6
+ // it's slightly more efficient to delete in this order
7
+ // since we don't need to swap the final row to fill in the hole on delete.
8
+ for (let row = archetype.rowCount - 1; row >= 0; row--) {
9
+ // get the id for this row from the id column
10
+ const entityId = archetype.columns.id.get(row);
11
+ // delete the entity
12
+ t.delete(entityId);
13
+ }
14
+ }
15
+ };
16
+ //# sourceMappingURL=delete-all-todos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-all-todos.js","sourceRoot":"","sources":["../../../../../../src/samples/todo/services/state-service/transactions/delete-all-todos.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAY,EAAE,EAAE;IAC7C,CAAC,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACjC,6EAA6E;IAC7E,KAAK,MAAM,SAAS,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACxE,qCAAqC;QACrC,uDAAuD;QACvD,2EAA2E;QAC3E,KAAK,IAAI,GAAG,GAAG,SAAS,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;YACvD,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/C,oBAAoB;YACpB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Entity } from '@adobe/data/ecs';
2
+ import { type TodoStore } from '../create-todo-store.js';
3
+ export declare const deleteTodo: (t: TodoStore, id: Entity) => void;
@@ -0,0 +1,24 @@
1
+ /*************************************************************************
2
+ *
3
+ * ADOBE CONFIDENTIAL
4
+ * ___________________
5
+ *
6
+ * Copyright 2025 Adobe
7
+ * All Rights Reserved.
8
+ *
9
+ * NOTICE: All information contained herein is, and remains
10
+ * the property of Adobe and its suppliers, if any. The intellectual
11
+ * and technical concepts contained herein are proprietary to Adobe
12
+ * and its suppliers and are protected by all applicable intellectual
13
+ * property laws, including trade secret and copyright laws.
14
+ * Dissemination of this information or reproduction of this material
15
+ * is strictly forbidden unless prior written permission is obtained
16
+ * from Adobe.
17
+ **************************************************************************/
18
+ import { reorderTodos } from './reorder-todos.js';
19
+ export const deleteTodo = (t, id) => {
20
+ t.undoable = { coalesce: false };
21
+ t.delete(id);
22
+ reorderTodos(t);
23
+ };
24
+ //# sourceMappingURL=delete-todo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-todo.js","sourceRoot":"","sources":["../../../../../../src/samples/todo/services/state-service/transactions/delete-todo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;4EAgB4E;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAY,EAAE,EAAU,EAAE,EAAE;IACrD,CAAC,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACjC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACb,YAAY,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC"}
@@ -0,0 +1,40 @@
1
+ /*************************************************************************
2
+ *
3
+ * ADOBE CONFIDENTIAL
4
+ * ___________________
5
+ *
6
+ * Copyright 2025 Adobe
7
+ * All Rights Reserved.
8
+ *
9
+ * NOTICE: All information contained herein is, and remains
10
+ * the property of Adobe and its suppliers, if any. The intellectual
11
+ * and technical concepts contained herein are proprietary to Adobe
12
+ * and its suppliers and are protected by all applicable intellectual
13
+ * property laws, including trade secret and copyright laws.
14
+ * Dissemination of this information or reproduction of this material
15
+ * is strictly forbidden unless prior written permission is obtained
16
+ * from Adobe.
17
+ **************************************************************************/
18
+ import { createTodo } from './create-todo.js';
19
+ import { deleteTodo } from './delete-todo.js';
20
+ import { describe, expect, it } from 'vitest';
21
+ import { createTodoStore } from '../create-todo-store.js';
22
+ describe('deleteTodo', () => {
23
+ describe('when deleting a todo', () => {
24
+ it('should remove it from the archetype', () => {
25
+ const t = createTodoStore();
26
+ const todoA = createTodo(t, { name: 'A' });
27
+ const todoB = createTodo(t, { name: 'B' });
28
+ const todoC = createTodo(t, { name: 'C' });
29
+ deleteTodo(t, todoA);
30
+ const values = t.read(todoA);
31
+ expect(values).toBeNull();
32
+ const valuesB = t.read(todoB);
33
+ expect(valuesB).toBeDefined();
34
+ const valuesC = t.read(todoC);
35
+ expect(valuesC).toBeDefined();
36
+ expect(t.archetypes.Todo.rowCount).toBe(2);
37
+ });
38
+ });
39
+ });
40
+ //# sourceMappingURL=delete-todo.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-todo.test.js","sourceRoot":"","sources":["../../../../../../src/samples/todo/services/state-service/transactions/delete-todo.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;4EAgB4E;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,CAAC,GAAG,eAAe,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3C,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACrB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Entity } from '@adobe/data/ecs';
2
+ import { type TodoStore } from '../create-todo-store.js';
3
+ export declare const dragTodo: (t: TodoStore, props: {
4
+ todo: Entity;
5
+ dragPosition: number;
6
+ finalIndex?: number;
7
+ }) => void;
@@ -0,0 +1,33 @@
1
+ /*************************************************************************
2
+ *
3
+ * ADOBE CONFIDENTIAL
4
+ * ___________________
5
+ *
6
+ * Copyright 2025 Adobe
7
+ * All Rights Reserved.
8
+ *
9
+ * NOTICE: All information contained herein is, and remains
10
+ * the property of Adobe and its suppliers, if any. The intellectual
11
+ * and technical concepts contained herein are proprietary to Adobe
12
+ * and its suppliers and are protected by all applicable intellectual
13
+ * property laws, including trade secret and copyright laws.
14
+ * Dissemination of this information or reproduction of this material
15
+ * is strictly forbidden unless prior written permission is obtained
16
+ * from Adobe.
17
+ **************************************************************************/
18
+ import { reorderTodos } from './reorder-todos.js';
19
+ export const dragTodo = (t, props) => {
20
+ t.undoable = { coalesce: false };
21
+ const { todo, dragPosition, finalIndex } = props;
22
+ const completed = finalIndex !== undefined;
23
+ if (!completed) {
24
+ t.update(todo, { dragPosition });
25
+ }
26
+ else {
27
+ // insert it with an order value 0.5 less than the final index
28
+ t.update(todo, { dragPosition: null, order: finalIndex - 0.5 });
29
+ // then we call reorderTodos which will reorder everything to integer order values
30
+ reorderTodos(t); // this is an example of calling another transaction from a transaction
31
+ }
32
+ };
33
+ //# sourceMappingURL=drag-todo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drag-todo.js","sourceRoot":"","sources":["../../../../../../src/samples/todo/services/state-service/transactions/drag-todo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;4EAgB4E;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAY,EAAE,KAAkE,EAAE,EAAE;IAC3G,CAAC,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACjC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IACjD,MAAM,SAAS,GAAG,UAAU,KAAK,SAAS,CAAC;IAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,8DAA8D;QAC9D,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC;QAChE,kFAAkF;QAClF,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,uEAAuE;IAC1F,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ /*************************************************************************
2
+ *
3
+ * ADOBE CONFIDENTIAL
4
+ * ___________________
5
+ *
6
+ * Copyright 2025 Adobe
7
+ * All Rights Reserved.
8
+ *
9
+ * NOTICE: All information contained herein is, and remains
10
+ * the property of Adobe and its suppliers, if any. The intellectual
11
+ * and technical concepts contained herein are proprietary to Adobe
12
+ * and its suppliers and are protected by all applicable intellectual
13
+ * property laws, including trade secret and copyright laws.
14
+ * Dissemination of this information or reproduction of this material
15
+ * is strictly forbidden unless prior written permission is obtained
16
+ * from Adobe.
17
+ **************************************************************************/
18
+ export * from './create-todo.js';
19
+ export * from './delete-todo.js';
20
+ export * from './toggle-complete.js';
21
+ export * from './create-bulk-todos.js';
22
+ export * from './drag-todo.js';
23
+ export { applyOperations } from '@adobe/data/ecs';
@@ -0,0 +1,25 @@
1
+ /*************************************************************************
2
+ *
3
+ * ADOBE CONFIDENTIAL
4
+ * ___________________
5
+ *
6
+ * Copyright 2025 Adobe
7
+ * All Rights Reserved.
8
+ *
9
+ * NOTICE: All information contained herein is, and remains
10
+ * the property of Adobe and its suppliers, if any. The intellectual
11
+ * and technical concepts contained herein are proprietary to Adobe
12
+ * and its suppliers and are protected by all applicable intellectual
13
+ * property laws, including trade secret and copyright laws.
14
+ * Dissemination of this information or reproduction of this material
15
+ * is strictly forbidden unless prior written permission is obtained
16
+ * from Adobe.
17
+ **************************************************************************/
18
+ export * from './create-todo.js';
19
+ export * from './delete-todo.js';
20
+ export * from './toggle-complete.js';
21
+ export * from './create-bulk-todos.js';
22
+ export * from './drag-todo.js';
23
+ // This is used by the undo-redo actions, the implementation is in the data package.
24
+ export { applyOperations } from '@adobe/data/ecs';
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/samples/todo/services/state-service/transactions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;4EAgB4E;AAC5E,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,oFAAoF;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /*************************************************************************
2
+ *
3
+ * ADOBE CONFIDENTIAL
4
+ * ___________________
5
+ *
6
+ * Copyright 2025 Adobe
7
+ * All Rights Reserved.
8
+ *
9
+ * NOTICE: All information contained herein is, and remains
10
+ * the property of Adobe and its suppliers, if any. The intellectual
11
+ * and technical concepts contained herein are proprietary to Adobe
12
+ * and its suppliers and are protected by all applicable intellectual
13
+ * property laws, including trade secret and copyright laws.
14
+ * Dissemination of this information or reproduction of this material
15
+ * is strictly forbidden unless prior written permission is obtained
16
+ * from Adobe.
17
+ **************************************************************************/
18
+ import { TodoStore } from '../create-todo-store.js';
19
+ /**
20
+ * Ensures each todo has an monotonically increasing integer order value.
21
+ * You might call this after inserting a todo with a floating point order value for insertion.
22
+ */
23
+ export declare const reorderTodos: (t: TodoStore) => void;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Ensures each todo has an monotonically increasing integer order value.
3
+ * You might call this after inserting a todo with a floating point order value for insertion.
4
+ */
5
+ export const reorderTodos = (t) => {
6
+ const todos = t.select(t.archetypes.Todo.components, { order: { order: true } });
7
+ for (let i = 0; i < todos.length; i++) {
8
+ t.update(todos[i], { order: i });
9
+ }
10
+ };
11
+ //# sourceMappingURL=reorder-todos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorder-todos.js","sourceRoot":"","sources":["../../../../../../src/samples/todo/services/state-service/transactions/reorder-todos.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAY,EAAE,EAAE;IAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACjF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ /*************************************************************************
2
+ *
3
+ * ADOBE CONFIDENTIAL
4
+ * ___________________
5
+ *
6
+ * Copyright 2025 Adobe
7
+ * All Rights Reserved.
8
+ *
9
+ * NOTICE: All information contained herein is, and remains
10
+ * the property of Adobe and its suppliers, if any. The intellectual
11
+ * and technical concepts contained herein are proprietary to Adobe
12
+ * and its suppliers and are protected by all applicable intellectual
13
+ * property laws, including trade secret and copyright laws.
14
+ * Dissemination of this information or reproduction of this material
15
+ * is strictly forbidden unless prior written permission is obtained
16
+ * from Adobe.
17
+ **************************************************************************/
18
+ import { type Entity } from '@adobe/data/ecs';
19
+ import { type TodoStore } from '../create-todo-store.js';
20
+ export declare const toggleComplete: (t: TodoStore, id: Entity) => void;
@@ -0,0 +1,11 @@
1
+ export const toggleComplete = (t, id) => {
2
+ t.undoable = { coalesce: false };
3
+ const todo = t.read(id);
4
+ // transactions must never throw errors.
5
+ // if state is invalid they must no op.
6
+ // this is important for resolving concurrency conflicts.
7
+ if (todo) {
8
+ t.update(id, { complete: !todo.complete });
9
+ }
10
+ };
11
+ //# sourceMappingURL=toggle-complete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-complete.js","sourceRoot":"","sources":["../../../../../../src/samples/todo/services/state-service/transactions/toggle-complete.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAY,EAAE,EAAU,EAAE,EAAE;IACzD,CAAC,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,wCAAwC;IACxC,uCAAuC;IACvC,yDAAyD;IACzD,IAAI,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,81 @@
1
+ /*************************************************************************
2
+ *
3
+ * ADOBE CONFIDENTIAL
4
+ * ___________________
5
+ *
6
+ * Copyright 2025 Adobe
7
+ * All Rights Reserved.
8
+ *
9
+ * NOTICE: All information contained herein is, and remains
10
+ * the property of Adobe and its suppliers, if any. The intellectual
11
+ * and technical concepts contained herein are proprietary to Adobe
12
+ * and its suppliers and are protected by all applicable intellectual
13
+ * property laws, including trade secret and copyright laws.
14
+ * Dissemination of this information or reproduction of this material
15
+ * is strictly forbidden unless prior written permission is obtained
16
+ * from Adobe.
17
+ **************************************************************************/
18
+ import { createTodo } from './create-todo.js';
19
+ import { toggleComplete } from './toggle-complete.js';
20
+ import { describe, expect, it } from 'vitest';
21
+ import { createTodoStore } from '../create-todo-store.js';
22
+ describe('toggleComplete', () => {
23
+ describe('when toggling a complete todo', () => {
24
+ it('should mark it as incomplete', () => {
25
+ const t = createTodoStore();
26
+ const todoId = createTodo(t, { name: 'Test todo' });
27
+ // First mark as complete
28
+ t.update(todoId, { complete: true });
29
+ expect(t.read(todoId)?.complete).toBe(true);
30
+ // Then toggle it
31
+ toggleComplete(t, todoId);
32
+ expect(t.read(todoId)?.complete).toBe(false);
33
+ });
34
+ });
35
+ describe('when toggling an incomplete todo', () => {
36
+ it('should mark it as complete', () => {
37
+ const t = createTodoStore();
38
+ const todoId = createTodo(t, { name: 'Test todo' });
39
+ expect(t.read(todoId)?.complete).toBe(false);
40
+ toggleComplete(t, todoId);
41
+ expect(t.read(todoId)?.complete).toBe(true);
42
+ });
43
+ });
44
+ describe('when toggling multiple times', () => {
45
+ it('should alternate between complete and incomplete', () => {
46
+ const t = createTodoStore();
47
+ const todoId = createTodo(t, { name: 'Test todo' });
48
+ expect(t.read(todoId)?.complete).toBe(false);
49
+ // First toggle
50
+ toggleComplete(t, todoId);
51
+ expect(t.read(todoId)?.complete).toBe(true);
52
+ // Second toggle
53
+ toggleComplete(t, todoId);
54
+ expect(t.read(todoId)?.complete).toBe(false);
55
+ // Third toggle
56
+ toggleComplete(t, todoId);
57
+ expect(t.read(todoId)?.complete).toBe(true);
58
+ });
59
+ });
60
+ describe('when toggling a non-existent todo', () => {
61
+ it('should not throw an error and should no-op', () => {
62
+ const t = createTodoStore();
63
+ const nonExistentId = 999;
64
+ expect(t.read(nonExistentId)).toBeNull();
65
+ // Should not throw
66
+ expect(() => toggleComplete(t, nonExistentId)).not.toThrow();
67
+ // Should still be null
68
+ expect(t.read(nonExistentId)).toBeNull();
69
+ });
70
+ });
71
+ describe('when toggling with invalid entity id', () => {
72
+ it('should not throw an error and should no-op', () => {
73
+ const t = createTodoStore();
74
+ const invalidId = -1;
75
+ // Should not throw
76
+ toggleComplete(t, invalidId);
77
+ expect(() => toggleComplete(t, invalidId)).not.toThrow();
78
+ });
79
+ });
80
+ });
81
+ //# sourceMappingURL=toggle-complete.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-complete.test.js","sourceRoot":"","sources":["../../../../../../src/samples/todo/services/state-service/transactions/toggle-complete.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /*************************************************************************
2
+ *
3
+ * ADOBE CONFIDENTIAL
4
+ * ___________________
5
+ *
6
+ * Copyright 2024 Adobe
7
+ * All Rights Reserved.
8
+ *
9
+ * NOTICE: All information contained herein is, and remains
10
+ * the property of Adobe and its suppliers, if any. The intellectual
11
+ * and technical concepts contained herein are proprietary to Adobe
12
+ * and its suppliers and are protected by all applicable intellectual
13
+ * property laws, including trade secret and copyright laws.
14
+ * Dissemination of this information or reproduction of this material
15
+ * is strictly forbidden unless prior written permission is obtained
16
+ * from Adobe.
17
+ **************************************************************************/
18
+ import { TodoMainService } from './services/main-service/todo-main-service.js';
19
+ import { ApplicationElement } from '../../lit/elements/application-element.js';
20
+ export declare class TodoElement extends ApplicationElement<TodoMainService> {
21
+ }
@@ -0,0 +1,4 @@
1
+ import { ApplicationElement } from '../../lit/elements/application-element.js';
2
+ export class TodoElement extends ApplicationElement {
3
+ }
4
+ //# sourceMappingURL=todo-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo-element.js","sourceRoot":"","sources":["../../../src/samples/todo/todo-element.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE/E,MAAM,OAAO,WAAY,SAAQ,kBAAmC;CAAI"}
@@ -0,0 +1,8 @@
1
+ import { LitElement } from 'lit';
2
+ import './todo-main-element.js';
3
+ import '../../lit/elements/application-host.js';
4
+ export declare const tagName = "todo-host";
5
+ export declare class TodoHost extends LitElement {
6
+ static styles: import("lit").CSSResult;
7
+ render(): import("lit").TemplateResult<1>;
8
+ }
@@ -0,0 +1,55 @@
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
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
23
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
24
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
25
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
26
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
27
+ };
28
+ import { LitElement, html, css } from 'lit';
29
+ import { customElement } from 'lit/decorators.js';
30
+ import { createMainService } from './services/main-service/create-main-service.js';
31
+ import './todo-main-element.js'; // Side effect: registers custom elements
32
+ import '../../lit/elements/application-host.js'; // Side effect: registers application-host
33
+ export const tagName = 'todo-host';
34
+ let TodoHost = class TodoHost extends LitElement {
35
+ static { this.styles = css `
36
+ :host {
37
+ display: flex;
38
+ flex: 1 1 auto;
39
+ color: red;
40
+ }
41
+ `; }
42
+ render() {
43
+ return html `
44
+ <application-host
45
+ .createService=${createMainService}
46
+ .renderElement=${() => html `<data-todo></data-todo>`}>
47
+ </application-host>
48
+ `;
49
+ }
50
+ };
51
+ TodoHost = __decorate([
52
+ customElement(tagName)
53
+ ], TodoHost);
54
+ export { TodoHost };
55
+ //# sourceMappingURL=todo-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo-host.js","sourceRoot":"","sources":["../../../src/samples/todo/todo-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;;;;;;;AAEX,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,wBAAwB,CAAC,CAAE,yCAAyC;AAC3E,OAAO,wCAAwC,CAAC,CAAE,0CAA0C;AAE5F,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC;AAG5B,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;aAC7B,WAAM,GAAG,GAAG,CAAA;;;;;;KAMlB,AANY,CAMX;IAEF,MAAM;QACF,OAAO,IAAI,CAAA;;iCAEc,iBAAiB;iCACjB,GAAG,EAAE,CAAC,IAAI,CAAA,yBAAyB;;SAE3D,CAAC;IACN,CAAC;;AAhBQ,QAAQ;IADpB,aAAa,CAAC,OAAO,CAAC;GACV,QAAQ,CAiBpB"}
@@ -0,0 +1,27 @@
1
+ /*************************************************************************
2
+ *
3
+ * ADOBE CONFIDENTIAL
4
+ * ___________________
5
+ *
6
+ * Copyright 2024 Adobe
7
+ * All Rights Reserved.
8
+ *
9
+ * NOTICE: All information contained herein is, and remains
10
+ * the property of Adobe and its suppliers, if any. The intellectual
11
+ * and technical concepts contained herein are proprietary to Adobe
12
+ * and its suppliers and are protected by all applicable intellectual
13
+ * property laws, including trade secret and copyright laws.
14
+ * Dissemination of this information or reproduction of this material
15
+ * is strictly forbidden unless prior written permission is obtained
16
+ * from Adobe.
17
+ **************************************************************************/
18
+ import './elements/todo-list/todo-list.js';
19
+ import './elements/todo-row/todo-row.js';
20
+ import './elements/todo-toolbar/todo-toolbar.js';
21
+ import './elements/todo-undo-redo/todo-undo-redo.js';
22
+ import { TodoElement } from './todo-element.js';
23
+ export declare const tagName = "data-todo";
24
+ export declare class TodoMainElement extends TodoElement {
25
+ static styles: import("lit").CSSResult;
26
+ render(): import("lit").TemplateResult<1>;
27
+ }