@adobe/data 0.5.4 → 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.
- package/dist/ecs/database/create-database.d.ts +2 -2
- package/dist/ecs/database/database-schema/create-database-schema-test.d.ts +1 -0
- package/dist/ecs/database/database-schema/create-database-schema-test.js +42 -0
- package/dist/ecs/database/database-schema/create-database-schema-test.js.map +1 -0
- package/dist/ecs/database/database-schema/create-database-schema.d.ts +14 -0
- package/dist/ecs/database/database-schema/create-database-schema.js +32 -0
- package/dist/ecs/database/database-schema/create-database-schema.js.map +1 -0
- package/dist/ecs/database/database-schema/database-schema.d.ts +13 -0
- package/dist/{services/is-service.js → ecs/database/database-schema/database-schema.js} +2 -4
- package/dist/ecs/database/database-schema/database-schema.js.map +1 -0
- package/dist/ecs/database/database-schema/index.d.ts +2 -0
- package/dist/{services → ecs/database/database-schema}/index.js +2 -3
- package/dist/ecs/database/database-schema/index.js.map +1 -0
- package/dist/ecs/database/database.d.ts +3 -1
- package/dist/ecs/database/index.d.ts +1 -0
- package/dist/ecs/database/index.js +1 -0
- package/dist/ecs/database/index.js.map +1 -1
- package/dist/ecs/index.d.ts +2 -1
- package/dist/ecs/index.js +2 -1
- package/dist/ecs/index.js.map +1 -1
- package/dist/ecs/store/archetype-components.d.ts +3 -1
- package/dist/ecs/store/core/core.d.ts +1 -8
- package/dist/ecs/store/core/create-core.js +9 -4
- package/dist/ecs/store/core/create-core.js.map +1 -1
- package/dist/ecs/store/core/create-core.test.js +0 -109
- package/dist/ecs/store/core/create-core.test.js.map +1 -1
- package/dist/ecs/store/create-store.js +21 -0
- package/dist/ecs/store/create-store.js.map +1 -1
- package/dist/ecs/store/store-schema/create-store-schema-test.js +4 -7
- package/dist/ecs/store/store-schema/create-store-schema-test.js.map +1 -1
- package/dist/ecs/store/store-schema/create-store-schema.d.ts +2 -0
- package/dist/ecs/store/store-schema/create-store-schema.js +5 -0
- package/dist/ecs/store/store-schema/create-store-schema.js.map +1 -1
- package/dist/ecs/store/store-schema/index.d.ts +1 -1
- package/dist/ecs/store/store-schema/index.js +1 -1
- package/dist/ecs/store/store-schema/index.js.map +1 -1
- package/dist/ecs/store/store-schema/store-schema.d.ts +1 -1
- package/dist/ecs/world/create-world.d.ts +7 -0
- package/dist/ecs/world/create-world.js +108 -0
- package/dist/ecs/world/create-world.js.map +1 -0
- package/dist/ecs/world/create-world.test.d.ts +1 -0
- package/dist/ecs/world/create-world.test.js +499 -0
- package/dist/ecs/world/create-world.test.js.map +1 -0
- package/dist/ecs/world/index.d.ts +4 -0
- package/dist/ecs/world/index.js +26 -0
- package/dist/ecs/world/index.js.map +1 -0
- package/dist/ecs/world/system.d.ts +20 -0
- package/dist/ecs/world/system.js +2 -0
- package/dist/ecs/world/system.js.map +1 -0
- package/dist/ecs/world/world-schema/create-world-schema-test.d.ts +1 -0
- package/dist/ecs/world/world-schema/create-world-schema-test.js +55 -0
- package/dist/ecs/world/world-schema/create-world-schema-test.js.map +1 -0
- package/dist/ecs/world/world-schema/create-world-schema.d.ts +19 -0
- package/dist/ecs/world/world-schema/create-world-schema.js +33 -0
- package/dist/ecs/world/world-schema/create-world-schema.js.map +1 -0
- package/dist/ecs/world/world-schema/index.d.ts +2 -0
- package/dist/ecs/world/world-schema/index.js +24 -0
- package/dist/ecs/world/world-schema/index.js.map +1 -0
- package/dist/ecs/world/world-schema/world-schema.d.ts +18 -0
- package/dist/ecs/world/world-schema/world-schema.js +23 -0
- package/dist/ecs/world/world-schema/world-schema.js.map +1 -0
- package/dist/ecs/world/world.d.ts +9 -0
- package/dist/ecs/world/world.js +2 -0
- package/dist/ecs/world/world.js.map +1 -0
- package/dist/functions/serialization/serialization.test.js +78 -0
- package/dist/functions/serialization/serialization.test.js.map +1 -1
- package/dist/graphics/camera/camera.d.ts +62 -0
- package/dist/graphics/camera/camera.js +17 -0
- package/dist/graphics/camera/camera.js.map +1 -0
- package/dist/graphics/camera/index.d.ts +4 -0
- package/dist/graphics/camera/index.js +5 -0
- package/dist/graphics/camera/index.js.map +1 -0
- package/dist/graphics/camera/screen-to-world-ray.d.ts +12 -0
- package/dist/graphics/camera/screen-to-world-ray.js +49 -0
- package/dist/graphics/camera/screen-to-world-ray.js.map +1 -0
- package/dist/graphics/camera/screen-to-world-ray.test.d.ts +1 -0
- package/dist/graphics/camera/screen-to-world-ray.test.js +171 -0
- package/dist/graphics/camera/screen-to-world-ray.test.js.map +1 -0
- package/dist/graphics/camera/to-view-projection.d.ts +3 -0
- package/dist/graphics/camera/to-view-projection.js +8 -0
- package/dist/graphics/camera/to-view-projection.js.map +1 -0
- package/dist/graphics/camera/world-to-screen.d.ts +12 -0
- package/dist/graphics/camera/world-to-screen.js +38 -0
- package/dist/graphics/camera/world-to-screen.js.map +1 -0
- package/dist/graphics/camera/world-to-screen.test.d.ts +1 -0
- package/dist/graphics/camera/world-to-screen.test.js +124 -0
- package/dist/graphics/camera/world-to-screen.test.js.map +1 -0
- package/dist/graphics/create-struct-gpu-buffer.d.ts +7 -0
- package/dist/graphics/create-struct-gpu-buffer.js +17 -0
- package/dist/graphics/create-struct-gpu-buffer.js.map +1 -0
- package/dist/graphics/extract-wgsl-bindings.d.ts +5 -0
- package/dist/graphics/extract-wgsl-bindings.js +10 -0
- package/dist/graphics/extract-wgsl-bindings.js.map +1 -0
- package/dist/graphics/frame.d.ts +22 -0
- package/dist/graphics/frame.js +12 -0
- package/dist/graphics/frame.js.map +1 -0
- package/dist/graphics/get-web-gpu-device-and-context.d.ts +2 -0
- package/dist/graphics/get-web-gpu-device-and-context.js +21 -0
- package/dist/graphics/get-web-gpu-device-and-context.js.map +1 -0
- package/dist/graphics/graphics-context.d.ts +5 -0
- package/dist/graphics/graphics-context.js +2 -0
- package/dist/graphics/graphics-context.js.map +1 -0
- package/dist/graphics/index.d.ts +5 -0
- package/dist/graphics/index.js +5 -0
- package/dist/graphics/index.js.map +1 -0
- package/dist/graphics/to-gpu-buffer.d.ts +2 -0
- package/dist/graphics/to-gpu-buffer.js +14 -0
- package/dist/graphics/to-gpu-buffer.js.map +1 -0
- package/dist/internal/array/index.d.ts +1 -0
- package/dist/internal/array/index.js +23 -0
- package/dist/internal/array/index.js.map +1 -0
- package/dist/internal/array/topological-sort.d.ts +26 -0
- package/dist/internal/array/topological-sort.js +79 -0
- package/dist/internal/array/topological-sort.js.map +1 -0
- package/dist/internal/array/topological-sort.test.d.ts +1 -0
- package/dist/internal/array/topological-sort.test.js +100 -0
- package/dist/internal/array/topological-sort.test.js.map +1 -0
- package/dist/internal/function/debounce.d.ts +70 -0
- package/dist/internal/function/debounce.js +155 -0
- package/dist/internal/function/debounce.js.map +1 -0
- package/dist/internal/function/debounce.test.d.ts +1 -0
- package/dist/internal/function/debounce.test.js +306 -0
- package/dist/internal/function/debounce.test.js.map +1 -0
- package/dist/lit/elements/application-element.js.map +1 -1
- package/dist/lit/elements/application-host.d.ts +16 -0
- package/dist/lit/elements/application-host.js +59 -0
- package/dist/lit/elements/application-host.js.map +1 -0
- package/dist/lit/elements/index.d.ts +2 -0
- package/dist/lit/elements/index.js +2 -0
- package/dist/lit/elements/index.js.map +1 -1
- package/dist/lit/hooks/index.d.ts +3 -0
- package/dist/lit/hooks/index.js +3 -0
- package/dist/lit/hooks/index.js.map +1 -1
- package/dist/lit/hooks/use-drag-observe.d.ts +1 -1
- package/dist/lit/hooks/use-drag-observe.js +1 -1
- package/dist/lit/hooks/use-drag-observe.js.map +1 -1
- package/dist/lit/hooks/use-drag-transaction.d.ts +2 -3
- package/dist/lit/hooks/use-drag-transaction.js +3 -3
- package/dist/lit/hooks/use-drag-transaction.js.map +1 -1
- package/dist/math/aabb/aabb.d.ts +48 -0
- package/dist/math/aabb/aabb.js +86 -0
- package/dist/math/aabb/aabb.js.map +1 -0
- package/dist/math/aabb/line-intersection.test.d.ts +1 -0
- package/dist/math/aabb/line-intersection.test.js +210 -0
- package/dist/math/aabb/line-intersection.test.js.map +1 -0
- package/dist/math/constants.d.ts +4 -0
- package/dist/math/constants.js +26 -0
- package/dist/math/constants.js.map +1 -0
- package/dist/math/index.d.ts +18 -0
- package/dist/math/index.js +40 -0
- package/dist/math/index.js.map +1 -0
- package/dist/math/line2/intersects.test.d.ts +1 -0
- package/dist/math/line2/intersects.test.js +104 -0
- package/dist/math/line2/intersects.test.js.map +1 -0
- package/dist/math/line2/line2.d.ts +42 -0
- package/dist/math/line2/line2.js +78 -0
- package/dist/math/line2/line2.js.map +1 -0
- package/dist/math/line3/closest-point-on-line.test.d.ts +1 -0
- package/dist/math/line3/closest-point-on-line.test.js +107 -0
- package/dist/math/line3/closest-point-on-line.test.js.map +1 -0
- package/dist/math/line3/interpolate.test.d.ts +1 -0
- package/dist/math/line3/interpolate.test.js +66 -0
- package/dist/math/line3/interpolate.test.js.map +1 -0
- package/dist/math/line3/line3.d.ts +49 -0
- package/dist/math/line3/line3.js +77 -0
- package/dist/math/line3/line3.js.map +1 -0
- package/dist/math/line3/sub-line.test.d.ts +1 -0
- package/dist/math/line3/sub-line.test.js +70 -0
- package/dist/math/line3/sub-line.test.js.map +1 -0
- package/dist/math/mat4x4/mat4x4.d.ts +37 -0
- package/dist/math/mat4x4/mat4x4.js +246 -0
- package/dist/math/mat4x4/mat4x4.js.map +1 -0
- package/dist/math/picking/index.d.ts +1 -0
- package/dist/math/picking/index.js +23 -0
- package/dist/math/picking/index.js.map +1 -0
- package/dist/math/picking/pick-from-tables.d.ts +18 -0
- package/dist/math/picking/pick-from-tables.js +154 -0
- package/dist/math/picking/pick-from-tables.js.map +1 -0
- package/dist/math/picking/pick-result.d.ts +7 -0
- package/dist/{services/service.js → math/picking/pick-result.js} +1 -1
- package/dist/math/picking/pick-result.js.map +1 -0
- package/dist/math/quat/quat.d.ts +42 -0
- package/dist/math/quat/quat.js +220 -0
- package/dist/math/quat/quat.js.map +1 -0
- package/dist/math/vec2/vec2.d.ts +63 -0
- package/dist/math/vec2/vec2.js +114 -0
- package/dist/math/vec2/vec2.js.map +1 -0
- package/dist/math/vec3/vec3.d.ts +65 -0
- package/dist/math/vec3/vec3.js +154 -0
- package/dist/math/vec3/vec3.js.map +1 -0
- package/dist/math/vec4/vec4.d.ts +63 -0
- package/dist/math/vec4/vec4.js +154 -0
- package/dist/math/vec4/vec4.js.map +1 -0
- package/dist/observe/to-async-generator.js +4 -0
- package/dist/observe/to-async-generator.js.map +1 -1
- package/dist/observe/with-filter.d.ts +1 -1
- package/dist/observe/with-filter.js.map +1 -1
- package/dist/samples/index.d.ts +13 -0
- package/dist/samples/index.js +27 -0
- package/dist/samples/index.js.map +1 -0
- package/dist/samples/todo/elements/todo-list/todo-list-presentation.d.ts +25 -0
- package/dist/samples/todo/elements/todo-list/todo-list-presentation.js +12 -0
- package/dist/samples/todo/elements/todo-list/todo-list-presentation.js.map +1 -0
- package/dist/samples/todo/elements/todo-list/todo-list.css.d.ts +18 -0
- package/dist/samples/todo/elements/todo-list/todo-list.css.js +27 -0
- package/dist/samples/todo/elements/todo-list/todo-list.css.js.map +1 -0
- package/dist/samples/todo/elements/todo-list/todo-list.d.ts +12 -0
- package/dist/samples/todo/elements/todo-list/todo-list.js +60 -0
- package/dist/samples/todo/elements/todo-list/todo-list.js.map +1 -0
- package/dist/samples/todo/elements/todo-row/index.d.ts +18 -0
- package/dist/samples/todo/elements/todo-row/index.js +19 -0
- package/dist/samples/todo/elements/todo-row/index.js.map +1 -0
- package/dist/samples/todo/elements/todo-row/todo-row-presentation.d.ts +18 -0
- package/dist/samples/todo/elements/todo-row/todo-row-presentation.js +66 -0
- package/dist/samples/todo/elements/todo-row/todo-row-presentation.js.map +1 -0
- package/dist/samples/todo/elements/todo-row/todo-row.css.d.ts +1 -0
- package/dist/samples/todo/elements/todo-row/todo-row.css.js +65 -0
- package/dist/samples/todo/elements/todo-row/todo-row.css.js.map +1 -0
- package/dist/samples/todo/elements/todo-row/todo-row.d.ts +14 -0
- package/dist/samples/todo/elements/todo-row/todo-row.js +60 -0
- package/dist/samples/todo/elements/todo-row/todo-row.js.map +1 -0
- package/dist/samples/todo/elements/todo-toolbar/index.d.ts +18 -0
- package/dist/samples/todo/elements/todo-toolbar/index.js +19 -0
- package/dist/samples/todo/elements/todo-toolbar/index.js.map +1 -0
- package/dist/samples/todo/elements/todo-toolbar/todo-toolbar-presentation.d.ts +22 -0
- package/dist/samples/todo/elements/todo-toolbar/todo-toolbar-presentation.js +57 -0
- package/dist/samples/todo/elements/todo-toolbar/todo-toolbar-presentation.js.map +1 -0
- package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.css.d.ts +1 -0
- package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.css.js +50 -0
- package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.css.js.map +1 -0
- package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.d.ts +11 -0
- package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.js +77 -0
- package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.js.map +1 -0
- package/dist/samples/todo/elements/todo-undo-redo/index.d.ts +18 -0
- package/dist/samples/todo/elements/todo-undo-redo/index.js +19 -0
- package/dist/samples/todo/elements/todo-undo-redo/index.js.map +1 -0
- package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo-presentation.d.ts +17 -0
- package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo-presentation.js +45 -0
- package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo-presentation.js.map +1 -0
- package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo.css.d.ts +1 -0
- package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo.css.js +28 -0
- package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo.css.js.map +1 -0
- package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo.d.ts +11 -0
- package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo.js +52 -0
- package/dist/samples/todo/elements/todo-undo-redo/todo-undo-redo.js.map +1 -0
- package/dist/samples/todo/services/dependent-state-service/create-dependent-state-service.d.ts +6 -0
- package/dist/samples/todo/services/dependent-state-service/create-dependent-state-service.js +21 -0
- package/dist/samples/todo/services/dependent-state-service/create-dependent-state-service.js.map +1 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state/all-todos.d.ts +19 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state/all-todos.js +2 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state/all-todos.js.map +1 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state/complete-todos.d.ts +19 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state/complete-todos.js +2 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state/complete-todos.js.map +1 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state/incomplete-todos.d.ts +19 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state/incomplete-todos.js +2 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state/incomplete-todos.js.map +1 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state/index.d.ts +20 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state/index.js +21 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state/index.js.map +1 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state-service.d.ts +19 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state-service.js +2 -0
- package/dist/samples/todo/services/dependent-state-service/dependent-state-service.js.map +1 -0
- package/dist/samples/todo/services/main-service/create-main-service.d.ts +25 -0
- package/dist/samples/todo/services/main-service/create-main-service.js +39 -0
- package/dist/samples/todo/services/main-service/create-main-service.js.map +1 -0
- package/dist/samples/todo/services/main-service/todo-main-service.d.ts +35 -0
- package/dist/samples/todo/services/main-service/todo-main-service.js +2 -0
- package/dist/samples/todo/services/main-service/todo-main-service.js.map +1 -0
- package/dist/samples/todo/services/state-service/create-todo-database.d.ts +13 -0
- package/dist/samples/todo/services/state-service/create-todo-database.js +26 -0
- package/dist/samples/todo/services/state-service/create-todo-database.js.map +1 -0
- package/dist/samples/todo/services/state-service/create-todo-store.d.ts +13 -0
- package/dist/samples/todo/services/state-service/create-todo-store.js +41 -0
- package/dist/samples/todo/services/state-service/create-todo-store.js.map +1 -0
- package/dist/samples/todo/services/state-service/todo-state-service.d.ts +22 -0
- package/dist/samples/todo/services/state-service/todo-state-service.js +2 -0
- package/dist/samples/todo/services/state-service/todo-state-service.js.map +1 -0
- package/dist/samples/todo/services/state-service/transactions/create-bulk-todos.d.ts +2 -0
- package/dist/samples/todo/services/state-service/transactions/create-bulk-todos.js +26 -0
- package/dist/samples/todo/services/state-service/transactions/create-bulk-todos.js.map +1 -0
- package/dist/samples/todo/services/state-service/transactions/create-todo.d.ts +22 -0
- package/dist/samples/todo/services/state-service/transactions/create-todo.js +13 -0
- package/dist/samples/todo/services/state-service/transactions/create-todo.js.map +1 -0
- package/dist/samples/todo/services/state-service/transactions/create-todo.test.d.ts +1 -0
- package/dist/samples/todo/services/state-service/transactions/create-todo.test.js +32 -0
- package/dist/samples/todo/services/state-service/transactions/create-todo.test.js.map +1 -0
- package/dist/samples/todo/services/state-service/transactions/delete-all-todos.d.ts +19 -0
- package/dist/samples/todo/services/state-service/transactions/delete-all-todos.js +16 -0
- package/dist/samples/todo/services/state-service/transactions/delete-all-todos.js.map +1 -0
- package/dist/samples/todo/services/state-service/transactions/delete-todo.d.ts +3 -0
- package/dist/samples/todo/services/state-service/transactions/delete-todo.js +24 -0
- package/dist/samples/todo/services/state-service/transactions/delete-todo.js.map +1 -0
- package/dist/samples/todo/services/state-service/transactions/delete-todo.test.d.ts +1 -0
- package/dist/samples/todo/services/state-service/transactions/delete-todo.test.js +40 -0
- package/dist/samples/todo/services/state-service/transactions/delete-todo.test.js.map +1 -0
- package/dist/samples/todo/services/state-service/transactions/drag-todo.d.ts +7 -0
- package/dist/samples/todo/services/state-service/transactions/drag-todo.js +33 -0
- package/dist/samples/todo/services/state-service/transactions/drag-todo.js.map +1 -0
- package/dist/samples/todo/services/state-service/transactions/index.d.ts +23 -0
- package/dist/samples/todo/services/state-service/transactions/index.js +25 -0
- package/dist/samples/todo/services/state-service/transactions/index.js.map +1 -0
- package/dist/samples/todo/services/state-service/transactions/reorder-todos.d.ts +23 -0
- package/dist/samples/todo/services/state-service/transactions/reorder-todos.js +11 -0
- package/dist/samples/todo/services/state-service/transactions/reorder-todos.js.map +1 -0
- package/dist/samples/todo/services/state-service/transactions/toggle-complete.d.ts +20 -0
- package/dist/samples/todo/services/state-service/transactions/toggle-complete.js +11 -0
- package/dist/samples/todo/services/state-service/transactions/toggle-complete.js.map +1 -0
- package/dist/samples/todo/services/state-service/transactions/toggle-complete.test.d.ts +1 -0
- package/dist/samples/todo/services/state-service/transactions/toggle-complete.test.js +81 -0
- package/dist/samples/todo/services/state-service/transactions/toggle-complete.test.js.map +1 -0
- package/dist/samples/todo/todo-element.d.ts +21 -0
- package/dist/samples/todo/todo-element.js +4 -0
- package/dist/samples/todo/todo-element.js.map +1 -0
- package/dist/samples/todo/todo-host.d.ts +8 -0
- package/dist/samples/todo/todo-host.js +55 -0
- package/dist/samples/todo/todo-host.js.map +1 -0
- package/dist/samples/todo/todo-main-element.d.ts +27 -0
- package/dist/samples/todo/todo-main-element.js +63 -0
- package/dist/samples/todo/todo-main-element.js.map +1 -0
- package/dist/samples/todo/todo-sample.d.ts +3 -0
- package/dist/samples/todo/todo-sample.js +39 -0
- package/dist/samples/todo/todo-sample.js.map +1 -0
- package/dist/schema/schema.d.ts +7 -6
- package/dist/schema/schema.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/typed-buffer/register-typed-buffer-codecs.js +39 -22
- package/dist/typed-buffer/register-typed-buffer-codecs.js.map +1 -1
- package/dist/typed-buffer/structs/get-struct-layout.js +3 -0
- package/dist/typed-buffer/structs/get-struct-layout.js.map +1 -1
- package/package.json +20 -3
- package/dist/service/to-frontend-service.d.ts +0 -12
- package/dist/service/to-frontend-service.js +0 -5
- package/dist/service/to-frontend-service.js.map +0 -1
- package/dist/services/add-observable-actions.d.ts +0 -29
- package/dist/services/add-observable-actions.js +0 -108
- package/dist/services/add-observable-actions.js.map +0 -1
- package/dist/services/index.d.ts +0 -4
- package/dist/services/index.js.map +0 -1
- package/dist/services/is-service.d.ts +0 -2
- package/dist/services/is-service.js.map +0 -1
- package/dist/services/progressive-result.d.ts +0 -96
- package/dist/services/progressive-result.js +0 -99
- package/dist/services/progressive-result.js.map +0 -1
- package/dist/services/service.d.ts +0 -4
- package/dist/services/service.js.map +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
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 { createTodoStore } from './create-todo-store.js';
|
|
19
|
+
import { createDatabase } from '@adobe/data/ecs';
|
|
20
|
+
import * as transactions from './transactions/index.js';
|
|
21
|
+
export const createTodoDatabase = () => {
|
|
22
|
+
const store = createTodoStore();
|
|
23
|
+
const database = createDatabase(store, transactions);
|
|
24
|
+
return database;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=create-todo-database.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-todo-database.js","sourceRoot":"","sources":["../../../../../src/samples/todo/services/state-service/create-todo-database.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;4EAgB4E;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAC;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const todoStoreSchemaVersion = 1;
|
|
2
|
+
export declare const createTodoStore: () => import("@adobe/data/ecs").Store<{
|
|
3
|
+
todo: true;
|
|
4
|
+
name: string;
|
|
5
|
+
order: number;
|
|
6
|
+
complete: boolean;
|
|
7
|
+
dragPosition: number | null;
|
|
8
|
+
}, {
|
|
9
|
+
displayCompleted: boolean;
|
|
10
|
+
}, {
|
|
11
|
+
Todo: ("todo" | "name" | "order" | "complete" | "dragPosition")[];
|
|
12
|
+
}>;
|
|
13
|
+
export type TodoStore = ReturnType<typeof createTodoStore>;
|
|
@@ -0,0 +1,41 @@
|
|
|
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 { createStore } from '@adobe/data/ecs';
|
|
19
|
+
import { F32Schema, Nullable, TrueSchema } from '@adobe/data/schema';
|
|
20
|
+
// Increment this value if you change the schema in a non-backwards compatible way
|
|
21
|
+
export const todoStoreSchemaVersion = 1;
|
|
22
|
+
export const createTodoStore = () => {
|
|
23
|
+
return createStore(
|
|
24
|
+
// components
|
|
25
|
+
{
|
|
26
|
+
todo: TrueSchema, // a tag that indicates an entity is a todo item.
|
|
27
|
+
complete: { type: 'boolean' },
|
|
28
|
+
name: { type: 'string' },
|
|
29
|
+
order: F32Schema,
|
|
30
|
+
dragPosition: Nullable(F32Schema), // null = not being dragged
|
|
31
|
+
},
|
|
32
|
+
// resources
|
|
33
|
+
{
|
|
34
|
+
displayCompleted: { type: 'boolean', default: false },
|
|
35
|
+
},
|
|
36
|
+
// archetypes
|
|
37
|
+
{
|
|
38
|
+
Todo: ['todo', 'complete', 'name', 'order', 'dragPosition'],
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=create-todo-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-todo-store.js","sourceRoot":"","sources":["../../../../../src/samples/todo/services/state-service/create-todo-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;4EAgB4E;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErE,kFAAkF;AAClF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,OAAO,WAAW;IAChB,cAAc;IACd;QACE,IAAI,EAAE,UAAU,EAAE,iDAAiD;QACnE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,2BAA2B;KAC/D;IACD,aAAa;IACb;QACE,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;KACtD;IACD,cAAc;IACd;QACE,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC;KAC5D,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
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 TodoDatabase } from './create-todo-database.js';
|
|
19
|
+
import { FromArchetype } from '@adobe/data/ecs';
|
|
20
|
+
export type TodoStateService = TodoDatabase;
|
|
21
|
+
export type Todo = FromArchetype<TodoDatabase['archetypes']['Todo']>;
|
|
22
|
+
export type DragTodoFunction = TodoStateService['transactions']['dragTodo'];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"todo-state-service.js","sourceRoot":"","sources":["../../../../../src/samples/todo/services/state-service/todo-state-service.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
export const createBulkTodos = (t, count) => {
|
|
20
|
+
t.undoable = { coalesce: false };
|
|
21
|
+
const currentCount = t.archetypes.Todo.rowCount;
|
|
22
|
+
for (let i = 0; i < count; i++) {
|
|
23
|
+
createTodo(t, { name: `Todo ${currentCount + i}`, complete: false });
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=create-bulk-todos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-bulk-todos.js","sourceRoot":"","sources":["../../../../../../src/samples/todo/services/state-service/transactions/create-bulk-todos.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;4EAgB4E;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAY,EAAE,KAAa,EAAE,EAAE;IAC7D,CAAC,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACjC,MAAM,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,UAAU,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,YAAY,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
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 createTodo: (t: TodoStore, props: {
|
|
20
|
+
name: string;
|
|
21
|
+
complete?: boolean;
|
|
22
|
+
}) => number;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const createTodo = (t, props) => {
|
|
2
|
+
t.undoable = { coalesce: false };
|
|
3
|
+
const order = t.archetypes.Todo.rowCount;
|
|
4
|
+
// TODO: Figure out why the order seems to be zero on each added row.
|
|
5
|
+
return t.archetypes.Todo.insert({
|
|
6
|
+
...props,
|
|
7
|
+
complete: props.complete ?? false,
|
|
8
|
+
todo: true,
|
|
9
|
+
order,
|
|
10
|
+
dragPosition: null,
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=create-todo.js.map
|
|
@@ -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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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,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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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,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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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
|