@daiso-tech/core 0.16.0 → 0.19.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/cjs/async/_module.js +1 -1
- package/dist/cjs/async/_module.js.map +1 -1
- package/dist/cjs/async/backof-policies/_module.js +1 -0
- package/dist/cjs/async/backof-policies/_module.js.map +1 -1
- package/dist/cjs/async/utilities/_module.js +3 -0
- package/dist/cjs/async/utilities/_module.js.map +1 -1
- package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js +16 -22
- package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
- package/dist/cjs/cache/contracts/cache.errors.js +19 -0
- package/dist/cjs/cache/contracts/cache.errors.js.map +1 -1
- package/dist/cjs/cache/contracts/cache.events.js +156 -0
- package/dist/cjs/cache/contracts/cache.events.js.map +1 -1
- package/dist/cjs/cache/implementations/_shared/_module.js +1 -0
- package/dist/cjs/cache/implementations/_shared/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
- package/dist/cjs/cache/implementations/_shared/cache.test-suite.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +7 -5
- package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js +2 -1
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js +56 -0
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +18 -14
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js +1 -0
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js +26 -0
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +11 -3
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js +2 -1
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js +44 -0
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +21 -8
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js +1 -0
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js +32 -0
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +27 -20
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js +1 -0
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js +56 -0
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +19 -15
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/derivables/_module.js +3 -1
- package/dist/cjs/cache/implementations/derivables/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/derivables/cache-factory-settings.js +83 -0
- package/dist/cjs/cache/implementations/derivables/cache-factory-settings.js.map +1 -0
- package/dist/cjs/cache/implementations/derivables/cache-factory.js +52 -18
- package/dist/cjs/cache/implementations/derivables/cache-factory.js.map +1 -1
- package/dist/cjs/cache/implementations/derivables/cache-settings.js +74 -0
- package/dist/cjs/cache/implementations/derivables/cache-settings.js.map +1 -0
- package/dist/cjs/cache/implementations/derivables/cache.js +167 -93
- package/dist/cjs/cache/implementations/derivables/cache.js.map +1 -1
- package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +1 -1
- package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -1
- package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +1 -1
- package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -1
- package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +1 -1
- package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -1
- package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js +20 -11
- package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
- package/dist/cjs/collection/implementations/list-collection/list-collection.js.map +1 -1
- package/dist/cjs/event-bus/contracts/_module.js +2 -2
- package/dist/cjs/event-bus/contracts/_module.js.map +1 -1
- package/dist/cjs/event-bus/contracts/_shared.js +7 -0
- package/dist/cjs/event-bus/contracts/_shared.js.map +1 -1
- package/dist/cjs/event-bus/contracts/event-bus.errors.js +19 -0
- package/dist/cjs/event-bus/contracts/event-bus.errors.js.map +1 -1
- package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +52 -36
- package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
- package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js +156 -120
- package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +2 -1
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js +26 -0
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +1 -0
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +17 -9
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +3 -3
- package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js +2 -1
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js +38 -0
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +1 -0
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +9 -5
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
- package/dist/cjs/event-bus/implementations/derivables/_module.js +3 -1
- package/dist/cjs/event-bus/implementations/derivables/_module.js.map +1 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory-settings.js +71 -0
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory-settings.js.map +1 -0
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js +47 -18
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus-settings.js +68 -0
- package/dist/cjs/event-bus/implementations/derivables/event-bus-settings.js.map +1 -0
- package/dist/cjs/event-bus/implementations/derivables/event-bus.js +102 -62
- package/dist/cjs/event-bus/implementations/derivables/event-bus.js.map +1 -1
- package/dist/cjs/serde/contracts/_module.js +4 -0
- package/dist/cjs/serde/contracts/_module.js.map +1 -1
- package/dist/cjs/serde/contracts/deserializer.contract.js +3 -0
- package/dist/cjs/serde/contracts/deserializer.contract.js.map +1 -0
- package/dist/cjs/serde/contracts/flexible-serde.contract.js +3 -0
- package/dist/cjs/serde/contracts/flexible-serde.contract.js.map +1 -0
- package/dist/cjs/serde/contracts/serializable.contract.js +3 -0
- package/dist/cjs/serde/contracts/serializable.contract.js.map +1 -0
- package/dist/cjs/serde/contracts/serializer.contract.js +3 -0
- package/dist/cjs/serde/contracts/serializer.contract.js.map +1 -0
- package/dist/cjs/serde/implementations/_module.js +1 -0
- package/dist/cjs/serde/implementations/_module.js.map +1 -1
- package/dist/cjs/serde/implementations/_shared/test-utilities/_module.js +1 -0
- package/dist/cjs/serde/implementations/_shared/test-utilities/_module.js.map +1 -1
- package/dist/cjs/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js +69 -0
- package/dist/cjs/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js.map +1 -0
- package/dist/cjs/serde/implementations/_shared/test-utilities/serde.test-suite.js +35 -60
- package/dist/cjs/serde/implementations/_shared/test-utilities/serde.test-suite.js.map +1 -1
- package/dist/cjs/serde/implementations/no-op-serde/_module.js +18 -0
- package/dist/cjs/serde/implementations/no-op-serde/_module.js.map +1 -0
- package/dist/cjs/serde/implementations/no-op-serde/no-op-serde.js +19 -0
- package/dist/cjs/serde/implementations/no-op-serde/no-op-serde.js.map +1 -0
- package/dist/cjs/serde/implementations/super-json-serde/super-json-serde.js +57 -111
- package/dist/cjs/serde/implementations/super-json-serde/super-json-serde.js.map +1 -1
- package/dist/cjs/utilities/contracts/_module.js +2 -0
- package/dist/cjs/utilities/contracts/_module.js.map +1 -1
- package/dist/cjs/utilities/contracts/buildable.contract.js +3 -0
- package/dist/cjs/utilities/contracts/buildable.contract.js.map +1 -0
- package/dist/cjs/utilities/contracts/serialized-error.contract.js +3 -0
- package/dist/cjs/utilities/contracts/serialized-error.contract.js.map +1 -0
- package/dist/cjs/utilities/errors.js +10 -10
- package/dist/cjs/utilities/errors.js.map +1 -1
- package/dist/cjs/utilities/functions.js +4 -0
- package/dist/cjs/utilities/functions.js.map +1 -1
- package/dist/cjs/utilities/time-span/time-span.js.map +1 -1
- package/dist/esm/async/_module.js +1 -1
- package/dist/esm/async/_module.js.map +1 -1
- package/dist/esm/async/backof-policies/_module.js +1 -0
- package/dist/esm/async/backof-policies/_module.js.map +1 -1
- package/dist/esm/async/utilities/_module.js +3 -0
- package/dist/esm/async/utilities/_module.js.map +1 -1
- package/dist/esm/async/utilities/lazy-promise/lazy-promise.js +16 -22
- package/dist/esm/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
- package/dist/esm/cache/contracts/cache.errors.js +19 -0
- package/dist/esm/cache/contracts/cache.errors.js.map +1 -1
- package/dist/esm/cache/contracts/cache.events.js +147 -0
- package/dist/esm/cache/contracts/cache.events.js.map +1 -1
- package/dist/esm/cache/implementations/_shared/_module.js +1 -0
- package/dist/esm/cache/implementations/_shared/_module.js.map +1 -1
- package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
- package/dist/esm/cache/implementations/_shared/cache.test-suite.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +7 -5
- package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js +2 -1
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js +52 -0
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +17 -13
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js +1 -0
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js +22 -0
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +11 -3
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js +2 -1
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js +40 -0
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +21 -8
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js +1 -0
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js +28 -0
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +28 -21
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js +1 -0
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js +52 -0
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +17 -13
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/derivables/_module.js +3 -1
- package/dist/esm/cache/implementations/derivables/_module.js.map +1 -1
- package/dist/esm/cache/implementations/derivables/cache-factory-settings.js +79 -0
- package/dist/esm/cache/implementations/derivables/cache-factory-settings.js.map +1 -0
- package/dist/esm/cache/implementations/derivables/cache-factory.js +53 -19
- package/dist/esm/cache/implementations/derivables/cache-factory.js.map +1 -1
- package/dist/esm/cache/implementations/derivables/cache-settings.js +70 -0
- package/dist/esm/cache/implementations/derivables/cache-settings.js.map +1 -0
- package/dist/esm/cache/implementations/derivables/cache.js +146 -72
- package/dist/esm/cache/implementations/derivables/cache.js.map +1 -1
- package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +1 -1
- package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -1
- package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +1 -1
- package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -1
- package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +1 -1
- package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -1
- package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js +20 -11
- package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
- package/dist/esm/collection/implementations/list-collection/list-collection.js.map +1 -1
- package/dist/esm/event-bus/contracts/_module.js +2 -2
- package/dist/esm/event-bus/contracts/_module.js.map +1 -1
- package/dist/esm/event-bus/contracts/_shared.js +5 -0
- package/dist/esm/event-bus/contracts/_shared.js.map +1 -1
- package/dist/esm/event-bus/contracts/event-bus.errors.js +19 -0
- package/dist/esm/event-bus/contracts/event-bus.errors.js.map +1 -1
- package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +45 -29
- package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
- package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js +143 -107
- package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +2 -1
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js +22 -0
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +1 -0
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +17 -9
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +3 -3
- package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js +2 -1
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js +34 -0
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +1 -0
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +10 -6
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
- package/dist/esm/event-bus/implementations/derivables/_module.js +3 -1
- package/dist/esm/event-bus/implementations/derivables/_module.js.map +1 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory-settings.js +67 -0
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory-settings.js.map +1 -0
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js +48 -19
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus-settings.js +64 -0
- package/dist/esm/event-bus/implementations/derivables/event-bus-settings.js.map +1 -0
- package/dist/esm/event-bus/implementations/derivables/event-bus.js +104 -64
- package/dist/esm/event-bus/implementations/derivables/event-bus.js.map +1 -1
- package/dist/esm/serde/contracts/_module.js +4 -0
- package/dist/esm/serde/contracts/_module.js.map +1 -1
- package/dist/esm/serde/contracts/deserializer.contract.js +1 -0
- package/dist/esm/serde/contracts/deserializer.contract.js.map +1 -0
- package/dist/esm/serde/contracts/flexible-serde.contract.js +1 -0
- package/dist/esm/serde/contracts/flexible-serde.contract.js.map +1 -0
- package/dist/esm/serde/contracts/serializable.contract.js +1 -0
- package/dist/esm/serde/contracts/serializable.contract.js.map +1 -0
- package/dist/esm/serde/contracts/serializer.contract.js +1 -0
- package/dist/esm/serde/contracts/serializer.contract.js.map +1 -0
- package/dist/esm/serde/implementations/_module.js +1 -0
- package/dist/esm/serde/implementations/_module.js.map +1 -1
- package/dist/esm/serde/implementations/_shared/test-utilities/_module.js +1 -0
- package/dist/esm/serde/implementations/_shared/test-utilities/_module.js.map +1 -1
- package/dist/esm/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js +66 -0
- package/dist/esm/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js.map +1 -0
- package/dist/esm/serde/implementations/_shared/test-utilities/serde.test-suite.js +35 -60
- package/dist/esm/serde/implementations/_shared/test-utilities/serde.test-suite.js.map +1 -1
- package/dist/esm/serde/implementations/no-op-serde/_module.js +2 -0
- package/dist/esm/serde/implementations/no-op-serde/_module.js.map +1 -0
- package/dist/esm/serde/implementations/no-op-serde/no-op-serde.js +15 -0
- package/dist/esm/serde/implementations/no-op-serde/no-op-serde.js.map +1 -0
- package/dist/esm/serde/implementations/super-json-serde/super-json-serde.js +57 -111
- package/dist/esm/serde/implementations/super-json-serde/super-json-serde.js.map +1 -1
- package/dist/esm/utilities/contracts/_module.js +2 -0
- package/dist/esm/utilities/contracts/_module.js.map +1 -1
- package/dist/esm/utilities/contracts/buildable.contract.js +1 -0
- package/dist/esm/utilities/contracts/buildable.contract.js.map +1 -0
- package/dist/esm/utilities/contracts/serialized-error.contract.js +1 -0
- package/dist/esm/utilities/contracts/serialized-error.contract.js.map +1 -0
- package/dist/esm/utilities/errors.js +7 -7
- package/dist/esm/utilities/errors.js.map +1 -1
- package/dist/esm/utilities/functions.js +3 -0
- package/dist/esm/utilities/functions.js.map +1 -1
- package/dist/esm/utilities/time-span/time-span.js.map +1 -1
- package/dist/types/async/_module.d.ts +1 -1
- package/dist/types/async/backof-policies/_module.d.ts +1 -1
- package/dist/types/async/utilities/_module.d.ts +3 -0
- package/dist/types/async/utilities/lazy-promise/lazy-promise.d.ts +36 -46
- package/dist/types/cache/contracts/cache-factory.contract.d.ts +10 -23
- package/dist/types/cache/contracts/cache.contract.d.ts +365 -8
- package/dist/types/cache/contracts/cache.errors.d.ts +11 -4
- package/dist/types/cache/contracts/cache.events.d.ts +150 -38
- package/dist/types/cache/implementations/_shared/_module.d.ts +1 -0
- package/dist/types/cache/implementations/_shared/cache-adapter.test-suite.d.ts +10 -8
- package/dist/types/cache/implementations/_shared/cache.test-suite.d.ts +15 -9
- package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +4 -3
- package/dist/types/cache/implementations/adapters/libsql-cache-adapter/_module.d.ts +2 -1
- package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.d.ts +48 -0
- package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +49 -37
- package/dist/types/cache/implementations/adapters/memory-cache-adapter/_module.d.ts +1 -0
- package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.d.ts +27 -0
- package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +41 -17
- package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/_module.d.ts +2 -1
- package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.d.ts +51 -0
- package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +59 -45
- package/dist/types/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +1 -1
- package/dist/types/cache/implementations/adapters/redis-cache-adapter/_module.d.ts +1 -0
- package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.d.ts +32 -0
- package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +41 -26
- package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/_module.d.ts +1 -0
- package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.d.ts +48 -0
- package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +49 -37
- package/dist/types/cache/implementations/derivables/_module.d.ts +3 -1
- package/dist/types/cache/implementations/derivables/cache-factory-settings.d.ts +108 -0
- package/dist/types/cache/implementations/derivables/cache-factory.d.ts +67 -39
- package/dist/types/cache/implementations/derivables/cache-settings.d.ts +100 -0
- package/dist/types/cache/implementations/derivables/cache.d.ts +95 -36
- package/dist/types/collection/contracts/async-collection.contract.d.ts +1247 -666
- package/dist/types/collection/contracts/collection.contract.d.ts +1195 -638
- package/dist/types/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.d.ts +1 -1
- package/dist/types/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +190 -4
- package/dist/types/collection/implementations/iterable-collection/iterable-collection.d.ts +138 -1
- package/dist/types/collection/implementations/list-collection/list-collection.d.ts +138 -1
- package/dist/types/event-bus/contracts/_module.d.ts +2 -2
- package/dist/types/event-bus/contracts/_shared.d.ts +11 -0
- package/dist/types/event-bus/contracts/event-bus-adapter.contract.d.ts +4 -6
- package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +37 -31
- package/dist/types/event-bus/contracts/event-bus.contract.d.ts +24 -32
- package/dist/types/event-bus/contracts/event-bus.errors.d.ts +8 -1
- package/dist/types/event-bus/implementations/_shared/event-bus-adapter.test-suite.d.ts +6 -3
- package/dist/types/event-bus/implementations/_shared/event-bus.test-suite.d.ts +10 -7
- package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/_module.d.ts +2 -1
- package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.d.ts +28 -0
- package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +48 -22
- package/dist/types/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +4 -4
- package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.d.ts +2 -1
- package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.d.ts +36 -0
- package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +43 -31
- package/dist/types/event-bus/implementations/derivables/_module.d.ts +3 -1
- package/dist/types/event-bus/implementations/derivables/event-bus-factory-settings.d.ts +92 -0
- package/dist/types/event-bus/implementations/derivables/event-bus-factory.d.ts +43 -22
- package/dist/types/event-bus/implementations/derivables/event-bus-settings.d.ts +80 -0
- package/dist/types/event-bus/implementations/derivables/event-bus.d.ts +46 -22
- package/dist/types/serde/contracts/_module.d.ts +4 -0
- package/dist/types/serde/contracts/deserializer.contract.d.ts +13 -0
- package/dist/types/serde/contracts/flexible-serde.contract.d.ts +120 -0
- package/dist/types/serde/contracts/serde.contract.d.ts +5 -36
- package/dist/types/serde/contracts/serializable.contract.d.ts +10 -0
- package/dist/types/serde/contracts/serializer.contract.d.ts +10 -0
- package/dist/types/serde/implementations/_module.d.ts +1 -0
- package/dist/types/serde/implementations/_shared/test-utilities/_module.d.ts +1 -0
- package/dist/types/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.d.ts +17 -0
- package/dist/types/serde/implementations/_shared/test-utilities/serde.test-suite.d.ts +2 -3
- package/dist/types/serde/implementations/no-op-serde/_module.d.ts +1 -0
- package/dist/types/serde/implementations/no-op-serde/no-op-serde.d.ts +14 -0
- package/dist/types/serde/implementations/super-json-serde/super-json-serde.d.ts +23 -2
- package/dist/types/utilities/contracts/_module.d.ts +2 -0
- package/dist/types/utilities/contracts/buildable.contract.d.ts +9 -0
- package/dist/types/utilities/contracts/serialized-error.contract.d.ts +11 -0
- package/dist/types/utilities/errors.d.ts +3 -3
- package/dist/types/utilities/functions.d.ts +4 -0
- package/dist/types/utilities/time-span/time-span.d.ts +2 -2
- package/dist/types/utilities/types.d.ts +1 -2
- package/package.json +1 -1
|
@@ -1,125 +1,165 @@
|
|
|
1
1
|
import { LazyPromise } from "../../../async/_module";
|
|
2
|
-
import { DispatchEventBusError, RemoveListenerEventBusError, AddListenerEventBusError, UnexpectedEventBusError, } from "../../../event-bus/contracts/_module";
|
|
3
|
-
import { isArrayEmpty } from "../../../utilities/_module";
|
|
2
|
+
import { DispatchEventBusError, RemoveListenerEventBusError, AddListenerEventBusError, UnexpectedEventBusError, EventBusError, } from "../../../event-bus/contracts/_module";
|
|
3
|
+
import { getConstructorName, isArrayEmpty } from "../../../utilities/_module";
|
|
4
|
+
import { EventBusSettingsBuilder } from "../../../event-bus/implementations/derivables/event-bus-settings";
|
|
4
5
|
export class EventBus {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
static errors = {
|
|
7
|
+
Error: EventBusError,
|
|
8
|
+
Unexpected: UnexpectedEventBusError,
|
|
9
|
+
RemoveListener: RemoveListenerEventBusError,
|
|
10
|
+
AddListener: AddListenerEventBusError,
|
|
11
|
+
};
|
|
12
|
+
static settings() {
|
|
13
|
+
return new EventBusSettingsBuilder();
|
|
14
|
+
}
|
|
15
|
+
serde;
|
|
16
|
+
adapter;
|
|
17
|
+
retryAttempts;
|
|
18
|
+
backoffPolicy;
|
|
19
|
+
retryPolicy;
|
|
20
|
+
timeout;
|
|
21
|
+
shouldRegisterErrors;
|
|
22
|
+
constructor(settings) {
|
|
23
|
+
const { serde, adapter, retryAttempts = null, backoffPolicy = null, retryPolicy = null, timeout = null, shouldRegisterErrors = false, } = settings;
|
|
24
|
+
this.shouldRegisterErrors = shouldRegisterErrors;
|
|
25
|
+
this.serde = serde;
|
|
26
|
+
this.retryAttempts = retryAttempts;
|
|
27
|
+
this.backoffPolicy = backoffPolicy;
|
|
28
|
+
this.retryPolicy = retryPolicy;
|
|
29
|
+
this.timeout = timeout;
|
|
30
|
+
this.adapter = adapter;
|
|
31
|
+
this.registerErrors();
|
|
32
|
+
}
|
|
33
|
+
registerErrors() {
|
|
34
|
+
if (!this.shouldRegisterErrors) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
let array = this.serde;
|
|
38
|
+
if (!Array.isArray(array)) {
|
|
39
|
+
array = [array];
|
|
40
|
+
}
|
|
41
|
+
for (const serde of array) {
|
|
42
|
+
serde
|
|
43
|
+
.registerClass(EventBusError)
|
|
44
|
+
.registerClass(UnexpectedEventBusError)
|
|
45
|
+
.registerClass(RemoveListenerEventBusError)
|
|
46
|
+
.registerClass(AddListenerEventBusError);
|
|
47
|
+
}
|
|
11
48
|
}
|
|
12
49
|
createLayPromise(asyncFn) {
|
|
13
|
-
return new LazyPromise(asyncFn
|
|
50
|
+
return new LazyPromise(asyncFn)
|
|
51
|
+
.setRetryAttempts(this.retryAttempts)
|
|
52
|
+
.setBackoffPolicy(this.backoffPolicy)
|
|
53
|
+
.setRetryPolicy(this.retryPolicy)
|
|
54
|
+
.setTimeout(this.timeout);
|
|
14
55
|
}
|
|
15
56
|
withGroup(group) {
|
|
16
|
-
return new EventBus(
|
|
17
|
-
|
|
57
|
+
return new EventBus({
|
|
58
|
+
serde: this.serde,
|
|
59
|
+
adapter: this.adapter.withGroup(group),
|
|
60
|
+
retryAttempts: this.retryAttempts,
|
|
61
|
+
backoffPolicy: this.backoffPolicy,
|
|
62
|
+
retryPolicy: this.retryPolicy,
|
|
63
|
+
timeout: this.timeout,
|
|
18
64
|
});
|
|
19
65
|
}
|
|
20
66
|
getGroup() {
|
|
21
|
-
return this.
|
|
22
|
-
}
|
|
23
|
-
addListener(eventName, listener) {
|
|
24
|
-
return this.createLayPromise(async () => {
|
|
25
|
-
try {
|
|
26
|
-
if (typeof eventName !== "string") {
|
|
27
|
-
throw new UnexpectedEventBusError(`The event name "${String(eventName)}" must be of string name`);
|
|
28
|
-
}
|
|
29
|
-
await this.eventBusAdapter.addListener(eventName, listener);
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
throw new AddListenerEventBusError(`A listener with name of "${listener.name}" could not added for "${String(eventName)}" event`, error);
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
removeListener(eventName, listener) {
|
|
37
|
-
return this.createLayPromise(async () => {
|
|
38
|
-
if (typeof eventName !== "string") {
|
|
39
|
-
throw new UnexpectedEventBusError(`The event name "${String(eventName)}" must be of string name`);
|
|
40
|
-
}
|
|
41
|
-
try {
|
|
42
|
-
await this.eventBusAdapter.removeListener(eventName, listener);
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
throw new RemoveListenerEventBusError(`A listener with name of "${listener.name}" could not removed of "${String(eventName)}" event`, error);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
67
|
+
return this.adapter.getGroup();
|
|
48
68
|
}
|
|
49
|
-
|
|
69
|
+
addListener(event, listener) {
|
|
50
70
|
return this.createLayPromise(async () => {
|
|
51
71
|
try {
|
|
52
|
-
|
|
53
|
-
for (const event of events) {
|
|
54
|
-
promises.push(this.eventBusAdapter.dispatch(event));
|
|
55
|
-
}
|
|
56
|
-
await Promise.all(promises);
|
|
72
|
+
await this.adapter.addListener(event.name, listener);
|
|
57
73
|
}
|
|
58
74
|
catch (error) {
|
|
59
|
-
throw new
|
|
75
|
+
throw new AddListenerEventBusError(`A listener with name of "${listener.name}" could not added for "${String(event)}" event`, error);
|
|
60
76
|
}
|
|
61
77
|
});
|
|
62
78
|
}
|
|
63
|
-
|
|
79
|
+
removeListener(event, listener) {
|
|
64
80
|
return this.createLayPromise(async () => {
|
|
65
81
|
try {
|
|
66
|
-
await this.
|
|
82
|
+
await this.adapter.removeListener(event.name, listener);
|
|
67
83
|
}
|
|
68
84
|
catch (error) {
|
|
69
|
-
throw new
|
|
85
|
+
throw new RemoveListenerEventBusError(`A listener with name of "${listener.name}" could not removed of "${String(event)}" event`, error);
|
|
70
86
|
}
|
|
71
87
|
});
|
|
72
88
|
}
|
|
73
|
-
addListenerMany(
|
|
89
|
+
addListenerMany(events, listener) {
|
|
74
90
|
return this.createLayPromise(async () => {
|
|
75
|
-
if (isArrayEmpty(
|
|
91
|
+
if (isArrayEmpty(events)) {
|
|
76
92
|
return;
|
|
77
93
|
}
|
|
78
94
|
const promises = [];
|
|
79
|
-
for (const event of
|
|
95
|
+
for (const event of events) {
|
|
80
96
|
promises.push(this.addListener(event, listener));
|
|
81
97
|
}
|
|
82
98
|
await Promise.all(promises);
|
|
83
99
|
});
|
|
84
100
|
}
|
|
85
|
-
removeListenerMany(
|
|
101
|
+
removeListenerMany(events, listener) {
|
|
86
102
|
return this.createLayPromise(async () => {
|
|
87
|
-
if (isArrayEmpty(
|
|
103
|
+
if (isArrayEmpty(events)) {
|
|
88
104
|
return;
|
|
89
105
|
}
|
|
90
106
|
const promises = [];
|
|
91
|
-
for (const event of
|
|
107
|
+
for (const event of events) {
|
|
92
108
|
promises.push(this.removeListener(event, listener));
|
|
93
109
|
}
|
|
94
110
|
await Promise.all(promises);
|
|
95
111
|
});
|
|
96
112
|
}
|
|
97
|
-
listenOnce(
|
|
113
|
+
listenOnce(event, listener) {
|
|
98
114
|
return this.createLayPromise(async () => {
|
|
99
|
-
const wrappedListener = async (
|
|
115
|
+
const wrappedListener = async (event_) => {
|
|
100
116
|
try {
|
|
101
|
-
await listener(
|
|
117
|
+
await listener(event_);
|
|
102
118
|
}
|
|
103
119
|
finally {
|
|
104
|
-
await this.removeListener(
|
|
120
|
+
await this.removeListener(event, wrappedListener);
|
|
105
121
|
}
|
|
106
122
|
};
|
|
107
|
-
await this.addListener(
|
|
123
|
+
await this.addListener(event, wrappedListener);
|
|
108
124
|
});
|
|
109
125
|
}
|
|
110
|
-
subscribe(
|
|
111
|
-
return this.subscribeMany([
|
|
126
|
+
subscribe(event, listener) {
|
|
127
|
+
return this.subscribeMany([event], listener);
|
|
112
128
|
}
|
|
113
|
-
subscribeMany(
|
|
129
|
+
subscribeMany(events, listener) {
|
|
114
130
|
return this.createLayPromise(async () => {
|
|
115
|
-
await this.addListenerMany(
|
|
131
|
+
await this.addListenerMany(events, listener);
|
|
116
132
|
const unsubscribe = () => {
|
|
117
133
|
return this.createLayPromise(async () => {
|
|
118
|
-
await this.removeListenerMany(
|
|
134
|
+
await this.removeListenerMany(events, listener);
|
|
119
135
|
});
|
|
120
136
|
};
|
|
121
137
|
return unsubscribe;
|
|
122
138
|
});
|
|
123
139
|
}
|
|
140
|
+
dispatchMany(events) {
|
|
141
|
+
return this.createLayPromise(async () => {
|
|
142
|
+
try {
|
|
143
|
+
const promises = [];
|
|
144
|
+
for (const event of events) {
|
|
145
|
+
promises.push(this.adapter.dispatch(getConstructorName(event), event));
|
|
146
|
+
}
|
|
147
|
+
await Promise.all(promises);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
throw new DispatchEventBusError(`Events of types "${events.map((event) => getConstructorName(event)).join(", ")}" could not be dispatched`, error);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
dispatch(event) {
|
|
155
|
+
return this.createLayPromise(async () => {
|
|
156
|
+
try {
|
|
157
|
+
await this.adapter.dispatch(getConstructorName(event), event);
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
throw new DispatchEventBusError(`Event of type "${String(getConstructorName(event))}" could not be dispatched`, error);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}
|
|
124
164
|
}
|
|
125
165
|
//# sourceMappingURL=event-bus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
export * from "../../serde/contracts/deserializer.contract";
|
|
2
|
+
export * from "../../serde/contracts/flexible-serde.contract";
|
|
1
3
|
export * from "../../serde/contracts/serde.contract";
|
|
2
4
|
export * from "../../serde/contracts/serde.errors";
|
|
5
|
+
export * from "../../serde/contracts/serializable.contract";
|
|
6
|
+
export * from "../../serde/contracts/serializer.contract";
|
|
3
7
|
//# sourceMappingURL=_module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../src/serde/contracts/_module.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../src/serde/contracts/_module.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAC;AACxD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=deserializer.contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deserializer.contract.js","sourceRoot":"","sources":["../../../../src/serde/contracts/deserializer.contract.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=flexible-serde.contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flexible-serde.contract.js","sourceRoot":"","sources":["../../../../src/serde/contracts/flexible-serde.contract.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=serializable.contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializable.contract.js","sourceRoot":"","sources":["../../../../src/serde/contracts/serializable.contract.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=serializer.contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializer.contract.js","sourceRoot":"","sources":["../../../../src/serde/contracts/serializer.contract.ts"],"names":[],"mappings":""}
|
|
@@ -3,4 +3,5 @@ export * from "../../serde/implementations/mongodb-serde/_module";
|
|
|
3
3
|
export * from "../../serde/implementations/redis-serde/_module";
|
|
4
4
|
export * from "../../serde/implementations/sql-serde/_module";
|
|
5
5
|
export * from "../../serde/implementations/super-json-serde/_module";
|
|
6
|
+
export * from "../../serde/implementations/no-op-serde/_module";
|
|
6
7
|
//# sourceMappingURL=_module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../src/serde/implementations/_module.ts"],"names":[],"mappings":"AAAA,cAAc,wDAAwD,CAAC;AACvE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC"}
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../src/serde/implementations/_module.ts"],"names":[],"mappings":"AAAA,cAAc,wDAAwD,CAAC;AACvE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../../src/serde/implementations/_shared/test-utilities/_module.ts"],"names":[],"mappings":"AAAA,cAAc,iEAAiE,CAAC"}
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../../src/serde/implementations/_shared/test-utilities/_module.ts"],"names":[],"mappings":"AAAA,cAAc,iEAAiE,CAAC;AAChF,cAAc,0EAA0E,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { beforeEach } from "vitest";
|
|
2
|
+
import { serdeTestSuite } from "../../../../serde/implementations/_shared/test-utilities/serde.test-suite";
|
|
3
|
+
export function flexibleSerdeTestSuite(settings) {
|
|
4
|
+
const { expect, test, createAdapter } = settings;
|
|
5
|
+
let flexibleSerde;
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
flexibleSerde = createAdapter();
|
|
8
|
+
});
|
|
9
|
+
serdeTestSuite(settings);
|
|
10
|
+
class User {
|
|
11
|
+
name;
|
|
12
|
+
age;
|
|
13
|
+
static deserialize(serializedUser) {
|
|
14
|
+
return new User(serializedUser.name, serializedUser.age);
|
|
15
|
+
}
|
|
16
|
+
constructor(name, age) {
|
|
17
|
+
this.name = name;
|
|
18
|
+
this.age = age;
|
|
19
|
+
}
|
|
20
|
+
serialize() {
|
|
21
|
+
return {
|
|
22
|
+
name: this.name,
|
|
23
|
+
age: this.age,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
getInfo() {
|
|
27
|
+
return `name: ${this.name}, age: ${this.age.toString()}`;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
class ExtendedUser extends User {
|
|
31
|
+
static deserialize(serializedUser) {
|
|
32
|
+
return new ExtendedUser(serializedUser.name, serializedUser.age);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
test("Should work with custom registerd classes", () => {
|
|
36
|
+
flexibleSerde.registerClass(User);
|
|
37
|
+
const user = new User("Abra", 20);
|
|
38
|
+
const deserializedValue = flexibleSerde.deserialize(flexibleSerde.serialize(user));
|
|
39
|
+
expect(deserializedValue).toBeInstanceOf(User);
|
|
40
|
+
expect(deserializedValue.getInfo()).toBe("name: Abra, age: 20");
|
|
41
|
+
});
|
|
42
|
+
test("Should work with custom registerd classes that is extended", () => {
|
|
43
|
+
flexibleSerde.registerClass(ExtendedUser);
|
|
44
|
+
const user = new ExtendedUser("Abra", 20);
|
|
45
|
+
const deserializedValue = flexibleSerde.deserialize(flexibleSerde.serialize(user));
|
|
46
|
+
expect(deserializedValue).toBeInstanceOf(ExtendedUser);
|
|
47
|
+
expect(deserializedValue.getInfo()).toBe("name: Abra, age: 20");
|
|
48
|
+
});
|
|
49
|
+
test("Should work with custom ISerdeTransformer", () => {
|
|
50
|
+
const transformer = {
|
|
51
|
+
name: User.name,
|
|
52
|
+
isApplicable(value) {
|
|
53
|
+
return (value instanceof User &&
|
|
54
|
+
value.constructor.name === User.name);
|
|
55
|
+
},
|
|
56
|
+
deserialize(serializedValue) {
|
|
57
|
+
return User.deserialize(serializedValue);
|
|
58
|
+
},
|
|
59
|
+
serialize(deserializedValue) {
|
|
60
|
+
return deserializedValue.serialize();
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
flexibleSerde.registerCustom(transformer);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=flexible-serde.test-suite.js.map
|
package/dist/esm/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flexible-serde.test-suite.js","sourceRoot":"","sources":["../../../../../../src/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.ts"],"names":[],"mappings":"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"}
|