@adobe/data 0.2.5 → 0.2.7
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 +3 -1
- package/dist/ecs/database/create-database.js +2 -2
- package/dist/ecs/database/create-database.js.map +1 -1
- package/dist/ecs/database/create-database.test.js +17 -17
- package/dist/ecs/database/create-database.test.js.map +1 -1
- package/dist/ecs/database/database-schema/create-database-from-schema.d.ts +12 -0
- package/dist/ecs/database/database-schema/create-database-from-schema.js +8 -0
- package/dist/ecs/database/database-schema/create-database-from-schema.js.map +1 -0
- package/dist/ecs/database/database-schema/create-database-schema-test.js +25 -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 +11 -5
- package/dist/ecs/database/database-schema/create-database-schema.js +2 -2
- package/dist/ecs/database/database-schema/create-database-schema.js.map +1 -1
- package/dist/ecs/database/database-schema/database-schema.d.ts +7 -4
- package/dist/ecs/database/database-schema/index.d.ts +1 -2
- package/dist/ecs/database/database-schema/index.js +1 -1
- package/dist/ecs/database/database-schema/index.js.map +1 -1
- package/dist/ecs/database/database.d.ts +4 -3
- package/dist/ecs/database/observe-dependent-value.d.ts +1 -1
- package/dist/ecs/database/observe-dependent-value.js +1 -1
- package/dist/ecs/database/observe-dependent-value.js.map +1 -1
- package/dist/ecs/database/transactional-store/create-transactional-store.d.ts +3 -1
- package/dist/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
- package/dist/ecs/database/transactional-store/transactional-store.d.ts +5 -3
- package/dist/ecs/entity-location-table/entity-location.d.ts +1 -0
- package/dist/ecs/entity-location-table/entity-location.js +2 -1
- package/dist/ecs/entity-location-table/entity-location.js.map +1 -1
- package/dist/ecs/store/archetype-components.d.ts +1 -0
- package/dist/ecs/{core-ecs/core-ecs-types.js → store/archetype-components.js} +1 -1
- package/dist/ecs/store/archetype-components.js.map +1 -0
- package/dist/ecs/store/core/create-core.js +2 -2
- package/dist/ecs/store/core/create-core.js.map +1 -1
- package/dist/ecs/store/create-store.d.ts +4 -4
- package/dist/ecs/store/create-store.js +6 -1
- package/dist/ecs/store/create-store.js.map +1 -1
- package/dist/ecs/store/create-store.test.js +17 -7
- package/dist/ecs/store/create-store.test.js.map +1 -1
- package/dist/ecs/store/index.d.ts +1 -0
- package/dist/ecs/store/index.js +1 -0
- package/dist/ecs/store/index.js.map +1 -1
- package/dist/ecs/store/store.d.ts +14 -2
- package/dist/internal/typed-array/get-byte-size.d.ts +2 -2
- package/dist/internal/typed-array/index.d.ts +2 -2
- package/dist/internal/typed-array/index.js +2 -2
- package/dist/internal/typed-array/index.js.map +1 -1
- package/dist/schema/schema.d.ts +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/typed-buffer/index.d.ts +1 -1
- package/dist/typed-buffer/index.js +1 -1
- package/dist/typed-buffer/index.js.map +1 -1
- package/dist/typed-buffer/structs/index.d.ts +1 -0
- package/dist/typed-buffer/structs/index.js +1 -0
- package/dist/typed-buffer/structs/index.js.map +1 -1
- package/dist/typed-buffer/structs/struct-layout.d.ts +0 -3
- package/dist/typed-buffer/structs/struct-layout.js +0 -21
- package/dist/typed-buffer/structs/struct-layout.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/typed-array-constructer.js.map +1 -0
- package/dist/types/typed-array.js.map +1 -0
- package/package.json +1 -2
- package/dist/README.md +0 -310
- package/dist/_/data.d.ts +0 -11
- package/dist/_/data.js +0 -23
- package/dist/_/data.js.map +0 -1
- package/dist/_/equals.d.ts +0 -11
- package/dist/_/equals.js +0 -73
- package/dist/_/equals.js.map +0 -1
- package/dist/_/equals.test.js +0 -150
- package/dist/_/equals.test.js.map +0 -1
- package/dist/_/index.d.ts +0 -4
- package/dist/_/index.js +0 -24
- package/dist/_/index.js.map +0 -1
- package/dist/_/is-data.d.ts +0 -11
- package/dist/_/is-data.js +0 -2
- package/dist/_/is-data.js.map +0 -1
- package/dist/_/normalize.d.ts +0 -1
- package/dist/_/normalize.js +0 -34
- package/dist/_/normalize.js.map +0 -1
- package/dist/_/normalize.test.d.ts +0 -1
- package/dist/_/normalize.test.js +0 -48
- package/dist/_/normalize.test.js.map +0 -1
- package/dist/_/schema.test.d.ts +0 -1
- package/dist/_/schema.test.js +0 -16
- package/dist/_/schema.test.js.map +0 -1
- package/dist/blob-store/blob-store.d.ts +0 -94
- package/dist/blob-store/blob-store.js +0 -194
- package/dist/blob-store/blob-store.js.map +0 -1
- package/dist/blob-store/blob-store.test.d.ts +0 -1
- package/dist/blob-store/blob-store.test.js +0 -142
- package/dist/blob-store/blob-store.test.js.map +0 -1
- package/dist/cache/functions/bind-functions.d.ts +0 -6
- package/dist/cache/functions/bind-functions.js +0 -33
- package/dist/cache/functions/bind-functions.js.map +0 -1
- package/dist/cache/functions/omit.d.ts +0 -1
- package/dist/cache/functions/omit.js +0 -29
- package/dist/cache/functions/omit.js.map +0 -1
- package/dist/cache/functions/types.d.ts +0 -1
- package/dist/cache/functions/types.js +0 -23
- package/dist/cache/functions/types.js.map +0 -1
- package/dist/core/IsData.d.ts +0 -6
- package/dist/core/IsData.js +0 -2
- package/dist/core/IsData.js.map +0 -1
- package/dist/core/data.d.ts +0 -11
- package/dist/core/data.js +0 -23
- package/dist/core/data.js.map +0 -1
- package/dist/core/data.test.d.ts +0 -1
- package/dist/core/data.test.js +0 -48
- package/dist/core/data.test.js.map +0 -1
- package/dist/core/equals.d.ts +0 -11
- package/dist/core/equals.js +0 -73
- package/dist/core/equals.js.map +0 -1
- package/dist/core/equals.test.d.ts +0 -1
- package/dist/core/equals.test.js +0 -150
- package/dist/core/equals.test.js.map +0 -1
- package/dist/core/functions/array-equals-shallow.d.ts +0 -1
- package/dist/core/functions/array-equals-shallow.js +0 -34
- package/dist/core/functions/array-equals-shallow.js.map +0 -1
- package/dist/core/functions/deep-assign.d.ts +0 -11
- package/dist/core/functions/deep-assign.js +0 -61
- package/dist/core/functions/deep-assign.js.map +0 -1
- package/dist/core/functions/deep-assign.test.d.ts +0 -1
- package/dist/core/functions/deep-assign.test.js +0 -180
- package/dist/core/functions/deep-assign.test.js.map +0 -1
- package/dist/core/functions/deep-merge.d.ts +0 -32
- package/dist/core/functions/deep-merge.js +0 -54
- package/dist/core/functions/deep-merge.js.map +0 -1
- package/dist/core/functions/deep-merge.test.d.ts +0 -1
- package/dist/core/functions/deep-merge.test.js +0 -94
- package/dist/core/functions/deep-merge.test.js.map +0 -1
- package/dist/core/functions/index.d.ts +0 -1
- package/dist/core/functions/index.js +0 -23
- package/dist/core/functions/index.js.map +0 -1
- package/dist/core/functions/is-async-generator.d.ts +0 -1
- package/dist/core/functions/is-async-generator.js +0 -25
- package/dist/core/functions/is-async-generator.js.map +0 -1
- package/dist/core/functions/is-promise.d.ts +0 -1
- package/dist/core/functions/is-promise.js +0 -26
- package/dist/core/functions/is-promise.js.map +0 -1
- package/dist/core/functions/memoize-factory.d.ts +0 -1
- package/dist/core/functions/memoize-factory.js +0 -12
- package/dist/core/functions/memoize-factory.js.map +0 -1
- package/dist/core/index.d.ts +0 -4
- package/dist/core/index.js +0 -24
- package/dist/core/index.js.map +0 -1
- package/dist/core/is-data.d.ts +0 -11
- package/dist/core/is-data.js +0 -2
- package/dist/core/is-data.js.map +0 -1
- package/dist/core/normalize.d.ts +0 -1
- package/dist/core/normalize.js +0 -34
- package/dist/core/normalize.js.map +0 -1
- package/dist/core/normalize.test.d.ts +0 -1
- package/dist/core/normalize.test.js +0 -48
- package/dist/core/normalize.test.js.map +0 -1
- package/dist/core/schema.test.d.ts +0 -1
- package/dist/core/schema.test.js +0 -16
- package/dist/core/schema.test.js.map +0 -1
- package/dist/ecs/action-ecs/action-ecs.d.ts +0 -19
- package/dist/ecs/action-ecs/action-ecs.js +0 -203
- package/dist/ecs/action-ecs/action-ecs.js.map +0 -1
- package/dist/ecs/action-ecs/action-ecs.test.d.ts +0 -1
- package/dist/ecs/action-ecs/action-ecs.test.js +0 -363
- package/dist/ecs/action-ecs/action-ecs.test.js.map +0 -1
- package/dist/ecs/action-ecs/action-types.d.ts +0 -106
- package/dist/ecs/action-ecs/action-types.js +0 -19
- package/dist/ecs/action-ecs/action-types.js.map +0 -1
- package/dist/ecs/action-ecs/index.d.ts +0 -3
- package/dist/ecs/action-ecs/index.js +0 -24
- package/dist/ecs/action-ecs/index.js.map +0 -1
- package/dist/ecs/action-ecs/sequential-action.d.ts +0 -18
- package/dist/ecs/action-ecs/sequential-action.js +0 -45
- package/dist/ecs/action-ecs/sequential-action.js.map +0 -1
- package/dist/ecs/core-ecs/core-ecs-serialization.test.d.ts +0 -1
- package/dist/ecs/core-ecs/core-ecs-serialization.test.js +0 -231
- package/dist/ecs/core-ecs/core-ecs-serialization.test.js.map +0 -1
- package/dist/ecs/core-ecs/core-ecs-types.d.ts +0 -142
- package/dist/ecs/core-ecs/core-ecs-types.js.map +0 -1
- package/dist/ecs/core-ecs/core-ecs.d.ts +0 -7
- package/dist/ecs/core-ecs/core-ecs.js +0 -492
- package/dist/ecs/core-ecs/core-ecs.js.map +0 -1
- package/dist/ecs/core-ecs/core-ecs.test.d.ts +0 -1
- package/dist/ecs/core-ecs/core-ecs.test.js +0 -426
- package/dist/ecs/core-ecs/core-ecs.test.js.map +0 -1
- package/dist/ecs/core-ecs/index.d.ts +0 -1
- package/dist/ecs/core-ecs/index.js +0 -2
- package/dist/ecs/core-ecs/index.js.map +0 -1
- package/dist/ecs/database/database-schema/create-database-from-schemas.d.ts +0 -15
- package/dist/ecs/database/database-schema/create-database-from-schemas.js +0 -33
- package/dist/ecs/database/database-schema/create-database-from-schemas.js.map +0 -1
- package/dist/ecs/ecs/ecs-types.d.ts +0 -133
- package/dist/ecs/ecs/ecs-types.js +0 -23
- package/dist/ecs/ecs/ecs-types.js.map +0 -1
- package/dist/ecs/ecs/ecs-where-functions.d.ts +0 -6
- package/dist/ecs/ecs/ecs-where-functions.js +0 -91
- package/dist/ecs/ecs/ecs-where-functions.js.map +0 -1
- package/dist/ecs/ecs/ecs.d.ts +0 -13
- package/dist/ecs/ecs/ecs.js +0 -177
- package/dist/ecs/ecs/ecs.js.map +0 -1
- package/dist/ecs/ecs/ecs.test.d.ts +0 -1
- package/dist/ecs/ecs/ecs.test.js +0 -399
- package/dist/ecs/ecs/ecs.test.js.map +0 -1
- package/dist/ecs/ecs/index.d.ts +0 -2
- package/dist/ecs/ecs/index.js +0 -24
- package/dist/ecs/ecs/index.js.map +0 -1
- package/dist/ecs/store/resource-components copy.d.ts +0 -1
- package/dist/ecs/store/resource-components copy.js +0 -23
- package/dist/ecs/store/resource-components copy.js.map +0 -1
- package/dist/ecs/systems/index.d.ts +0 -2
- package/dist/ecs/systems/index.js +0 -2
- package/dist/ecs/systems/index.js.map +0 -1
- package/dist/ecs/systems/system-phase.d.ts +0 -5
- package/dist/ecs/systems/system-phase.js +0 -16
- package/dist/ecs/systems/system-phase.js.map +0 -1
- package/dist/ecs/systems/system.d.ts +0 -7
- package/dist/ecs/systems/system.js +0 -2
- package/dist/ecs/systems/system.js.map +0 -1
- package/dist/ecs/transaction-ecs/index.d.ts +0 -2
- package/dist/ecs/transaction-ecs/index.js +0 -24
- package/dist/ecs/transaction-ecs/index.js.map +0 -1
- package/dist/ecs/transaction-ecs/transaction-ecs.d.ts +0 -11
- package/dist/ecs/transaction-ecs/transaction-ecs.js +0 -184
- package/dist/ecs/transaction-ecs/transaction-ecs.js.map +0 -1
- package/dist/ecs/transaction-ecs/transaction-ecs.test.d.ts +0 -1
- package/dist/ecs/transaction-ecs/transaction-ecs.test.js +0 -599
- package/dist/ecs/transaction-ecs/transaction-ecs.test.js.map +0 -1
- package/dist/ecs/transaction-ecs/transaction-types.d.ts +0 -136
- package/dist/ecs/transaction-ecs/transaction-types.js +0 -2
- package/dist/ecs/transaction-ecs/transaction-types.js.map +0 -1
- package/dist/ecs/transaction-ecs/transactions.d.ts +0 -5
- package/dist/ecs/transaction-ecs/transactions.js +0 -158
- package/dist/ecs/transaction-ecs/transactions.js.map +0 -1
- package/dist/equalsShallow.d.ts +0 -1
- package/dist/equalsShallow.js +0 -37
- package/dist/equalsShallow.js.map +0 -1
- package/dist/equalsShallow.test.d.ts +0 -1
- package/dist/equalsShallow.test.js +0 -113
- package/dist/equalsShallow.test.js.map +0 -1
- package/dist/internal/object/mutable-clone.d.ts +0 -5
- package/dist/internal/object/mutable-clone.js +0 -4
- package/dist/internal/object/mutable-clone.js.map +0 -1
- package/dist/old-ecs/ecs/ecs-where-cache.test.d.ts +0 -1
- package/dist/old-ecs/ecs/ecs-where-cache.test.js +0 -164
- package/dist/old-ecs/ecs/ecs-where-cache.test.js.map +0 -1
- package/dist/package.json +0 -129
- package/dist/schema/FromSchema.d.ts +0 -25
- package/dist/schema/FromSchema.js +0 -2
- package/dist/schema/FromSchema.js.map +0 -1
- package/dist/service/isService.d.ts +0 -2
- package/dist/service/isService.js +0 -5
- package/dist/service/isService.js.map +0 -1
- package/dist/service/sequential-action.d.ts +0 -18
- package/dist/service/sequential-action.js +0 -45
- package/dist/service/sequential-action.js.map +0 -1
- package/dist/table/copy-to-gpu-buffer.d.ts +0 -2
- package/dist/table/copy-to-gpu-buffer.js +0 -16
- package/dist/table/copy-to-gpu-buffer.js.map +0 -1
- package/dist/table/create-composite-table.d.ts +0 -5
- package/dist/table/create-composite-table.js +0 -20
- package/dist/table/create-composite-table.js.map +0 -1
- package/dist/typed-buffer/create-composite-buffer.d.ts +0 -2
- package/dist/typed-buffer/create-composite-buffer.js +0 -85
- package/dist/typed-buffer/create-composite-buffer.js.map +0 -1
- package/dist/typed-buffer/create-composite-buffer.test.d.ts +0 -1
- package/dist/typed-buffer/create-composite-buffer.test.js +0 -291
- package/dist/typed-buffer/create-composite-buffer.test.js.map +0 -1
- package/dist/typed-buffer/create-mapped-buffer.d.ts +0 -6
- package/dist/typed-buffer/create-mapped-buffer.js +0 -32
- package/dist/typed-buffer/create-mapped-buffer.js.map +0 -1
- package/dist/typed-buffer/create-mapped-buffer.test.d.ts +0 -1
- package/dist/typed-buffer/create-mapped-buffer.test.js +0 -202
- package/dist/typed-buffer/create-mapped-buffer.test.js.map +0 -1
- package/dist/types/array/equalsShallow.d.ts +0 -1
- package/dist/types/array/equalsShallow.js +0 -37
- package/dist/types/array/equalsShallow.js.map +0 -1
- package/dist/types/array/equalsShallow.test.d.ts +0 -1
- package/dist/types/array/equalsShallow.test.js +0 -113
- package/dist/types/array/equalsShallow.test.js.map +0 -1
- package/dist/types/array/index.d.ts +0 -1
- package/dist/types/array/index.js +0 -2
- package/dist/types/array/index.js.map +0 -1
- package/dist/types/array-buffer-like/copy.d.ts +0 -1
- package/dist/types/array-buffer-like/copy.js +0 -469
- package/dist/types/array-buffer-like/copy.js.map +0 -1
- package/dist/types/array-buffer-like/grow.d.ts +0 -1
- package/dist/types/array-buffer-like/grow.js +0 -53
- package/dist/types/array-buffer-like/grow.js.map +0 -1
- package/dist/types/array-buffer-like/index.d.ts +0 -4
- package/dist/types/array-buffer-like/index.js +0 -26
- package/dist/types/array-buffer-like/index.js.map +0 -1
- package/dist/types/array-buffer-like/is-array-buffer.d.ts +0 -1
- package/dist/types/array-buffer-like/is-array-buffer.js +0 -445
- package/dist/types/array-buffer-like/is-array-buffer.js.map +0 -1
- package/dist/types/array-buffer-like/is-shared-array-buffer.d.ts +0 -1
- package/dist/types/array-buffer-like/is-shared-array-buffer.js +0 -445
- package/dist/types/array-buffer-like/is-shared-array-buffer.js.map +0 -1
- package/dist/types/data-view-32/create-data-view-32.d.ts +0 -2
- package/dist/types/data-view-32/create-data-view-32.js +0 -8
- package/dist/types/data-view-32/create-data-view-32.js.map +0 -1
- package/dist/types/data-view-32/data-view-32.d.ts +0 -5
- package/dist/types/data-view-32/data-view-32.js +0 -23
- package/dist/types/data-view-32/data-view-32.js.map +0 -1
- package/dist/types/data-view-32/index.d.ts +0 -2
- package/dist/types/data-view-32/index.js +0 -24
- package/dist/types/data-view-32/index.js.map +0 -1
- package/dist/types/object/index.d.ts +0 -2
- package/dist/types/object/index.js +0 -24
- package/dist/types/object/index.js.map +0 -1
- package/dist/types/object/map-entries.d.ts +0 -5
- package/dist/types/object/map-entries.js +0 -29
- package/dist/types/object/map-entries.js.map +0 -1
- package/dist/types/object/mutable-clone.d.ts +0 -5
- package/dist/types/object/mutable-clone.js +0 -4
- package/dist/types/object/mutable-clone.js.map +0 -1
- package/dist/types/remove-readonly.d.ts +0 -3
- package/dist/types/remove-readonly.js +0 -2
- package/dist/types/remove-readonly.js.map +0 -1
- package/dist/types/table/add-row.d.ts +0 -8
- package/dist/types/table/add-row.js +0 -40
- package/dist/types/table/add-row.js.map +0 -1
- package/dist/types/table/create-table.d.ts +0 -3
- package/dist/types/table/create-table.js +0 -33
- package/dist/types/table/create-table.js.map +0 -1
- package/dist/types/table/delete-row.d.ts +0 -9
- package/dist/types/table/delete-row.js +0 -18
- package/dist/types/table/delete-row.js.map +0 -1
- package/dist/types/table/ensure-capacity.d.ts +0 -2
- package/dist/types/table/ensure-capacity.js +0 -15
- package/dist/types/table/ensure-capacity.js.map +0 -1
- package/dist/types/table/get-row-data.d.ts +0 -3
- package/dist/types/table/get-row-data.js +0 -8
- package/dist/types/table/get-row-data.js.map +0 -1
- package/dist/types/table/index.d.ts +0 -8
- package/dist/types/table/index.js +0 -30
- package/dist/types/table/index.js.map +0 -1
- package/dist/types/table/row-index.d.ts +0 -8
- package/dist/types/table/row-index.js +0 -3
- package/dist/types/table/row-index.js.map +0 -1
- package/dist/types/table/table.d.ts +0 -13
- package/dist/types/table/table.js +0 -2
- package/dist/types/table/table.js.map +0 -1
- package/dist/types/table/update-row.d.ts +0 -8
- package/dist/types/table/update-row.js +0 -12
- package/dist/types/table/update-row.js.map +0 -1
- package/dist/types/typed-array/copy-to-gpu-buffer.d.ts +0 -2
- package/dist/types/typed-array/copy-to-gpu-buffer.js +0 -16
- package/dist/types/typed-array/copy-to-gpu-buffer.js.map +0 -1
- package/dist/types/typed-array/get-byte-size.d.ts +0 -2
- package/dist/types/typed-array/get-byte-size.js +0 -28
- package/dist/types/typed-array/get-byte-size.js.map +0 -1
- package/dist/types/typed-array/index.d.ts +0 -4
- package/dist/types/typed-array/index.js +0 -26
- package/dist/types/typed-array/index.js.map +0 -1
- package/dist/types/typed-array/typed-array-constructer.js.map +0 -1
- package/dist/types/typed-array/typed-array.js.map +0 -1
- package/dist/types/typed-buffer/copy-to-gpu-buffer.d.ts +0 -2
- package/dist/types/typed-buffer/copy-to-gpu-buffer.js +0 -16
- package/dist/types/typed-buffer/copy-to-gpu-buffer.js.map +0 -1
- package/dist/types/typed-buffer/create-array-buffer.d.ts +0 -4
- package/dist/types/typed-buffer/create-array-buffer.js +0 -29
- package/dist/types/typed-buffer/create-array-buffer.js.map +0 -1
- package/dist/types/typed-buffer/create-number-buffer.d.ts +0 -8
- package/dist/types/typed-buffer/create-number-buffer.js +0 -75
- package/dist/types/typed-buffer/create-number-buffer.js.map +0 -1
- package/dist/types/typed-buffer/create-struct-buffer.d.ts +0 -10
- package/dist/types/typed-buffer/create-struct-buffer.js +0 -78
- package/dist/types/typed-buffer/create-struct-buffer.js.map +0 -1
- package/dist/types/typed-buffer/create-typed-buffer.d.ts +0 -7
- package/dist/types/typed-buffer/create-typed-buffer.js +0 -17
- package/dist/types/typed-buffer/create-typed-buffer.js.map +0 -1
- package/dist/types/typed-buffer/index.d.ts +0 -6
- package/dist/types/typed-buffer/index.js +0 -28
- package/dist/types/typed-buffer/index.js.map +0 -1
- package/dist/types/typed-buffer/structs/assert-struct.d.ts +0 -8
- package/dist/types/typed-buffer/structs/assert-struct.js +0 -15
- package/dist/types/typed-buffer/structs/assert-struct.js.map +0 -1
- package/dist/types/typed-buffer/structs/create-read-struct.d.ts +0 -3
- package/dist/types/typed-buffer/structs/create-read-struct.js +0 -62
- package/dist/types/typed-buffer/structs/create-read-struct.js.map +0 -1
- package/dist/types/typed-buffer/structs/create-read-struct.test.d.ts +0 -1
- package/dist/types/typed-buffer/structs/create-read-struct.test.js +0 -189
- package/dist/types/typed-buffer/structs/create-read-struct.test.js.map +0 -1
- package/dist/types/typed-buffer/structs/create-write-struct.d.ts +0 -3
- package/dist/types/typed-buffer/structs/create-write-struct.js +0 -58
- package/dist/types/typed-buffer/structs/create-write-struct.js.map +0 -1
- package/dist/types/typed-buffer/structs/get-field-offset.d.ts +0 -2
- package/dist/types/typed-buffer/structs/get-field-offset.js +0 -14
- package/dist/types/typed-buffer/structs/get-field-offset.js.map +0 -1
- package/dist/types/typed-buffer/structs/get-struct-layout.d.ts +0 -5
- package/dist/types/typed-buffer/structs/get-struct-layout.js +0 -198
- package/dist/types/typed-buffer/structs/get-struct-layout.js.map +0 -1
- package/dist/types/typed-buffer/structs/get-struct-layout.test.d.ts +0 -1
- package/dist/types/typed-buffer/structs/get-struct-layout.test.js +0 -133
- package/dist/types/typed-buffer/structs/get-struct-layout.test.js.map +0 -1
- package/dist/types/typed-buffer/structs/index.d.ts +0 -1
- package/dist/types/typed-buffer/structs/index.js +0 -23
- package/dist/types/typed-buffer/structs/index.js.map +0 -1
- package/dist/types/typed-buffer/structs/read-struct.d.ts +0 -2
- package/dist/types/typed-buffer/structs/read-struct.js +0 -2
- package/dist/types/typed-buffer/structs/read-struct.js.map +0 -1
- package/dist/types/typed-buffer/structs/struct-layout.d.ts +0 -21
- package/dist/types/typed-buffer/structs/struct-layout.js +0 -23
- package/dist/types/typed-buffer/structs/struct-layout.js.map +0 -1
- package/dist/types/typed-buffer/structs/write-struct.d.ts +0 -2
- package/dist/types/typed-buffer/structs/write-struct.js +0 -2
- package/dist/types/typed-buffer/structs/write-struct.js.map +0 -1
- package/dist/types/typed-buffer/structs/write-struct.test.d.ts +0 -1
- package/dist/types/typed-buffer/structs/write-struct.test.js +0 -181
- package/dist/types/typed-buffer/structs/write-struct.test.js.map +0 -1
- package/dist/types/typed-buffer/typed-buffer.d.ts +0 -16
- package/dist/types/typed-buffer/typed-buffer.js +0 -2
- package/dist/types/typed-buffer/typed-buffer.js.map +0 -1
- package/dist/types/typed-buffer/typed-buffer.test.d.ts +0 -1
- package/dist/types/typed-buffer/typed-buffer.test.js +0 -223
- package/dist/types/typed-buffer/typed-buffer.test.js.map +0 -1
- package/dist/ui/decorators/apply-decorator.d.ts +0 -1
- package/dist/ui/decorators/apply-decorator.js +0 -18
- package/dist/ui/decorators/apply-decorator.js.map +0 -1
- package/dist/ui/decorators/apply-service-decorators.d.ts +0 -1
- package/dist/ui/decorators/apply-service-decorators.js +0 -12
- package/dist/ui/decorators/apply-service-decorators.js.map +0 -1
- package/dist/ui/decorators/require-service.d.ts +0 -1
- package/dist/ui/decorators/require-service.js +0 -13
- package/dist/ui/decorators/require-service.js.map +0 -1
- package/dist/ui/elements/index.d.ts +0 -3
- package/dist/ui/elements/index.js +0 -4
- package/dist/ui/elements/index.js.map +0 -1
- package/dist/ui/elements/service-application.d.ts +0 -8
- package/dist/ui/elements/service-application.js +0 -27
- package/dist/ui/elements/service-application.js.map +0 -1
- package/dist/ui/elements/service-context.d.ts +0 -1
- package/dist/ui/elements/service-context.js +0 -3
- package/dist/ui/elements/service-context.js.map +0 -1
- package/dist/ui/elements/service-element.d.ts +0 -6
- package/dist/ui/elements/service-element.js +0 -22
- package/dist/ui/elements/service-element.js.map +0 -1
- package/dist/ui/hooks/component/component.d.ts +0 -9
- package/dist/ui/hooks/component/component.js +0 -2
- package/dist/ui/hooks/component/component.js.map +0 -1
- package/dist/ui/hooks/component/stack.d.ts +0 -6
- package/dist/ui/hooks/component/stack.js +0 -15
- package/dist/ui/hooks/component/stack.js.map +0 -1
- package/dist/ui/hooks/index.d.ts +0 -7
- package/dist/ui/hooks/index.js +0 -9
- package/dist/ui/hooks/index.js.map +0 -1
- package/dist/ui/hooks/use-connected.d.ts +0 -2
- package/dist/ui/hooks/use-connected.js +0 -31
- package/dist/ui/hooks/use-connected.js.map +0 -1
- package/dist/ui/hooks/use-effect.d.ts +0 -3
- package/dist/ui/hooks/use-effect.js +0 -13
- package/dist/ui/hooks/use-effect.js.map +0 -1
- package/dist/ui/hooks/use-element.d.ts +0 -4
- package/dist/ui/hooks/use-element.js +0 -8
- package/dist/ui/hooks/use-element.js.map +0 -1
- package/dist/ui/hooks/use-memo.d.ts +0 -1
- package/dist/ui/hooks/use-memo.js +0 -12
- package/dist/ui/hooks/use-memo.js.map +0 -1
- package/dist/ui/hooks/use-observable-values.d.ts +0 -5
- package/dist/ui/hooks/use-observable-values.js +0 -8
- package/dist/ui/hooks/use-observable-values.js.map +0 -1
- package/dist/ui/hooks/use-observable.d.ts +0 -2
- package/dist/ui/hooks/use-observable.js +0 -12
- package/dist/ui/hooks/use-observable.js.map +0 -1
- package/dist/ui/hooks/use-ref.d.ts +0 -3
- package/dist/ui/hooks/use-ref.js +0 -6
- package/dist/ui/hooks/use-ref.js.map +0 -1
- package/dist/ui/hooks/use-resize-observer.d.ts +0 -10
- package/dist/ui/hooks/use-resize-observer.js +0 -20
- package/dist/ui/hooks/use-resize-observer.js.map +0 -1
- package/dist/ui/hooks/use-state.d.ts +0 -2
- package/dist/ui/hooks/use-state.js +0 -14
- package/dist/ui/hooks/use-state.js.map +0 -1
- package/dist/ui/hooks/use-window-event.d.ts +0 -1
- package/dist/ui/hooks/use-window-event.js +0 -10
- package/dist/ui/hooks/use-window-event.js.map +0 -1
- package/dist/ui/hooks/with-hooks.d.ts +0 -2
- package/dist/ui/hooks/with-hooks.js +0 -15
- package/dist/ui/hooks/with-hooks.js.map +0 -1
- package/dist/ui/index.d.ts +0 -1
- package/dist/ui/index.js +0 -2
- package/dist/ui/index.js.map +0 -1
- /package/dist/{_/equals.test.d.ts → ecs/database/database-schema/create-database-schema-test.d.ts} +0 -0
- /package/dist/types/{typed-array/typed-array-constructer.d.ts → typed-array-constructer.d.ts} +0 -0
- /package/dist/types/{typed-array/typed-array-constructer.js → typed-array-constructer.js} +0 -0
- /package/dist/types/{typed-array/typed-array.d.ts → typed-array.d.ts} +0 -0
- /package/dist/types/{typed-array/typed-array.js → typed-array.js} +0 -0
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
/*MIT License
|
|
2
|
-
|
|
3
|
-
© Copyright 2025 Adobe. All rights reserved.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.*/
|
|
22
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
23
|
-
import { createBlobStore } from "./blob-store.js";
|
|
24
|
-
describe("blobStore", () => {
|
|
25
|
-
// Mock URL.createObjectURL and URL.revokeObjectURL
|
|
26
|
-
const mockCreateObjectURL = vi.fn((blob) => `blob:${Math.random()}`);
|
|
27
|
-
const mockRevokeObjectURL = vi.fn();
|
|
28
|
-
let testBlobStore;
|
|
29
|
-
let createdUrl;
|
|
30
|
-
beforeEach(async () => {
|
|
31
|
-
// Setup URL mock functions
|
|
32
|
-
const originalCreateObjectURL = URL.createObjectURL;
|
|
33
|
-
const originalRevokeObjectURL = URL.revokeObjectURL;
|
|
34
|
-
// Ensure we create a non-http URL
|
|
35
|
-
mockCreateObjectURL.mockImplementation((blob) => {
|
|
36
|
-
createdUrl = `blob:${Math.random()}`;
|
|
37
|
-
return createdUrl;
|
|
38
|
-
});
|
|
39
|
-
URL.createObjectURL = mockCreateObjectURL;
|
|
40
|
-
URL.revokeObjectURL = mockRevokeObjectURL;
|
|
41
|
-
// Clear mock call history
|
|
42
|
-
mockCreateObjectURL.mockClear();
|
|
43
|
-
mockRevokeObjectURL.mockClear();
|
|
44
|
-
testBlobStore = await createBlobStore();
|
|
45
|
-
return () => {
|
|
46
|
-
URL.createObjectURL = originalCreateObjectURL;
|
|
47
|
-
URL.revokeObjectURL = originalRevokeObjectURL;
|
|
48
|
-
};
|
|
49
|
-
});
|
|
50
|
-
afterEach(() => {
|
|
51
|
-
// Clean up any remaining borrowed URLs
|
|
52
|
-
mockCreateObjectURL.mockReset();
|
|
53
|
-
mockRevokeObjectURL.mockReset();
|
|
54
|
-
});
|
|
55
|
-
describe("URL reference counting", () => {
|
|
56
|
-
it("should reuse the same URL for multiple borrows of the same blob", async () => {
|
|
57
|
-
// Create a test blob
|
|
58
|
-
const testBlob = new Blob(["test"], { type: "text/plain" });
|
|
59
|
-
const blobRef = await testBlobStore.getRef(testBlob);
|
|
60
|
-
// Borrow the URL multiple times
|
|
61
|
-
const url1 = await testBlobStore.borrowUrl(blobRef);
|
|
62
|
-
const url2 = await testBlobStore.borrowUrl(blobRef);
|
|
63
|
-
const url3 = await testBlobStore.borrowUrl(blobRef);
|
|
64
|
-
expect(url1).toBeTruthy();
|
|
65
|
-
expect(url1).toBe(url2);
|
|
66
|
-
expect(url2).toBe(url3);
|
|
67
|
-
expect(url1).toMatch(/^blob:/); // Verify it's a blob URL
|
|
68
|
-
// createObjectURL should only be called once
|
|
69
|
-
expect(mockCreateObjectURL).toHaveBeenCalledTimes(1);
|
|
70
|
-
// Clean up
|
|
71
|
-
testBlobStore.returnUrl(url1);
|
|
72
|
-
testBlobStore.returnUrl(url2);
|
|
73
|
-
testBlobStore.returnUrl(url3);
|
|
74
|
-
});
|
|
75
|
-
it("should only revoke URL when all references are returned", async () => {
|
|
76
|
-
const testBlob = new Blob(["test"], { type: "text/plain" });
|
|
77
|
-
const blobRef = await testBlobStore.getRef(testBlob);
|
|
78
|
-
// Borrow the URL three times
|
|
79
|
-
const url1 = await testBlobStore.borrowUrl(blobRef);
|
|
80
|
-
const url2 = await testBlobStore.borrowUrl(blobRef);
|
|
81
|
-
const url3 = await testBlobStore.borrowUrl(blobRef);
|
|
82
|
-
expect(url1).toMatch(/^blob:/); // Verify it's a blob URL
|
|
83
|
-
// Return URLs one by one
|
|
84
|
-
testBlobStore.returnUrl(url1);
|
|
85
|
-
expect(mockRevokeObjectURL).not.toHaveBeenCalled();
|
|
86
|
-
testBlobStore.returnUrl(url2);
|
|
87
|
-
expect(mockRevokeObjectURL).not.toHaveBeenCalled();
|
|
88
|
-
testBlobStore.returnUrl(url3);
|
|
89
|
-
expect(mockRevokeObjectURL).toHaveBeenCalledTimes(1);
|
|
90
|
-
expect(mockRevokeObjectURL).toHaveBeenCalledWith(createdUrl);
|
|
91
|
-
});
|
|
92
|
-
it("should handle remote URLs correctly", async () => {
|
|
93
|
-
const remoteRef = testBlobStore.createRemoteBlobRef("http://example.com/image.jpg");
|
|
94
|
-
// Borrow remote URL multiple times
|
|
95
|
-
const url1 = await testBlobStore.borrowUrl(remoteRef);
|
|
96
|
-
const url2 = await testBlobStore.borrowUrl(remoteRef);
|
|
97
|
-
expect(url1).toBe("http://example.com/image.jpg");
|
|
98
|
-
expect(url2).toBe("http://example.com/image.jpg");
|
|
99
|
-
expect(mockCreateObjectURL).not.toHaveBeenCalled();
|
|
100
|
-
// Return URLs
|
|
101
|
-
testBlobStore.returnUrl(url1);
|
|
102
|
-
testBlobStore.returnUrl(url2);
|
|
103
|
-
// Should not revoke remote URLs
|
|
104
|
-
expect(mockRevokeObjectURL).not.toHaveBeenCalled();
|
|
105
|
-
});
|
|
106
|
-
it("should handle null inputs gracefully", async () => {
|
|
107
|
-
const nullUrl = await testBlobStore.borrowUrl(null);
|
|
108
|
-
expect(nullUrl).toBeNull();
|
|
109
|
-
// Should not throw when returning null
|
|
110
|
-
expect(() => testBlobStore.returnUrl(null)).not.toThrow();
|
|
111
|
-
});
|
|
112
|
-
it('demonstrates race condition in borrowUrl', async () => {
|
|
113
|
-
const store = testBlobStore;
|
|
114
|
-
const testBlob = new Blob(['test data'], { type: 'text/plain' });
|
|
115
|
-
const blobRef = await store.getRef(testBlob);
|
|
116
|
-
// Create an artificially delayed getBlob to simulate network latency
|
|
117
|
-
const originalGetBlob = store.getBlob;
|
|
118
|
-
store.getBlob = async (ref) => {
|
|
119
|
-
await new Promise(resolve => setTimeout(resolve, 50)); // Add delay
|
|
120
|
-
return originalGetBlob(ref);
|
|
121
|
-
};
|
|
122
|
-
// Make two parallel borrowUrl calls
|
|
123
|
-
const [url1, url2] = await Promise.all([
|
|
124
|
-
store.borrowUrl(blobRef),
|
|
125
|
-
store.borrowUrl(blobRef)
|
|
126
|
-
]);
|
|
127
|
-
expect(url1).toBe(url2); // Same URL should be returned
|
|
128
|
-
// Return one of the URLs
|
|
129
|
-
store.returnUrl(url1);
|
|
130
|
-
// Verify that the borrow count is still 1 since we borrowed twice and returned once
|
|
131
|
-
expect(store._testGetBorrowCount(blobRef)).toBe(1);
|
|
132
|
-
// Return the second URL
|
|
133
|
-
store.returnUrl(url2);
|
|
134
|
-
// Verify the borrow count is now 0
|
|
135
|
-
expect(store._testGetBorrowCount(blobRef)).toBe(0);
|
|
136
|
-
// Verify the URL was revoked
|
|
137
|
-
expect(mockRevokeObjectURL).toHaveBeenCalledTimes(1);
|
|
138
|
-
expect(mockRevokeObjectURL).toHaveBeenCalledWith(url1);
|
|
139
|
-
});
|
|
140
|
-
});
|
|
141
|
-
});
|
|
142
|
-
//# sourceMappingURL=blob-store.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blob-store.test.js","sourceRoot":"","sources":["../../src/blob-store/blob-store.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/*MIT License
|
|
2
|
-
|
|
3
|
-
© Copyright 2025 Adobe. All rights reserved.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.*/
|
|
22
|
-
/**
|
|
23
|
-
* Binds all functions to the object containing them.
|
|
24
|
-
* @param obj
|
|
25
|
-
* @returns
|
|
26
|
-
*/
|
|
27
|
-
export function bindFunctions(obj) {
|
|
28
|
-
for (const key in obj) {
|
|
29
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- need to bind functions
|
|
30
|
-
obj[key] = obj[key].bind(obj);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=bind-functions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bind-functions.js","sourceRoot":"","sources":["../../../src/cache/functions/bind-functions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAmB,GAAM;IAEpD,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,wFAAwF;QACxF,GAAG,CAAC,GAAG,CAAC,GAAI,GAAG,CAAC,GAAG,CAAiB,CAAC,IAAI,CAAC,GAAG,CAAQ,CAAC;IACxD,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function omit<T extends object, K extends keyof T>(obj: T, ...keys: K[]): Omit<T, K>;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/*MIT License
|
|
2
|
-
|
|
3
|
-
© Copyright 2025 Adobe. All rights reserved.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.*/
|
|
22
|
-
export function omit(obj, ...keys) {
|
|
23
|
-
const result = { ...obj };
|
|
24
|
-
for (const key of keys) {
|
|
25
|
-
delete result[key];
|
|
26
|
-
}
|
|
27
|
-
return result;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=omit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../../src/cache/functions/omit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,MAAM,UAAU,IAAI,CAClB,GAAM,EACN,GAAG,IAAS;IAEZ,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type AsyncDataFunction<InputArgs extends Array<unknown>, Output> = (...args: InputArgs) => Promise<Output>;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/*MIT License
|
|
2
|
-
|
|
3
|
-
© Copyright 2025 Adobe. All rights reserved.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.*/
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/cache/functions/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW"}
|
package/dist/core/IsData.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Primitive, Equal, IsFullyReadonly } from "./data.js";
|
|
2
|
-
export type IsData<T> = [
|
|
3
|
-
T
|
|
4
|
-
] extends [Primitive] ? true : T extends ReadonlyArray<infer U> ? Equal<T, ReadonlyArray<U>> extends true ? IsData<U> : false : T extends object ? IsFullyReadonly<T> extends true ? {
|
|
5
|
-
[K in keyof T]-?: IsData<T[K]>;
|
|
6
|
-
}[keyof T] extends false ? false : true : false : false;
|
package/dist/core/IsData.js
DELETED
package/dist/core/IsData.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IsData.js","sourceRoot":"","sources":["../../src/core/IsData.ts"],"names":[],"mappings":""}
|
package/dist/core/data.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data is readonly JSON.
|
|
3
|
-
* This type forms the foundation for all of our internal state models and interfaces to external APIs.
|
|
4
|
-
* It is easy to serialize/deserialize/compare/hash/cache and validate (with JSON-Schema).
|
|
5
|
-
* These traits make it an ideal foundation for building a robust state engine which cannot enter into invalid states.
|
|
6
|
-
* It also allows us to strongly define contracts between our application and external services.
|
|
7
|
-
* Validation of input arguments and output results allows strict enforcement of agreed upon contracts.
|
|
8
|
-
*/
|
|
9
|
-
export type Data = string | number | boolean | null | ReadonlyArray<Data> | {
|
|
10
|
-
readonly [K in string]?: Data;
|
|
11
|
-
};
|
package/dist/core/data.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/*MIT License
|
|
2
|
-
|
|
3
|
-
© Copyright 2025 Adobe. All rights reserved.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.*/
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=data.js.map
|
package/dist/core/data.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/core/data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW"}
|
package/dist/core/data.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/core/data.test.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/*MIT License
|
|
2
|
-
|
|
3
|
-
© Copyright 2025 Adobe. All rights reserved.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.*/
|
|
22
|
-
import { normalize } from "./normalize.js";
|
|
23
|
-
import { describe, expect, it } from "vitest";
|
|
24
|
-
describe("Data.normalize", () => {
|
|
25
|
-
it("should sort object keys alphabetically", () => {
|
|
26
|
-
expect(normalize({ b: 1, a: 2, c: null })).toEqual({
|
|
27
|
-
a: 2,
|
|
28
|
-
b: 1,
|
|
29
|
-
c: null,
|
|
30
|
-
});
|
|
31
|
-
expect(normalize([{ A: [], b: 1, a: 2 }])).toEqual([{ a: 2, A: [], b: 1 }]);
|
|
32
|
-
expect(normalize([[{ b: 1, a: 2 }]])).toEqual([[{ a: 2, b: 1 }]]);
|
|
33
|
-
expect(normalize({ z: [[{ b: 1, a: 2 }]], q: 10 })).toEqual({
|
|
34
|
-
q: 10,
|
|
35
|
-
z: [[{ a: 2, b: 1 }]],
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
it("should remove undefined values", () => {
|
|
39
|
-
expect(normalize({ b: 1, a: 2, value: undefined })).toEqual({
|
|
40
|
-
a: 2,
|
|
41
|
-
b: 1,
|
|
42
|
-
});
|
|
43
|
-
expect(normalize([{ b: 1, a: 2, value: undefined }])).toEqual([
|
|
44
|
-
{ a: 2, b: 1 },
|
|
45
|
-
]);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=data.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data.test.js","sourceRoot":"","sources":["../../src/core/data.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,IAAI;SACR,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1D,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACtB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1D,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5D,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/core/equals.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Very-fast deep equality for JSON-style values.
|
|
3
|
-
*
|
|
4
|
-
* Assumptions
|
|
5
|
-
* ───────────
|
|
6
|
-
* • Only JSON primitives, plain objects, and arrays appear.
|
|
7
|
-
* • Objects have **no prototype chain** (so every enumerable key is "own,"
|
|
8
|
-
* letting us skip costly `hasOwnProperty` checks).
|
|
9
|
-
* • No cyclic references (add a WeakMap if you need that).
|
|
10
|
-
*/
|
|
11
|
-
export declare function equals(a: unknown, b: unknown): boolean;
|
package/dist/core/equals.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/*MIT License
|
|
2
|
-
|
|
3
|
-
© Copyright 2025 Adobe. All rights reserved.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.*/
|
|
22
|
-
/**
|
|
23
|
-
* Very-fast deep equality for JSON-style values.
|
|
24
|
-
*
|
|
25
|
-
* Assumptions
|
|
26
|
-
* ───────────
|
|
27
|
-
* • Only JSON primitives, plain objects, and arrays appear.
|
|
28
|
-
* • Objects have **no prototype chain** (so every enumerable key is "own,"
|
|
29
|
-
* letting us skip costly `hasOwnProperty` checks).
|
|
30
|
-
* • No cyclic references (add a WeakMap if you need that).
|
|
31
|
-
*/
|
|
32
|
-
export function equals(a, b) {
|
|
33
|
-
// 1 Primitives / identical reference
|
|
34
|
-
if (Object.is(a, b))
|
|
35
|
-
return true; // Handles NaN === NaN
|
|
36
|
-
if (a == null || b == null)
|
|
37
|
-
return false; // null / undefined mismatch
|
|
38
|
-
if (typeof a !== "object" || typeof b !== "object")
|
|
39
|
-
return false;
|
|
40
|
-
// 2 Arrays
|
|
41
|
-
const aIsArr = Array.isArray(a);
|
|
42
|
-
const bIsArr = Array.isArray(b);
|
|
43
|
-
if (aIsArr || bIsArr) {
|
|
44
|
-
if (aIsArr !== bIsArr)
|
|
45
|
-
return false; // one array, one object
|
|
46
|
-
const aa = a;
|
|
47
|
-
const bb = b;
|
|
48
|
-
if (aa.length !== bb.length)
|
|
49
|
-
return false;
|
|
50
|
-
for (let i = 0; i < aa.length; i++) {
|
|
51
|
-
if (!equals(aa[i], bb[i]))
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
// 3 Plain objects
|
|
57
|
-
const ao = a;
|
|
58
|
-
const bo = b;
|
|
59
|
-
let keyBalance = 0; // = keys(a) – keys(b)
|
|
60
|
-
// Pass 1: walk keys of a, compare values, and tally count.
|
|
61
|
-
for (const k in ao) {
|
|
62
|
-
keyBalance++; // saw a key from a
|
|
63
|
-
if (!(k in bo))
|
|
64
|
-
return false; // missing in b
|
|
65
|
-
if (!equals(ao[k], bo[k]))
|
|
66
|
-
return false; // value differs
|
|
67
|
-
}
|
|
68
|
-
// Pass 2: walk keys of b to detect extras.
|
|
69
|
-
for (const _ in bo)
|
|
70
|
-
keyBalance--;
|
|
71
|
-
return keyBalance === 0; // zero ⇒ same key set
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=equals.js.map
|
package/dist/core/equals.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"equals.js","sourceRoot":"","sources":["../../src/core/equals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX;;;;;;;;;GASG;AACH,MAAM,UAAU,MAAM,CAAC,CAAU,EAAE,CAAU;IAC3C,sCAAsC;IACtC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,sBAAsB;IACxD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC,CAAU,4BAA4B;IAC/E,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEjE,YAAY;IACZ,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC,CAAa,wBAAwB;QACzE,MAAM,EAAE,GAAG,CAAc,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAc,CAAC;QAC1B,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB;IACnB,MAAM,EAAE,GAAG,CAA4B,CAAC;IACxC,MAAM,EAAE,GAAG,CAA4B,CAAC;IAExC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAgC,sBAAsB;IAEzE,2DAA2D;IAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,UAAU,EAAE,CAAC,CAAoC,mBAAmB;QACpE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC,CAAoB,eAAe;QAChE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,CAAS,gBAAgB;IACnE,CAAC;IAED,2CAA2C;IAC3C,KAAK,MAAM,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,CAAC;IAEjC,OAAO,UAAU,KAAK,CAAC,CAAC,CAA2B,sBAAsB;AAC3E,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/core/equals.test.js
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
/*MIT License
|
|
2
|
-
|
|
3
|
-
© Copyright 2025 Adobe. All rights reserved.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.*/
|
|
22
|
-
import { equals } from './equals.js';
|
|
23
|
-
import { describe, expect, it } from 'vitest';
|
|
24
|
-
describe('equals', () => {
|
|
25
|
-
describe('primitives and identical references', () => {
|
|
26
|
-
it('should return true for identical primitive values', () => {
|
|
27
|
-
expect(equals(42, 42)).toBe(true);
|
|
28
|
-
expect(equals('hello', 'hello')).toBe(true);
|
|
29
|
-
expect(equals(true, true)).toBe(true);
|
|
30
|
-
expect(equals(false, false)).toBe(true);
|
|
31
|
-
});
|
|
32
|
-
it('should return true for identical object references', () => {
|
|
33
|
-
const obj = { a: 1 };
|
|
34
|
-
expect(equals(obj, obj)).toBe(true);
|
|
35
|
-
});
|
|
36
|
-
it('should return false for different primitive values', () => {
|
|
37
|
-
expect(equals(42, 43)).toBe(false);
|
|
38
|
-
expect(equals('hello', 'world')).toBe(false);
|
|
39
|
-
expect(equals(true, false)).toBe(false);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
describe('null and undefined handling', () => {
|
|
43
|
-
it('should return false when one value is null and other is not', () => {
|
|
44
|
-
expect(equals(null, 42)).toBe(false);
|
|
45
|
-
expect(equals(42, null)).toBe(false);
|
|
46
|
-
expect(equals(null, 'hello')).toBe(false);
|
|
47
|
-
expect(equals('hello', null)).toBe(false);
|
|
48
|
-
});
|
|
49
|
-
it('should return false when one value is undefined and other is not', () => {
|
|
50
|
-
expect(equals(undefined, 42)).toBe(false);
|
|
51
|
-
expect(equals(42, undefined)).toBe(false);
|
|
52
|
-
expect(equals(undefined, 'hello')).toBe(false);
|
|
53
|
-
expect(equals('hello', undefined)).toBe(false);
|
|
54
|
-
});
|
|
55
|
-
it('should return false when one is null and other is undefined', () => {
|
|
56
|
-
expect(equals(null, undefined)).toBe(false);
|
|
57
|
-
expect(equals(undefined, null)).toBe(false);
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
describe('type mismatch handling', () => {
|
|
61
|
-
it('should return false when one is primitive and other is object', () => {
|
|
62
|
-
expect(equals(42, {})).toBe(false);
|
|
63
|
-
expect(equals({}, 42)).toBe(false);
|
|
64
|
-
expect(equals('hello', [])).toBe(false);
|
|
65
|
-
expect(equals([], 'hello')).toBe(false);
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
describe('arrays', () => {
|
|
69
|
-
it('should return true for identical arrays', () => {
|
|
70
|
-
expect(equals([1, 2, 3], [1, 2, 3])).toBe(true);
|
|
71
|
-
expect(equals(['a', 'b'], ['a', 'b'])).toBe(true);
|
|
72
|
-
expect(equals([], [])).toBe(true);
|
|
73
|
-
});
|
|
74
|
-
it('should return false when one is array and other is object', () => {
|
|
75
|
-
expect(equals([1, 2, 3], { 0: 1, 1: 2, 2: 3 })).toBe(false);
|
|
76
|
-
expect(equals({ 0: 1, 1: 2, 2: 3 }, [1, 2, 3])).toBe(false);
|
|
77
|
-
});
|
|
78
|
-
it('should return false for arrays with different lengths', () => {
|
|
79
|
-
expect(equals([1, 2], [1, 2, 3])).toBe(false);
|
|
80
|
-
expect(equals([1, 2, 3], [1, 2])).toBe(false);
|
|
81
|
-
});
|
|
82
|
-
it('should return false for arrays with different values', () => {
|
|
83
|
-
expect(equals([1, 2, 3], [1, 2, 4])).toBe(false);
|
|
84
|
-
expect(equals([1, 2, 3], [1, 3, 2])).toBe(false);
|
|
85
|
-
});
|
|
86
|
-
it('should handle nested arrays', () => {
|
|
87
|
-
expect(equals([[1, 2], [3, 4]], [[1, 2], [3, 4]])).toBe(true);
|
|
88
|
-
expect(equals([[1, 2], [3, 4]], [[1, 2], [3, 5]])).toBe(false);
|
|
89
|
-
});
|
|
90
|
-
it('should handle arrays with mixed content', () => {
|
|
91
|
-
expect(equals([1, 'hello', { a: 1 }], [1, 'hello', { a: 1 }])).toBe(true);
|
|
92
|
-
expect(equals([1, 'hello', { a: 1 }], [1, 'hello', { a: 2 }])).toBe(false);
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
describe('objects', () => {
|
|
96
|
-
it('should return true for identical objects', () => {
|
|
97
|
-
expect(equals({ a: 1, b: 2 }, { a: 1, b: 2 })).toBe(true);
|
|
98
|
-
expect(equals({}, {})).toBe(true);
|
|
99
|
-
});
|
|
100
|
-
it('should return false for objects with different keys', () => {
|
|
101
|
-
expect(equals({ a: 1 }, { b: 1 })).toBe(false);
|
|
102
|
-
expect(equals({ a: 1, b: 2 }, { a: 1 })).toBe(false);
|
|
103
|
-
expect(equals({ a: 1 }, { a: 1, b: 2 })).toBe(false);
|
|
104
|
-
});
|
|
105
|
-
it('should return false for objects with same keys but different values', () => {
|
|
106
|
-
expect(equals({ a: 1, b: 2 }, { a: 1, b: 3 })).toBe(false);
|
|
107
|
-
expect(equals({ a: 1 }, { a: 2 })).toBe(false);
|
|
108
|
-
});
|
|
109
|
-
it('should handle nested objects', () => {
|
|
110
|
-
expect(equals({ a: { b: 1 } }, { a: { b: 1 } })).toBe(true);
|
|
111
|
-
expect(equals({ a: { b: 1 } }, { a: { b: 2 } })).toBe(false);
|
|
112
|
-
});
|
|
113
|
-
it('should handle objects with arrays', () => {
|
|
114
|
-
expect(equals({ a: [1, 2] }, { a: [1, 2] })).toBe(true);
|
|
115
|
-
expect(equals({ a: [1, 2] }, { a: [1, 3] })).toBe(false);
|
|
116
|
-
});
|
|
117
|
-
it('should handle complex nested structures', () => {
|
|
118
|
-
const obj1 = { a: [1, { b: 2, c: [3, 4] }], d: { e: 5 } };
|
|
119
|
-
const obj2 = { a: [1, { b: 2, c: [3, 4] }], d: { e: 5 } };
|
|
120
|
-
const obj3 = { a: [1, { b: 2, c: [3, 5] }], d: { e: 5 } };
|
|
121
|
-
expect(equals(obj1, obj2)).toBe(true);
|
|
122
|
-
expect(equals(obj1, obj3)).toBe(false);
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
describe('edge cases', () => {
|
|
126
|
-
it('should handle objects with numeric keys', () => {
|
|
127
|
-
expect(equals({ '0': 1, '1': 2 }, { '0': 1, '1': 2 })).toBe(true);
|
|
128
|
-
expect(equals({ '0': 1, '1': 2 }, { '0': 1, '1': 3 })).toBe(false);
|
|
129
|
-
});
|
|
130
|
-
it('should handle empty arrays and objects', () => {
|
|
131
|
-
expect(equals([], [])).toBe(true);
|
|
132
|
-
expect(equals({}, {})).toBe(true);
|
|
133
|
-
expect(equals([], {})).toBe(false);
|
|
134
|
-
});
|
|
135
|
-
it('should handle objects with undefined values', () => {
|
|
136
|
-
expect(equals({ a: undefined }, { a: undefined })).toBe(true);
|
|
137
|
-
expect(equals({ a: undefined }, { a: null })).toBe(false);
|
|
138
|
-
});
|
|
139
|
-
it('should handle objects with null values', () => {
|
|
140
|
-
expect(equals({ a: null }, { a: null })).toBe(true);
|
|
141
|
-
expect(equals({ a: null }, { a: undefined })).toBe(false);
|
|
142
|
-
});
|
|
143
|
-
it('should handle NaN values', () => {
|
|
144
|
-
expect(equals(NaN, NaN)).toBe(true);
|
|
145
|
-
expect(equals(NaN, 42)).toBe(false);
|
|
146
|
-
expect(equals(42, NaN)).toBe(false);
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
//# sourceMappingURL=equals.test.js.map
|