@adobe/data 0.7.3 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blob/blob-handle.d.ts +2 -2
- package/dist/blob/blob-meta.d.ts +2 -2
- package/dist/cache/blob-store.d.ts +2 -2
- package/dist/cache/data-cache.d.ts +1 -1
- package/dist/cache/functions/memoize.d.ts +1 -3
- package/dist/cache/functions/memoize.js +1 -3
- package/dist/cache/functions/memoize.js.map +1 -1
- package/dist/cache/managed-array.d.ts +2 -2
- package/dist/cache/managed-array.js.map +1 -1
- package/dist/cache/memory-allocator.d.ts +1 -1
- package/dist/cache/memory-allocator.js +2 -2
- package/dist/cache/memory-allocator.js.map +1 -1
- package/dist/ecs/archetype/create-archetype.d.ts +2 -2
- package/dist/ecs/archetype/create-archetype.js.map +1 -1
- package/dist/ecs/archetype/create-archetype.test.js +9 -9
- package/dist/ecs/archetype/create-archetype.test.js.map +1 -1
- package/dist/ecs/archetype/delete-row.test.js +4 -4
- package/dist/ecs/archetype/delete-row.test.js.map +1 -1
- package/dist/ecs/component-schemas.d.ts +1 -1
- package/dist/ecs/database/create-database.test.js +136 -6
- package/dist/ecs/database/create-database.test.js.map +1 -1
- package/dist/ecs/database/database-schema/create-database-schema.d.ts +1 -1
- package/dist/ecs/database/database-schema/database-schema.d.ts +1 -1
- package/dist/ecs/database/database.d.ts +2 -1
- package/dist/ecs/database/index.d.ts +1 -1
- package/dist/ecs/database/index.js +0 -1
- package/dist/ecs/database/index.js.map +1 -1
- package/dist/ecs/database/observe-dependent-value.js +3 -3
- package/dist/ecs/database/observe-dependent-value.js.map +1 -1
- package/dist/ecs/database/observe-select-entities.d.ts +2 -2
- package/dist/ecs/database/observe-select-entities.js +2 -2
- package/dist/ecs/database/observe-select-entities.js.map +1 -1
- package/dist/ecs/database/observe-select-entities.performance.test.js +6 -6
- package/dist/ecs/database/observe-select-entities.performance.test.js.map +1 -1
- package/dist/ecs/database/observe-select-entities.test.js +6 -6
- package/dist/ecs/database/observe-select-entities.test.js.map +1 -1
- package/dist/ecs/database/observed/create-observed-database.js +10 -2
- package/dist/ecs/database/observed/create-observed-database.js.map +1 -1
- package/dist/ecs/database/reconciling/create-reconciling-database.d.ts +8 -1
- package/dist/ecs/database/reconciling/create-reconciling-database.js +50 -19
- package/dist/ecs/database/reconciling/create-reconciling-database.js.map +1 -1
- package/dist/ecs/database/reconciling/create-reconciling-database.test.js +297 -0
- package/dist/ecs/database/reconciling/create-reconciling-database.test.js.map +1 -1
- package/dist/ecs/database/transactional-store/coalesce-transactions.d.ts +5 -1
- package/dist/ecs/database/transactional-store/coalesce-transactions.js +17 -28
- package/dist/ecs/database/transactional-store/coalesce-transactions.js.map +1 -1
- package/dist/ecs/database/transactional-store/coalesce-transactions.test.js +84 -7
- package/dist/ecs/database/transactional-store/coalesce-transactions.test.js.map +1 -1
- package/dist/ecs/database/transactional-store/create-transactional-store.js +7 -2
- package/dist/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
- package/dist/ecs/database/transactional-store/create-transactional-store.test.js +11 -9
- package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
- package/dist/ecs/entity-location-table/create-entity-location-table.js +13 -1
- package/dist/ecs/entity-location-table/create-entity-location-table.js.map +1 -1
- package/dist/ecs/entity-location-table/create-entity-location-table.test.js +1 -2
- package/dist/ecs/entity-location-table/create-entity-location-table.test.js.map +1 -1
- package/dist/ecs/entity-location-table/entity-location.d.ts +2 -2
- package/dist/ecs/entity-location-table/entity-location.js +3 -3
- package/dist/ecs/entity-location-table/entity-location.js.map +1 -1
- package/dist/ecs/entity.d.ts +2 -2
- package/dist/ecs/entity.js +2 -2
- package/dist/ecs/entity.js.map +1 -1
- package/dist/ecs/index.d.ts +5 -2
- package/dist/ecs/index.js +3 -2
- package/dist/ecs/index.js.map +1 -1
- package/dist/ecs/resource-schemas.d.ts +1 -1
- package/dist/ecs/store/core/core.d.ts +14 -13
- package/dist/ecs/store/core/create-core.d.ts +2 -2
- package/dist/ecs/store/core/create-core.js +19 -13
- package/dist/ecs/store/core/create-core.js.map +1 -1
- package/dist/ecs/store/core/create-core.test.js +54 -6
- package/dist/ecs/store/core/create-core.test.js.map +1 -1
- package/dist/ecs/store/core/select-entities.d.ts +2 -1
- package/dist/ecs/store/core/select-entities.js.map +1 -1
- package/dist/ecs/store/core/select-entities.test.js +3 -3
- package/dist/ecs/store/core/select-entities.test.js.map +1 -1
- package/dist/ecs/store/create-store.d.ts +2 -2
- package/dist/ecs/store/create-store.js.map +1 -1
- package/dist/ecs/store/create-store.test.js +8 -8
- package/dist/ecs/store/create-store.test.js.map +1 -1
- package/dist/ecs/store/index.d.ts +2 -0
- package/dist/ecs/store/store.d.ts +10 -9
- package/dist/ecs/store/store.js.map +1 -1
- package/dist/ecs/undo-redo-service/create-undo-redo-service.js +5 -7
- package/dist/ecs/undo-redo-service/create-undo-redo-service.js.map +1 -1
- package/dist/ecs/undo-redo-service/create-undo-redo-service.test.js +27 -27
- package/dist/ecs/undo-redo-service/create-undo-redo-service.test.js.map +1 -1
- package/dist/ecs/undo-redo-service/undo-redo-service.d.ts +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/is-data.d.ts +3 -4
- package/dist/lit/hooks/use-drag-observe.d.ts +2 -1
- package/dist/lit/hooks/use-drag-observe.js +2 -2
- package/dist/lit/hooks/use-drag-observe.js.map +1 -1
- package/dist/lit/hooks/use-drag-transaction.js +3 -3
- package/dist/lit/hooks/use-drag-transaction.js.map +1 -1
- package/dist/lit/hooks/use-draggable.d.ts +1 -1
- package/dist/lit/hooks/use-draggable.js +1 -1
- package/dist/lit/hooks/use-draggable.js.map +1 -1
- package/dist/lit/hooks/use-observable-values.d.ts +1 -2
- package/dist/lit/hooks/use-observable-values.js +2 -2
- package/dist/lit/hooks/use-observable-values.js.map +1 -1
- package/dist/lit/index.d.ts +1 -0
- package/dist/math/aabb/center.d.ts +3 -0
- package/dist/math/aabb/center.js +6 -0
- package/dist/math/aabb/center.js.map +1 -0
- package/dist/math/aabb/face/aabb-face.test.d.ts +1 -0
- package/dist/math/aabb/face/aabb-face.test.js +55 -0
- package/dist/math/aabb/face/aabb-face.test.js.map +1 -0
- package/dist/math/aabb/face/functions.d.ts +47 -0
- package/dist/math/aabb/face/functions.js +148 -0
- package/dist/math/aabb/face/functions.js.map +1 -0
- package/dist/math/aabb/face/index.d.ts +4 -0
- package/dist/math/aabb/face/index.js +23 -0
- package/dist/math/aabb/face/index.js.map +1 -0
- package/dist/math/aabb/face/public.d.ts +2 -0
- package/dist/math/aabb/face/public.js +24 -0
- package/dist/math/aabb/face/public.js.map +1 -0
- package/dist/math/aabb/face/schema.d.ts +5 -0
- package/dist/math/aabb/face/schema.js +27 -0
- package/dist/math/aabb/face/schema.js.map +1 -0
- package/dist/math/aabb/index.d.ts +4 -0
- package/dist/math/aabb/index.js +23 -0
- package/dist/math/aabb/index.js.map +1 -0
- package/dist/math/aabb/layout.d.ts +1 -0
- package/dist/math/aabb/layout.js +25 -0
- package/dist/math/aabb/layout.js.map +1 -0
- package/dist/math/aabb/line-intersection.d.ts +10 -0
- package/dist/math/aabb/line-intersection.js +42 -0
- package/dist/math/aabb/line-intersection.js.map +1 -0
- package/dist/math/aabb/line-intersection.test.js +1 -1
- package/dist/math/aabb/line-intersection.test.js.map +1 -1
- package/dist/math/aabb/public.d.ts +6 -0
- package/dist/math/aabb/public.js +28 -0
- package/dist/math/aabb/public.js.map +1 -0
- package/dist/math/aabb/schema.d.ts +33 -0
- package/dist/math/aabb/schema.js +36 -0
- package/dist/math/aabb/schema.js.map +1 -0
- package/dist/math/aabb/unit.d.ts +5 -0
- package/dist/math/aabb/unit.js +8 -0
- package/dist/math/aabb/unit.js.map +1 -0
- package/dist/math/f32/index.d.ts +4 -0
- package/dist/math/f32/index.js +23 -0
- package/dist/math/f32/index.js.map +1 -0
- package/dist/math/f32/public.d.ts +1 -0
- package/dist/math/f32/public.js +23 -0
- package/dist/math/f32/public.js.map +1 -0
- package/dist/math/f32/schema.d.ts +5 -0
- package/dist/math/f32/schema.js +27 -0
- package/dist/math/f32/schema.js.map +1 -0
- package/dist/math/f64/index.d.ts +4 -0
- package/dist/math/f64/index.js +2 -0
- package/dist/math/f64/index.js.map +1 -0
- package/dist/math/f64/public.d.ts +1 -0
- package/dist/math/f64/public.js +23 -0
- package/dist/math/f64/public.js.map +1 -0
- package/dist/math/f64/schema.d.ts +5 -0
- package/dist/math/f64/schema.js +6 -0
- package/dist/math/f64/schema.js.map +1 -0
- package/dist/math/i32/index.d.ts +4 -0
- package/dist/math/i32/index.js +23 -0
- package/dist/math/i32/index.js.map +1 -0
- package/dist/math/i32/public.d.ts +1 -0
- package/dist/math/i32/public.js +23 -0
- package/dist/math/i32/public.js.map +1 -0
- package/dist/math/i32/schema.d.ts +6 -0
- package/dist/math/i32/schema.js +28 -0
- package/dist/math/i32/schema.js.map +1 -0
- package/dist/math/index.d.ts +14 -13
- package/dist/math/index.js +14 -13
- package/dist/math/index.js.map +1 -1
- package/dist/math/line2/functions.d.ts +5 -0
- package/dist/math/line2/functions.js +61 -0
- package/dist/math/line2/functions.js.map +1 -0
- package/dist/math/line2/index.d.ts +4 -0
- package/dist/math/line2/index.js +23 -0
- package/dist/math/line2/index.js.map +1 -0
- package/dist/math/line2/layout.d.ts +1 -0
- package/dist/math/line2/layout.js +25 -0
- package/dist/math/line2/layout.js.map +1 -0
- package/dist/math/line2/public.d.ts +3 -0
- package/dist/math/line2/public.js +25 -0
- package/dist/math/line2/public.js.map +1 -0
- package/dist/math/line2/schema.d.ts +33 -0
- package/dist/math/line2/schema.js +37 -0
- package/dist/math/line2/schema.js.map +1 -0
- package/dist/math/line3/functions.d.ts +17 -0
- package/dist/math/line3/functions.js +70 -0
- package/dist/math/line3/functions.js.map +1 -0
- package/dist/math/line3/index.d.ts +4 -0
- package/dist/math/line3/index.js +23 -0
- package/dist/math/line3/index.js.map +1 -0
- package/dist/math/line3/layout.d.ts +1 -0
- package/dist/math/line3/layout.js +25 -0
- package/dist/math/line3/layout.js.map +1 -0
- package/dist/math/line3/public.d.ts +3 -0
- package/dist/math/line3/public.js +25 -0
- package/dist/math/line3/public.js.map +1 -0
- package/dist/math/line3/schema.d.ts +33 -0
- package/dist/math/line3/schema.js +37 -0
- package/dist/math/line3/schema.js.map +1 -0
- package/dist/math/mat4x4/functions.d.ts +23 -0
- package/dist/math/mat4x4/functions.js +236 -0
- package/dist/math/mat4x4/functions.js.map +1 -0
- package/dist/math/mat4x4/index.d.ts +26 -0
- package/dist/math/mat4x4/index.js +45 -0
- package/dist/math/mat4x4/index.js.map +1 -0
- package/dist/math/mat4x4/layout.d.ts +1 -0
- package/dist/math/mat4x4/layout.js +25 -0
- package/dist/math/mat4x4/layout.js.map +1 -0
- package/dist/math/mat4x4/public.d.ts +3 -0
- package/dist/math/mat4x4/public.js +25 -0
- package/dist/math/mat4x4/public.js.map +1 -0
- package/dist/math/mat4x4/schema.d.ts +11 -0
- package/dist/math/mat4x4/schema.js +30 -0
- package/dist/math/mat4x4/schema.js.map +1 -0
- package/dist/math/plane/functions.d.ts +16 -0
- package/dist/math/plane/functions.js +55 -0
- package/dist/math/plane/functions.js.map +1 -0
- package/dist/math/plane/index.d.ts +4 -0
- package/dist/math/plane/index.js +23 -0
- package/dist/math/plane/index.js.map +1 -0
- package/dist/math/plane/layout.d.ts +1 -0
- package/dist/math/plane/layout.js +25 -0
- package/dist/math/plane/layout.js.map +1 -0
- package/dist/math/plane/public.d.ts +3 -0
- package/dist/math/plane/public.js +25 -0
- package/dist/math/plane/public.js.map +1 -0
- package/dist/math/plane/schema.d.ts +24 -0
- package/dist/math/plane/schema.js +34 -0
- package/dist/math/plane/schema.js.map +1 -0
- package/dist/math/quat/constants/functions.d.ts +43 -0
- package/dist/math/quat/constants/functions.js +258 -0
- package/dist/math/quat/constants/functions.js.map +1 -0
- package/dist/math/quat/functions.d.ts +43 -0
- package/dist/math/quat/functions.js +258 -0
- package/dist/math/quat/functions.js.map +1 -0
- package/dist/math/quat/index.d.ts +4 -0
- package/dist/math/quat/index.js +23 -0
- package/dist/math/quat/index.js.map +1 -0
- package/dist/math/quat/layout.d.ts +1 -0
- package/dist/math/quat/layout.js +25 -0
- package/dist/math/quat/layout.js.map +1 -0
- package/dist/math/quat/public.d.ts +3 -0
- package/dist/math/quat/public.js +25 -0
- package/dist/math/quat/public.js.map +1 -0
- package/dist/math/quat/schema.d.ts +11 -0
- package/dist/math/quat/schema.js +30 -0
- package/dist/math/quat/schema.js.map +1 -0
- package/dist/math/u32/index.d.ts +4 -0
- package/dist/math/u32/index.js +23 -0
- package/dist/math/u32/index.js.map +1 -0
- package/dist/math/u32/public.d.ts +1 -0
- package/dist/math/u32/public.js +23 -0
- package/dist/math/u32/public.js.map +1 -0
- package/dist/math/u32/schema.d.ts +6 -0
- package/dist/math/u32/schema.js +28 -0
- package/dist/math/u32/schema.js.map +1 -0
- package/dist/math/vec2/functions.d.ts +48 -0
- package/dist/math/vec2/functions.js +104 -0
- package/dist/math/vec2/functions.js.map +1 -0
- package/dist/math/vec2/index.d.ts +4 -0
- package/dist/math/vec2/index.js +23 -0
- package/dist/math/vec2/index.js.map +1 -0
- package/dist/math/vec2/layout.d.ts +1 -0
- package/dist/math/vec2/layout.js +25 -0
- package/dist/math/vec2/layout.js.map +1 -0
- package/dist/math/vec2/public.d.ts +3 -0
- package/dist/math/vec2/public.js +25 -0
- package/dist/math/vec2/public.js.map +1 -0
- package/dist/math/vec2/schema.d.ts +11 -0
- package/dist/math/vec2/schema.js +30 -0
- package/dist/math/vec2/schema.js.map +1 -0
- package/dist/math/vec3/functions.d.ts +59 -0
- package/dist/math/vec3/functions.js +159 -0
- package/dist/math/vec3/functions.js.map +1 -0
- package/dist/math/vec3/index.d.ts +4 -0
- package/dist/math/vec3/index.js +23 -0
- package/dist/math/vec3/index.js.map +1 -0
- package/dist/math/vec3/layout.d.ts +1 -0
- package/dist/math/vec3/layout.js +25 -0
- package/dist/math/vec3/layout.js.map +1 -0
- package/dist/math/vec3/public.d.ts +3 -0
- package/dist/math/vec3/public.js +25 -0
- package/dist/math/vec3/public.js.map +1 -0
- package/dist/math/vec3/schema.d.ts +11 -0
- package/dist/math/vec3/schema.js +30 -0
- package/dist/math/vec3/schema.js.map +1 -0
- package/dist/math/vec4/functions.d.ts +49 -0
- package/dist/math/vec4/functions.js +150 -0
- package/dist/math/vec4/functions.js.map +1 -0
- package/dist/math/vec4/index.d.ts +4 -0
- package/dist/math/vec4/index.js +23 -0
- package/dist/math/vec4/index.js.map +1 -0
- package/dist/math/vec4/layout.d.ts +1 -0
- package/dist/math/vec4/layout.js +25 -0
- package/dist/math/vec4/layout.js.map +1 -0
- package/dist/math/vec4/public.d.ts +3 -0
- package/dist/math/vec4/public.js +25 -0
- package/dist/math/vec4/public.js.map +1 -0
- package/dist/math/vec4/schema.d.ts +11 -0
- package/dist/math/vec4/schema.js +30 -0
- package/dist/math/vec4/schema.js.map +1 -0
- package/dist/mutable.d.ts +3 -4
- package/dist/observe/create-event.d.ts +10 -0
- package/dist/observe/create-event.js +22 -0
- package/dist/observe/create-event.js.map +1 -0
- package/dist/observe/create-persisted-state.d.ts +1 -1
- package/dist/observe/create-persisted-state.js +2 -2
- package/dist/observe/create-persisted-state.js.map +1 -1
- package/dist/observe/create-query-state.d.ts +2 -3
- package/dist/observe/create-query-state.js +2 -2
- package/dist/observe/create-query-state.js.map +1 -1
- package/dist/observe/create-state.d.ts +7 -0
- package/dist/observe/create-state.js +27 -0
- package/dist/observe/create-state.js.map +1 -0
- package/dist/observe/from-array.d.ts +1 -1
- package/dist/observe/from-constant.d.ts +1 -1
- package/dist/observe/from-element-id.d.ts +1 -1
- package/dist/observe/from-element-properties-and-events.d.ts +1 -1
- package/dist/observe/from-element-property.d.ts +1 -1
- package/dist/observe/from-promise-with-error.d.ts +1 -1
- package/dist/observe/from-promise.d.ts +1 -1
- package/dist/observe/from-properties.d.ts +1 -1
- package/dist/observe/index.d.ts +16 -30
- package/dist/observe/index.js +1 -32
- package/dist/observe/index.js.map +1 -1
- package/dist/observe/observe.test.js +4 -4
- package/dist/observe/observe.test.js.map +1 -1
- package/dist/observe/public.d.ts +28 -0
- package/dist/observe/public.js +50 -0
- package/dist/observe/public.js.map +1 -0
- package/dist/observe/to-async-generator.d.ts +1 -1
- package/dist/observe/to-promise.d.ts +2 -2
- package/dist/observe/to-promise.js +1 -1
- package/dist/observe/to-properties.d.ts +1 -1
- package/dist/observe/with-async-map.d.ts +1 -1
- package/dist/observe/with-batch.d.ts +1 -1
- package/dist/observe/with-batch.test.js +5 -5
- package/dist/observe/with-batch.test.js.map +1 -1
- package/dist/observe/with-cache.d.ts +1 -1
- package/dist/observe/with-copy.d.ts +1 -1
- package/dist/observe/with-deduplicate-data.d.ts +1 -1
- package/dist/observe/with-deduplicate.d.ts +1 -1
- package/dist/observe/with-default.d.ts +1 -1
- package/dist/observe/with-filter.d.ts +1 -1
- package/dist/observe/with-lazy.d.ts +1 -1
- package/dist/observe/with-lazy.test.js +3 -3
- package/dist/observe/with-lazy.test.js.map +1 -1
- package/dist/observe/with-map-data.d.ts +1 -1
- package/dist/observe/with-map.d.ts +1 -1
- package/dist/observe/with-optional.d.ts +1 -1
- package/dist/observe/with-unwrap.d.ts +1 -1
- package/dist/old-ecs/action-ecs/action-ecs.js +2 -2
- package/dist/old-ecs/action-ecs/action-ecs.js.map +1 -1
- package/dist/old-ecs/action-ecs/action-ecs.test.js +3 -3
- package/dist/old-ecs/action-ecs/action-ecs.test.js.map +1 -1
- package/dist/old-ecs/action-ecs/action-types.d.ts +4 -4
- package/dist/old-ecs/core-ecs/core-ecs-serialization.test.js +3 -3
- package/dist/old-ecs/core-ecs/core-ecs-serialization.test.js.map +1 -1
- package/dist/old-ecs/core-ecs/core-ecs-types.d.ts +3 -3
- package/dist/old-ecs/core-ecs/core-ecs.js +2 -2
- package/dist/old-ecs/core-ecs/core-ecs.js.map +1 -1
- package/dist/old-ecs/core-ecs/core-ecs.test.js +2 -2
- package/dist/old-ecs/core-ecs/core-ecs.test.js.map +1 -1
- package/dist/old-ecs/ecs/ecs-types.d.ts +3 -3
- package/dist/old-ecs/ecs/ecs.test.js +3 -3
- package/dist/old-ecs/ecs/ecs.test.js.map +1 -1
- package/dist/old-ecs/entity.d.ts +2 -2
- package/dist/old-ecs/entity.js +2 -2
- package/dist/old-ecs/entity.js.map +1 -1
- package/dist/old-ecs/transaction-ecs/transaction-types.d.ts +4 -4
- package/dist/perftest/ecs-perf.js +11 -11
- package/dist/perftest/ecs-perf.js.map +1 -1
- package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.js +3 -3
- package/dist/samples/todo/elements/todo-toolbar/todo-toolbar.js.map +1 -1
- package/dist/samples/todo/services/dependent-state-service/create-dependent-state-service.d.ts +3 -3
- package/dist/samples/todo/services/dependent-state-service/dependent-state/all-todos.d.ts +1 -1
- package/dist/samples/todo/services/dependent-state-service/dependent-state/complete-todos.d.ts +1 -1
- package/dist/samples/todo/services/dependent-state-service/dependent-state/incomplete-todos.d.ts +1 -1
- package/dist/samples/todo/services/state-service/create-todo-database.d.ts +2 -2
- package/dist/samples/todo/services/state-service/create-todo-store.d.ts +2 -2
- package/dist/samples/todo/services/state-service/create-todo-store.js +5 -4
- package/dist/samples/todo/services/state-service/create-todo-store.js.map +1 -1
- package/dist/schema/FromSchemas.d.ts +4 -0
- package/dist/schema/FromSchemas.js +2 -0
- package/dist/schema/FromSchemas.js.map +1 -0
- package/dist/schema/boolean/index.d.ts +4 -0
- package/dist/schema/boolean/index.js +23 -0
- package/dist/schema/boolean/index.js.map +1 -0
- package/dist/schema/boolean/public.d.ts +1 -0
- package/dist/schema/boolean/public.js +23 -0
- package/dist/schema/boolean/public.js.map +1 -0
- package/dist/schema/boolean/schema.d.ts +3 -0
- package/dist/schema/boolean/schema.js +4 -0
- package/dist/schema/boolean/schema.js.map +1 -0
- package/dist/schema/from-schemas.d.ts +5 -0
- package/dist/schema/from-schemas.js +2 -0
- package/dist/schema/from-schemas.js.map +1 -0
- package/dist/schema/index.d.ts +9 -8
- package/dist/schema/index.js +6 -7
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/public.d.ts +4 -0
- package/dist/schema/public.js +26 -0
- package/dist/schema/public.js.map +1 -0
- package/dist/schema/schema copy.d.ts +147 -0
- package/dist/schema/schema copy.js +34 -0
- package/dist/schema/schema copy.js.map +1 -0
- package/dist/schema/schema.d.ts +2 -80
- package/dist/schema/schema.js +0 -10
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/time/index.d.ts +4 -0
- package/dist/schema/time/index.js +23 -0
- package/dist/schema/time/index.js.map +1 -0
- package/dist/schema/time/public.d.ts +1 -0
- package/dist/schema/time/public.js +23 -0
- package/dist/schema/time/public.js.map +1 -0
- package/dist/schema/time/schema.d.ts +5 -0
- package/dist/schema/time/schema.js +24 -0
- package/dist/schema/time/schema.js.map +1 -0
- package/dist/schema/to-type.d.ts +77 -0
- package/dist/schema/to-type.js +33 -0
- package/dist/schema/to-type.js.map +1 -0
- package/dist/schema/to-vertex-buffer-layout.d.ts +2 -2
- package/dist/schema/to-vertex-buffer-layout.js +28 -14
- package/dist/schema/to-vertex-buffer-layout.js.map +1 -1
- package/dist/schema/to-vertex-buffer-layout.test.js +18 -18
- package/dist/schema/to-vertex-buffer-layout.test.js.map +1 -1
- package/dist/schema/true/index.d.ts +4 -0
- package/dist/schema/true/index.js +23 -0
- package/dist/schema/true/index.js.map +1 -0
- package/dist/schema/true/public.d.ts +1 -0
- package/dist/schema/true/public.js +23 -0
- package/dist/schema/true/public.js.map +1 -0
- package/dist/schema/true/schema.d.ts +5 -0
- package/dist/schema/true/schema.js +2 -0
- package/dist/schema/true/schema.js.map +1 -0
- package/dist/schema/type.d.ts +76 -0
- package/dist/schema/type.js +33 -0
- package/dist/schema/type.js.map +1 -0
- package/dist/schema/validation/with-validation.d.ts +2 -2
- package/dist/schema/validation/with-validation.js.map +1 -1
- package/dist/schema/validation/with-validation.test.js.map +1 -1
- package/dist/service/add-observable-actions.d.ts +5 -5
- package/dist/service/add-observable-actions.js +2 -2
- package/dist/service/add-observable-actions.js.map +1 -1
- package/dist/service/index.d.ts +1 -1
- package/dist/service/index.js.map +1 -1
- package/dist/service/progressive-result.d.ts +2 -3
- package/dist/table/add-row.d.ts +2 -2
- package/dist/table/add-row.js +2 -2
- package/dist/table/create-table.d.ts +2 -2
- package/dist/table/create-table.js.map +1 -1
- package/dist/table/delete-row.d.ts +2 -2
- package/dist/table/delete-row.js +2 -2
- package/dist/table/row-index.d.ts +2 -2
- package/dist/table/row-index.js +2 -2
- package/dist/table/row-index.js.map +1 -1
- package/dist/table/table-compact.test.js +9 -9
- package/dist/table/table-compact.test.js.map +1 -1
- package/dist/table/update-row.d.ts +4 -3
- package/dist/table/update-row.js +4 -3
- package/dist/table/update-row.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/typed-buffer/create-array-buffer.d.ts +2 -2
- package/dist/typed-buffer/create-const-buffer.d.ts +1 -1
- package/dist/typed-buffer/create-number-buffer.d.ts +1 -1
- package/dist/typed-buffer/create-number-buffer.js +4 -4
- package/dist/typed-buffer/create-number-buffer.js.map +1 -1
- package/dist/typed-buffer/create-number-buffer.test.js +2 -2
- package/dist/typed-buffer/create-number-buffer.test.js.map +1 -1
- package/dist/typed-buffer/create-struct-buffer.d.ts +3 -3
- package/dist/typed-buffer/create-struct-buffer.js.map +1 -1
- package/dist/typed-buffer/create-struct-buffer.test.js +10 -10
- package/dist/typed-buffer/create-struct-buffer.test.js.map +1 -1
- package/dist/typed-buffer/create-typed-buffer.d.ts +3 -3
- package/dist/typed-buffer/create-typed-buffer.js.map +1 -1
- package/dist/typed-buffer/index.d.ts +1 -0
- package/dist/typed-buffer/structs/assert-struct.d.ts +1 -1
- package/dist/typed-buffer/structs/get-struct-layout.d.ts +1 -1
- package/dist/typed-buffer/structs/get-struct-layout.js +4 -4
- package/dist/typed-buffer/structs/get-struct-layout.js.map +1 -1
- package/dist/typed-buffer/structs/get-struct-layout.test.js +12 -12
- package/dist/typed-buffer/structs/get-struct-layout.test.js.map +1 -1
- package/dist/typed-buffer/structs/struct-layout.d.ts +1 -1
- package/dist/typed-buffer/typed-buffer.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/types.d.ts +1 -2
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Schema } from "../schema/index.js";
|
|
2
2
|
declare const BlobHandleSchema: {
|
|
3
3
|
readonly type: "object";
|
|
4
4
|
readonly properties: {
|
|
@@ -32,7 +32,7 @@ declare const BlobHandleSchema: {
|
|
|
32
32
|
};
|
|
33
33
|
readonly required: readonly ["type", "size", "handle", "expires"];
|
|
34
34
|
};
|
|
35
|
-
export type BlobHandle =
|
|
35
|
+
export type BlobHandle = Schema.ToType<typeof BlobHandleSchema>;
|
|
36
36
|
export type UploadHandle = BlobHandle & {
|
|
37
37
|
upload: true;
|
|
38
38
|
};
|
package/dist/blob/blob-meta.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Schema } from "../schema/index.js";
|
|
2
2
|
declare const BlobMetaSchema: {
|
|
3
3
|
readonly type: "object";
|
|
4
4
|
readonly properties: {
|
|
@@ -20,7 +20,7 @@ declare const BlobMetaSchema: {
|
|
|
20
20
|
};
|
|
21
21
|
readonly required: readonly ["type", "size"];
|
|
22
22
|
};
|
|
23
|
-
export type BlobMeta =
|
|
23
|
+
export type BlobMeta = Schema.ToType<typeof BlobMetaSchema>;
|
|
24
24
|
export declare namespace BlobMeta {
|
|
25
25
|
const schema: {
|
|
26
26
|
readonly type: "object";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Schema } from "../schema/index.js";
|
|
2
2
|
export declare const BlobRefSchema: {
|
|
3
3
|
readonly oneOf: readonly [{
|
|
4
4
|
readonly required: readonly ["remoteBlobRef"];
|
|
@@ -24,7 +24,7 @@ export declare const BlobRefSchema: {
|
|
|
24
24
|
* Do NOT create this type directly.
|
|
25
25
|
* Use the BlobStore to create and manage blob references.
|
|
26
26
|
*/
|
|
27
|
-
export type BlobRef =
|
|
27
|
+
export type BlobRef = Schema.ToType<typeof BlobRefSchema>;
|
|
28
28
|
export declare function isBlobRef(value: unknown): value is BlobRef;
|
|
29
29
|
/**
|
|
30
30
|
* Defined as a symbol because we only want it used by internal code like DataCache.
|
|
@@ -10,7 +10,7 @@ export interface DataCache<K extends Data, V extends Data> {
|
|
|
10
10
|
* Stores a new value within the cache.
|
|
11
11
|
* @param key key to use to store the value
|
|
12
12
|
* @param value the value to store
|
|
13
|
-
* @param
|
|
13
|
+
* @param options optional TTL settings, relative to now
|
|
14
14
|
*/
|
|
15
15
|
put(key: K, value: V, options?: {
|
|
16
16
|
maximumDuration: number;
|
|
@@ -3,10 +3,8 @@ import { type Data } from "../../data.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Uses datacache to store results so we can avoid expensive recomputations of the same input.
|
|
5
5
|
* This function also uses preventParallelExecution to prevent multiple executions of the same function at the same time with the same arguments.
|
|
6
|
+
* @param uniqueNameAndVersion Application-unique identifier that also encodes a version to avoid stale caches.
|
|
6
7
|
* @param fn The function to memoize by storing results in the DataCache.
|
|
7
|
-
* @param version The version of this function. If the function changes this must also change
|
|
8
|
-
* to avoid returning stale results from an older version of the function.
|
|
9
|
-
* @param name The name of this function which should be application unique to avoid hash collisions.
|
|
10
8
|
* @returns A function with the same signature but memoized results.
|
|
11
9
|
*/
|
|
12
10
|
export declare function memoize<In extends Array<Data>, Out extends Data>(uniqueNameAndVersion: string, fn: AsyncDataFunction<In, Out>): AsyncDataFunction<In, Out>;
|
|
@@ -24,10 +24,8 @@ import { getDataCache } from "../index.js";
|
|
|
24
24
|
/**
|
|
25
25
|
* Uses datacache to store results so we can avoid expensive recomputations of the same input.
|
|
26
26
|
* This function also uses preventParallelExecution to prevent multiple executions of the same function at the same time with the same arguments.
|
|
27
|
+
* @param uniqueNameAndVersion Application-unique identifier that also encodes a version to avoid stale caches.
|
|
27
28
|
* @param fn The function to memoize by storing results in the DataCache.
|
|
28
|
-
* @param version The version of this function. If the function changes this must also change
|
|
29
|
-
* to avoid returning stale results from an older version of the function.
|
|
30
|
-
* @param name The name of this function which should be application unique to avoid hash collisions.
|
|
31
29
|
* @returns A function with the same signature but memoized results.
|
|
32
30
|
*/
|
|
33
31
|
export function memoize(uniqueNameAndVersion, fn) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../src/cache/functions/memoize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAI3E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../src/cache/functions/memoize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAI3E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CACrB,oBAA4B,EAC5B,EAA8B;IAE9B,8EAA8E;IAC9E,EAAE,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAG,IAAiB,EAAiB,EAAE;QAC7D,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAI,IAAW,CAAC,CAAC;QACzC,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,OAAO,QAAiD,CAAC;AAC3D,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MemoryAllocator } from "./memory-allocator.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Schema } from "../schema/index.js";
|
|
3
3
|
import { Data } from "../index.js";
|
|
4
4
|
export interface NativeArray<T> {
|
|
5
5
|
readonly length: number;
|
|
@@ -20,4 +20,4 @@ export interface ManagedArray<T> {
|
|
|
20
20
|
toJSON(length: number, allowEncoding?: boolean): Data;
|
|
21
21
|
fromJSON(data: Data, length: number): void;
|
|
22
22
|
}
|
|
23
|
-
export declare function createManagedArray<S extends Schema>(s: S, allocator: MemoryAllocator): ManagedArray<
|
|
23
|
+
export declare function createManagedArray<S extends Schema>(s: S, allocator: MemoryAllocator): ManagedArray<Schema.ToType<S>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-array.js","sourceRoot":"","sources":["../../src/cache/managed-array.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"managed-array.js","sourceRoot":"","sources":["../../src/cache/managed-array.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TypedArray, TypedArrayConstructor } from "../internal/typed-array/index.js";
|
|
2
|
-
import { Observe } from "../observe/
|
|
2
|
+
import { Observe } from "../observe/index.js";
|
|
3
3
|
export interface MemoryAllocator {
|
|
4
4
|
/**
|
|
5
5
|
* An observable event source that notifies when the memory needs to be refreshed.
|
|
@@ -20,7 +20,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
SOFTWARE.*/
|
|
22
22
|
import { createSharedArrayBuffer } from "../internal/shared-array-buffer/create-shared-array-buffer.js";
|
|
23
|
-
import {
|
|
23
|
+
import { Observe } from "../observe/index.js";
|
|
24
24
|
export function createSimpleMemoryAllocator() {
|
|
25
25
|
return {
|
|
26
26
|
needsRefresh: () => () => { },
|
|
@@ -39,7 +39,7 @@ export function createSimpleMemoryAllocator() {
|
|
|
39
39
|
const PAGE_SIZE = 64 * 1024; // 64 KB
|
|
40
40
|
export function createWasmMemoryAllocator(memory) {
|
|
41
41
|
const freeList = [{ offset: 0, size: memory.buffer.byteLength }];
|
|
42
|
-
const [needsRefresh, notifyNeedsRefresh] =
|
|
42
|
+
const [needsRefresh, notifyNeedsRefresh] = Observe.createEvent();
|
|
43
43
|
const mergeFreeBlocks = () => {
|
|
44
44
|
// Sort the free list by offset
|
|
45
45
|
freeList.sort((a, b) => a.offset - b.offset);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-allocator.js","sourceRoot":"","sources":["../../src/cache/memory-allocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AAExG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"memory-allocator.js","sourceRoot":"","sources":["../../src/cache/memory-allocator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Schema } from "../../schema/index.js";
|
|
2
2
|
import { Archetype } from "./archetype.js";
|
|
3
3
|
import { RequiredComponents } from "../required-components.js";
|
|
4
4
|
import { EntityLocationTable } from "../entity-location-table/entity-location-table.js";
|
|
5
5
|
import { Entity } from "../entity.js";
|
|
6
6
|
export declare const createArchetype: <C extends {
|
|
7
7
|
id: typeof Entity.schema;
|
|
8
|
-
}>(components: C, id: number, entityLocationTable: EntityLocationTable) => Archetype<RequiredComponents & { [K in keyof C]:
|
|
8
|
+
}>(components: C, id: number, entityLocationTable: EntityLocationTable) => Archetype<RequiredComponents & { [K in keyof C]: Schema.ToType<C[K]>; }>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-archetype.js","sourceRoot":"","sources":["../../../src/ecs/archetype/create-archetype.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAGX,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAO9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,UAAa,EACb,EAAU,EACV,mBAAwC,
|
|
1
|
+
{"version":3,"file":"create-archetype.js","sourceRoot":"","sources":["../../../src/ecs/archetype/create-archetype.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAGX,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAO9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,UAAa,EACb,EAAU,EACV,mBAAwC,EAC+B,EAAE;IACzE,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,CAAC,OAA4D,EAAU,EAAE;QAC1F,oCAAoC;QACpC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,SAAgB,EAAE,OAAO,CAAC,CAAC;QACpD,kCAAkC;QAClC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5E,0EAA0E;QAC1E,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAa,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAClB,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAA0C,CAAC,CAAC;IAE/F,MAAM,SAAS,GAAG;QACd,EAAE;QACF,GAAG,KAAK;QACR,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACX,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,WAAW,EAAE,SAAS,CAAC,WAAW;SACrC,CAAC;QACF,QAAQ,EAAE,CAAC,IAAa,EAAE,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC/B,0FAA0F;QAC9F,CAAC;KAC6I,CAAC;IACnJ,OAAO,SAAS,CAAC;AACrB,CAAC,CAAA"}
|
|
@@ -23,13 +23,13 @@ import { describe, it, expect } from 'vitest';
|
|
|
23
23
|
import { createArchetype } from '../archetype/index.js';
|
|
24
24
|
import { createEntityLocationTable } from '../entity-location-table/index.js';
|
|
25
25
|
import { Entity } from '../entity.js';
|
|
26
|
-
import {
|
|
26
|
+
import { U32 } from '../../math/u32/index.js';
|
|
27
27
|
describe('createArchetype', () => {
|
|
28
28
|
it('should create an archetype with basic components', () => {
|
|
29
29
|
const entityLocationTable = createEntityLocationTable();
|
|
30
30
|
const components = {
|
|
31
31
|
id: Entity.schema,
|
|
32
|
-
value:
|
|
32
|
+
value: U32.schema,
|
|
33
33
|
};
|
|
34
34
|
const id = 1;
|
|
35
35
|
const archetype = createArchetype(components, id, entityLocationTable);
|
|
@@ -44,7 +44,7 @@ describe('createArchetype', () => {
|
|
|
44
44
|
const entityLocationTable = createEntityLocationTable();
|
|
45
45
|
const components = {
|
|
46
46
|
id: Entity.schema,
|
|
47
|
-
value:
|
|
47
|
+
value: U32.schema,
|
|
48
48
|
};
|
|
49
49
|
const id = 1;
|
|
50
50
|
const archetype = createArchetype(components, id, entityLocationTable);
|
|
@@ -70,9 +70,9 @@ describe('createArchetype', () => {
|
|
|
70
70
|
const entityLocationTable = createEntityLocationTable();
|
|
71
71
|
const components = {
|
|
72
72
|
id: Entity.schema,
|
|
73
|
-
health:
|
|
74
|
-
mana:
|
|
75
|
-
level:
|
|
73
|
+
health: U32.schema,
|
|
74
|
+
mana: U32.schema,
|
|
75
|
+
level: U32.schema,
|
|
76
76
|
};
|
|
77
77
|
const id = 2;
|
|
78
78
|
const archetype = createArchetype(components, id, entityLocationTable);
|
|
@@ -101,8 +101,8 @@ describe('createArchetype', () => {
|
|
|
101
101
|
const entityLocationTable = createEntityLocationTable();
|
|
102
102
|
const components = {
|
|
103
103
|
id: Entity.schema,
|
|
104
|
-
health:
|
|
105
|
-
mana:
|
|
104
|
+
health: U32.schema,
|
|
105
|
+
mana: U32.schema,
|
|
106
106
|
};
|
|
107
107
|
const id = 3;
|
|
108
108
|
const archetype = createArchetype(components, id, entityLocationTable);
|
|
@@ -133,7 +133,7 @@ describe('createArchetype', () => {
|
|
|
133
133
|
const entityLocationTable = createEntityLocationTable();
|
|
134
134
|
const components = {
|
|
135
135
|
id: Entity.schema,
|
|
136
|
-
value:
|
|
136
|
+
value: U32.schema,
|
|
137
137
|
};
|
|
138
138
|
const id = 4;
|
|
139
139
|
const archetype = createArchetype(components, id, entityLocationTable);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-archetype.test.js","sourceRoot":"","sources":["../../../src/ecs/archetype/create-archetype.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-archetype.test.js","sourceRoot":"","sources":["../../../src/ecs/archetype/create-archetype.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAE9C,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,MAAM,mBAAmB,GAAG,yBAAyB,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG;YACf,EAAE,EAAE,MAAM,CAAC,MAAM;YACjB,KAAK,EAAE,GAAG,CAAC,MAAM;SACpB,CAAC;QACF,MAAM,EAAE,GAAG,CAAC,CAAC;QAEb,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;QAEvE,0BAA0B;QAC1B,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,MAAM,mBAAmB,GAAG,yBAAyB,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG;YACf,EAAE,EAAE,MAAM,CAAC,MAAM;YACjB,KAAK,EAAE,GAAG,CAAC,MAAM;SACpB,CAAC;QACF,MAAM,EAAE,GAAG,CAAC,CAAC;QAEb,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;QAEvE,sBAAsB;QACtB,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC;QACzD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEhD,uBAAuB;QACvB,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC;QAC1D,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEjD,iDAAiD;QACjD,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAErD,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,mBAAmB,GAAG,yBAAyB,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG;YACf,EAAE,EAAE,MAAM,CAAC,MAAM;YACjB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,MAAM;YAChB,KAAK,EAAE,GAAG,CAAC,MAAM;SACpB,CAAC;QACF,MAAM,EAAE,GAAG,CAAC,CAAC;QAEb,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;QAEvE,yCAAyC;QACzC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAElD,uCAAuC;QACvC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAC5B,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE5C,yBAAyB;QACzB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACjE,MAAM,mBAAmB,GAAG,yBAAyB,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG;YACf,EAAE,EAAE,MAAM,CAAC,MAAM;YACjB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC;QACF,MAAM,EAAE,GAAG,CAAC,CAAC;QAEb,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;QAEvE,gBAAgB;QAChB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5C,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAE3C,0BAA0B;QAC1B,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAE1C,sDAAsD;QACtD,MAAM,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,CAAE,cAAsB,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,CAAE,cAAsB,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,CAAE,cAAsB,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE/D,0DAA0D;QAC1D,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;QAC1E,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEtC,kDAAkD;QAClD,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC1E,MAAM,mBAAmB,GAAG,yBAAyB,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG;YACf,EAAE,EAAE,MAAM,CAAC,MAAM;YACjB,KAAK,EAAE,GAAG,CAAC,MAAM;SACpB,CAAC;QACF,MAAM,EAAE,GAAG,CAAC,CAAC;QAEb,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;QACvE,MAAM,oBAAoB,GAAG,SAAS,CAAC,UAAU,CAAC;QAElD,4BAA4B;QAC5B,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAC1C,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEnC,yDAAyD;QACzD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -23,13 +23,13 @@ import { describe, it, expect } from 'vitest';
|
|
|
23
23
|
import { createEntityLocationTable } from '../entity-location-table/index.js';
|
|
24
24
|
import { createArchetype, deleteRow } from './index.js';
|
|
25
25
|
import { Entity } from '../entity.js';
|
|
26
|
-
import {
|
|
26
|
+
import { U32 } from '../../math/u32/index.js';
|
|
27
27
|
describe('Archetype_deleteRow', () => {
|
|
28
28
|
it('should delete a row from the middle and update moved entity location', () => {
|
|
29
29
|
const entityLocationTable = createEntityLocationTable();
|
|
30
30
|
const archetype = createArchetype({
|
|
31
31
|
id: Entity.schema,
|
|
32
|
-
value:
|
|
32
|
+
value: U32.schema
|
|
33
33
|
}, 1, entityLocationTable);
|
|
34
34
|
// Create three entities
|
|
35
35
|
const entity1 = archetype.insert({ value: 100 });
|
|
@@ -53,7 +53,7 @@ describe('Archetype_deleteRow', () => {
|
|
|
53
53
|
const entityLocationTable = createEntityLocationTable();
|
|
54
54
|
const archetype = createArchetype({
|
|
55
55
|
id: Entity.schema,
|
|
56
|
-
value:
|
|
56
|
+
value: U32.schema
|
|
57
57
|
}, 1, entityLocationTable);
|
|
58
58
|
// Create two entities
|
|
59
59
|
const entity1 = archetype.insert({ value: 100 });
|
|
@@ -70,7 +70,7 @@ describe('Archetype_deleteRow', () => {
|
|
|
70
70
|
const entityLocationTable = createEntityLocationTable();
|
|
71
71
|
const archetype = createArchetype({
|
|
72
72
|
id: Entity.schema,
|
|
73
|
-
value:
|
|
73
|
+
value: U32.schema
|
|
74
74
|
}, 1, entityLocationTable);
|
|
75
75
|
// Create one entity
|
|
76
76
|
const entity1 = archetype.insert({ value: 100 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-row.test.js","sourceRoot":"","sources":["../../../src/ecs/archetype/delete-row.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"delete-row.test.js","sourceRoot":"","sources":["../../../src/ecs/archetype/delete-row.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,15 +23,17 @@ import { describe, it, expect, vi } from "vitest";
|
|
|
23
23
|
import { createDatabase } from "./create-database.js";
|
|
24
24
|
import { createReconcilingDatabase } from "./reconciling/create-reconciling-database.js";
|
|
25
25
|
import { createStore } from "../store/create-store.js";
|
|
26
|
-
import {
|
|
26
|
+
import { F32 } from "../../math/f32/index.js";
|
|
27
27
|
import { toPromise } from "../../observe/to-promise.js";
|
|
28
|
+
import { createUndoRedoService } from "../undo-redo-service/create-undo-redo-service.js";
|
|
29
|
+
import { applyOperations } from "./transactional-store/apply-operations.js";
|
|
28
30
|
// Test schemas
|
|
29
31
|
const positionSchema = {
|
|
30
32
|
type: "object",
|
|
31
33
|
properties: {
|
|
32
|
-
x:
|
|
33
|
-
y:
|
|
34
|
-
z:
|
|
34
|
+
x: F32.schema,
|
|
35
|
+
y: F32.schema,
|
|
36
|
+
z: F32.schema,
|
|
35
37
|
},
|
|
36
38
|
required: ["x", "y", "z"],
|
|
37
39
|
additionalProperties: false,
|
|
@@ -39,8 +41,8 @@ const positionSchema = {
|
|
|
39
41
|
const healthSchema = {
|
|
40
42
|
type: "object",
|
|
41
43
|
properties: {
|
|
42
|
-
current:
|
|
43
|
-
max:
|
|
44
|
+
current: F32.schema,
|
|
45
|
+
max: F32.schema,
|
|
44
46
|
},
|
|
45
47
|
required: ["current", "max"],
|
|
46
48
|
additionalProperties: false,
|
|
@@ -359,6 +361,52 @@ describe("createDatabase", () => {
|
|
|
359
361
|
expect(observer).toHaveBeenCalled();
|
|
360
362
|
unsubscribe();
|
|
361
363
|
});
|
|
364
|
+
it("should remove transient entries from reconciling queue when AsyncGenerator throws", async () => {
|
|
365
|
+
const store = createTestDatabase();
|
|
366
|
+
// Create an async generator that yields multiple times then throws
|
|
367
|
+
async function* multiYieldErrorStream() {
|
|
368
|
+
yield { position: { x: 1, y: 1, z: 1 }, name: "Yield1" };
|
|
369
|
+
await new Promise(resolve => setTimeout(resolve, 1));
|
|
370
|
+
yield { position: { x: 2, y: 2, z: 2 }, name: "Yield2" };
|
|
371
|
+
await new Promise(resolve => setTimeout(resolve, 1));
|
|
372
|
+
yield { position: { x: 3, y: 3, z: 3 }, name: "Yield3" };
|
|
373
|
+
throw new Error("Sequential transaction failed");
|
|
374
|
+
}
|
|
375
|
+
// Start the transaction
|
|
376
|
+
const transactionPromise = store.transactions.createPositionNameEntity(() => multiYieldErrorStream());
|
|
377
|
+
// Wait a bit to let some yields process
|
|
378
|
+
await new Promise(resolve => setTimeout(resolve, 5));
|
|
379
|
+
// Verify transient entry exists during processing
|
|
380
|
+
const serializedDuring = store.toData();
|
|
381
|
+
const transientEntries = serializedDuring.appliedEntries?.filter(e => e !== null && e !== undefined);
|
|
382
|
+
expect(transientEntries).toBeDefined();
|
|
383
|
+
if (transientEntries && transientEntries.length > 0) {
|
|
384
|
+
// If we caught it during processing, verify it's a transient entry
|
|
385
|
+
expect(transientEntries[0].args?.name).toMatch(/Yield[123]/);
|
|
386
|
+
}
|
|
387
|
+
// Wait for the error
|
|
388
|
+
let error;
|
|
389
|
+
try {
|
|
390
|
+
await transactionPromise;
|
|
391
|
+
}
|
|
392
|
+
catch (e) {
|
|
393
|
+
error = e;
|
|
394
|
+
}
|
|
395
|
+
expect(error).toBeDefined();
|
|
396
|
+
expect(error.message).toBe("Sequential transaction failed");
|
|
397
|
+
// Wait for cleanup to complete
|
|
398
|
+
await new Promise(resolve => setTimeout(resolve, 10));
|
|
399
|
+
// Verify the transient entry is removed from the reconciling queue
|
|
400
|
+
const serializedAfter = store.toData();
|
|
401
|
+
expect(serializedAfter.appliedEntries ?? []).toHaveLength(0);
|
|
402
|
+
// Verify all entities are rolled back
|
|
403
|
+
const entities = store.select(["position", "name"]);
|
|
404
|
+
const yieldEntities = entities.filter(entityId => {
|
|
405
|
+
const values = store.read(entityId);
|
|
406
|
+
return values?.name?.startsWith("Yield");
|
|
407
|
+
});
|
|
408
|
+
expect(yieldEntities).toHaveLength(0);
|
|
409
|
+
});
|
|
362
410
|
it("should handle complex AsyncGenerator with conditional yielding", async () => {
|
|
363
411
|
const store = createTestDatabase();
|
|
364
412
|
const observer = vi.fn();
|
|
@@ -725,5 +773,87 @@ describe("createDatabase", () => {
|
|
|
725
773
|
expect(generating).toBe(false);
|
|
726
774
|
});
|
|
727
775
|
});
|
|
776
|
+
describe("No-op transaction prevention", () => {
|
|
777
|
+
it("should not emit a transaction that makes no changes", () => {
|
|
778
|
+
const store = createTestDatabase();
|
|
779
|
+
// Track how many times the observer is called
|
|
780
|
+
const observer = vi.fn();
|
|
781
|
+
const unsubscribe = store.observe.components.position(observer);
|
|
782
|
+
// Clear any initial calls
|
|
783
|
+
observer.mockClear();
|
|
784
|
+
// Create a no-op transaction (doesn't modify anything)
|
|
785
|
+
const { baseStore, transactions } = createStoreConfig();
|
|
786
|
+
const database = createDatabase(baseStore, {
|
|
787
|
+
...transactions,
|
|
788
|
+
noOpTransaction(t, _args) {
|
|
789
|
+
// This transaction does nothing
|
|
790
|
+
}
|
|
791
|
+
});
|
|
792
|
+
const positionObserver = vi.fn();
|
|
793
|
+
const unsub = database.observe.components.position(positionObserver);
|
|
794
|
+
positionObserver.mockClear();
|
|
795
|
+
// Execute the no-op transaction
|
|
796
|
+
database.transactions.noOpTransaction({});
|
|
797
|
+
// Verify no notification was sent
|
|
798
|
+
expect(positionObserver).not.toHaveBeenCalled();
|
|
799
|
+
unsub();
|
|
800
|
+
});
|
|
801
|
+
it("should not add no-op transactions to the undo stack", async () => {
|
|
802
|
+
const store = createTestDatabase();
|
|
803
|
+
// Create database with undo-redo service
|
|
804
|
+
const { baseStore, transactions } = createStoreConfig();
|
|
805
|
+
const database = createDatabase(baseStore, {
|
|
806
|
+
...transactions,
|
|
807
|
+
noOpTransaction(t, _args) {
|
|
808
|
+
t.undoable = { coalesce: false };
|
|
809
|
+
// This transaction does nothing
|
|
810
|
+
},
|
|
811
|
+
applyOperations(t, operations) {
|
|
812
|
+
applyOperations(t, operations);
|
|
813
|
+
}
|
|
814
|
+
});
|
|
815
|
+
const undoRedo = createUndoRedoService(database);
|
|
816
|
+
// Execute the no-op transaction
|
|
817
|
+
database.transactions.noOpTransaction({});
|
|
818
|
+
// Verify the undo stack is empty (need to await the observable)
|
|
819
|
+
const undoStack = await toPromise(undoRedo.undoStack);
|
|
820
|
+
expect(undoStack).toHaveLength(0);
|
|
821
|
+
});
|
|
822
|
+
it("should emit a transaction that makes changes", () => {
|
|
823
|
+
const store = createTestDatabase();
|
|
824
|
+
const observer = vi.fn();
|
|
825
|
+
const unsubscribe = store.observe.components.position(observer);
|
|
826
|
+
observer.mockClear();
|
|
827
|
+
// Create an entity (makes changes)
|
|
828
|
+
store.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
|
|
829
|
+
// Verify notification was sent
|
|
830
|
+
expect(observer).toHaveBeenCalled();
|
|
831
|
+
unsubscribe();
|
|
832
|
+
});
|
|
833
|
+
it("should detect true no-op when transaction reads but doesn't modify", async () => {
|
|
834
|
+
const { baseStore, transactions } = createStoreConfig();
|
|
835
|
+
const database = createDatabase(baseStore, {
|
|
836
|
+
...transactions,
|
|
837
|
+
readOnlyTransaction(t, args) {
|
|
838
|
+
t.undoable = { coalesce: false };
|
|
839
|
+
// Just read the entity but don't modify it
|
|
840
|
+
const current = t.read(args.entity);
|
|
841
|
+
// Do nothing with the data - this is a true no-op
|
|
842
|
+
},
|
|
843
|
+
applyOperations(t, operations) {
|
|
844
|
+
applyOperations(t, operations);
|
|
845
|
+
}
|
|
846
|
+
});
|
|
847
|
+
// Create an entity
|
|
848
|
+
const entity = database.transactions.createPositionEntity({ position: { x: 1, y: 2, z: 3 } });
|
|
849
|
+
const undoRedo = createUndoRedoService(database);
|
|
850
|
+
const initialStackLength = (await toPromise(undoRedo.undoStack)).length;
|
|
851
|
+
// Execute read-only transaction (true no-op)
|
|
852
|
+
database.transactions.readOnlyTransaction({ entity });
|
|
853
|
+
// Verify no new undo entry was added
|
|
854
|
+
const finalStackLength = (await toPromise(undoRedo.undoStack)).length;
|
|
855
|
+
expect(finalStackLength).toBe(initialStackLength);
|
|
856
|
+
});
|
|
857
|
+
});
|
|
728
858
|
});
|
|
729
859
|
//# sourceMappingURL=create-database.test.js.map
|