@daiso-tech/core 0.35.4 → 0.37.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/README.md +22 -54
- package/dist/async/backof-policies/_shared.d.ts +8 -2
- package/dist/async/backof-policies/_shared.js +0 -1
- package/dist/async/backof-policies/_shared.js.map +1 -1
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +3 -3
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js +10 -4
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -1
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +3 -3
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +10 -4
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -1
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +3 -3
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +10 -4
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -1
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +3 -3
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +10 -4
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -1
- package/dist/async/middlewares/_shared.d.ts +6 -1
- package/dist/async/middlewares/_shared.js +11 -1
- package/dist/async/middlewares/_shared.js.map +1 -1
- package/dist/async/middlewares/fallback/fallback.middleware.d.ts +3 -3
- package/dist/async/middlewares/fallback/fallback.middleware.js +3 -2
- package/dist/async/middlewares/fallback/fallback.middleware.js.map +1 -1
- package/dist/async/middlewares/hedging/_shared.d.ts +7 -7
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js +7 -7
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js.map +1 -1
- package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js +6 -6
- package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js.map +1 -1
- package/dist/async/middlewares/observe/observe.middleware.d.ts +4 -4
- package/dist/async/middlewares/retry/retry.middleware.d.ts +5 -4
- package/dist/async/middlewares/retry/retry.middleware.js +10 -10
- package/dist/async/middlewares/retry/retry.middleware.js.map +1 -1
- package/dist/async/middlewares/timeout/timeout.middleware.d.ts +4 -2
- package/dist/async/middlewares/timeout/timeout.middleware.js +3 -1
- package/dist/async/middlewares/timeout/timeout.middleware.js.map +1 -1
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +1 -1
- package/dist/async/utilities/lazy-promise/lazy-promise.js +1 -1
- package/dist/async/utilities/promise-queue/promise-queue.js.map +1 -1
- package/dist/cache/contracts/cache-factory.contract.d.ts +2 -2
- package/dist/cache/contracts/cache.errors.d.ts +3 -3
- package/dist/cache/contracts/cache.errors.js +1 -1
- package/dist/cache/contracts/cache.errors.js.map +1 -1
- package/dist/cache/implementations/adapters/_module-exports.d.ts +1 -2
- package/dist/cache/implementations/adapters/_module-exports.js +1 -2
- package/dist/cache/implementations/adapters/_module-exports.js.map +1 -1
- package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +41 -16
- package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +102 -57
- package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +1 -1
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +4 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/cache.d.ts +27 -11
- package/dist/cache/implementations/derivables/cache/cache.js +38 -34
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +15 -47
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +19 -45
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +4 -5
- package/dist/cache/implementations/test-utilities/cache.test-suite.js +4 -5
- package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
- package/dist/collection/contracts/async-collection.contract.d.ts +127 -121
- package/dist/collection/contracts/collection.contract.d.ts +126 -120
- package/dist/collection/contracts/collection.errors.d.ts +3 -3
- package/dist/collection/contracts/collection.errors.js +1 -1
- package/dist/collection/contracts/collection.errors.js.map +1 -1
- package/dist/collection/implementations/_shared.d.ts +4 -4
- package/dist/collection/implementations/_shared.js +2 -2
- package/dist/collection/implementations/_shared.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/_module.d.ts +1 -0
- package/dist/collection/implementations/async-iterable-collection/_shared/_module.js +1 -0
- package/dist/collection/implementations/async-iterable-collection/_shared/_module.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.d.ts +7 -0
- package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js +17 -0
- package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js.map +1 -0
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +15 -13
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +19 -16
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/_module.d.ts +1 -0
- package/dist/collection/implementations/iterable-collection/_shared/_module.js +1 -0
- package/dist/collection/implementations/iterable-collection/_shared/_module.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.d.ts +7 -0
- package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js +21 -0
- package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js.map +1 -0
- package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +14 -12
- package/dist/collection/implementations/iterable-collection/iterable-collection.js +16 -13
- package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
- package/dist/collection/implementations/list-collection/list-collection.d.ts +14 -12
- package/dist/collection/implementations/list-collection/list-collection.js +26 -13
- package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
- package/dist/event-bus/contracts/event-bus-factory.contract.d.ts +2 -2
- package/dist/event-bus/contracts/event-bus.contract.d.ts +2 -2
- package/dist/event-bus/contracts/event-bus.errors.d.ts +3 -3
- package/dist/event-bus/contracts/event-bus.errors.js +1 -1
- package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +1 -1
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +46 -9
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +64 -22
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +12 -41
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +15 -35
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/lock/contracts/lock.errors.d.ts +2 -2
- package/dist/lock/contracts/lock.errors.js.map +1 -1
- package/dist/lock/implementations/adapters/_module-exports.d.ts +1 -2
- package/dist/lock/implementations/adapters/_module-exports.js +1 -2
- package/dist/lock/implementations/adapters/_module-exports.js.map +1 -1
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +40 -15
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +75 -34
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +6 -3
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +1 -1
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +22 -18
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +20 -22
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +3 -3
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +12 -6
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +4 -2
- package/dist/lock/implementations/derivables/lock-provider/lock.js +16 -18
- package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +6 -50
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +10 -54
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +1 -9
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +1 -9
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
- package/dist/serde/contracts/flexible-serde.contract.d.ts +9 -2
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +1 -1
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
- package/dist/utilities/classes/_module.d.ts +1 -1
- package/dist/utilities/classes/_module.js +1 -1
- package/dist/utilities/classes/_module.js.map +1 -1
- package/dist/utilities/classes/hooks/hooks.d.ts +2 -2
- package/dist/utilities/classes/hooks/hooks.js +2 -2
- package/dist/utilities/classes/namespace/_module.d.ts +1 -0
- package/dist/utilities/classes/namespace/_module.js +2 -0
- package/dist/utilities/classes/namespace/_module.js.map +1 -0
- package/dist/utilities/classes/{key-prefixer/key-prefixer.d.ts → namespace/namespace.d.ts} +38 -17
- package/dist/utilities/classes/{key-prefixer/key-prefixer.js → namespace/namespace.js} +51 -19
- package/dist/utilities/classes/namespace/namespace.js.map +1 -0
- package/dist/utilities/classes/time-span/time-span.d.ts +1 -2
- package/dist/utilities/classes/time-span/time-span.js +1 -4
- package/dist/utilities/classes/time-span/time-span.js.map +1 -1
- package/dist/utilities/functions/_module-exports.d.ts +2 -1
- package/dist/utilities/functions/_module-exports.js +2 -1
- package/dist/utilities/functions/_module-exports.js.map +1 -1
- package/dist/utilities/functions/lazy.d.ts +4 -0
- package/dist/utilities/functions/lazy.js +9 -3
- package/dist/utilities/functions/lazy.js.map +1 -1
- package/dist/utilities/functions/result.d.ts +11 -0
- package/dist/utilities/functions/result.js +15 -0
- package/dist/utilities/functions/result.js.map +1 -0
- package/dist/utilities/functions/validate.d.ts +8 -0
- package/dist/utilities/functions/validate.js +17 -0
- package/dist/utilities/functions/validate.js.map +1 -0
- package/dist/utilities/types/factory.type.d.ts +13 -18
- package/dist/utilities/types/result.type.d.ts +11 -1
- package/package.json +15 -11
- package/dist/cache/implementations/adapters/libsql-cache-adapter/_module.d.ts +0 -1
- package/dist/cache/implementations/adapters/libsql-cache-adapter/_module.js +0 -2
- package/dist/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +0 -1
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +0 -61
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +0 -95
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +0 -1
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/_module.d.ts +0 -1
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/_module.js +0 -2
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +0 -1
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +0 -59
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +0 -94
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +0 -1
- package/dist/lock/implementations/adapters/libsql-lock-adapter/_module.d.ts +0 -1
- package/dist/lock/implementations/adapters/libsql-lock-adapter/_module.js +0 -2
- package/dist/lock/implementations/adapters/libsql-lock-adapter/_module.js.map +0 -1
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +0 -60
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +0 -84
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +0 -1
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/_module.d.ts +0 -1
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/_module.js +0 -2
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/_module.js.map +0 -1
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +0 -59
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +0 -83
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +0 -1
- package/dist/utilities/classes/key-prefixer/_module.d.ts +0 -1
- package/dist/utilities/classes/key-prefixer/_module.js +0 -2
- package/dist/utilities/classes/key-prefixer/_module.js.map +0 -1
- package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +0 -1
- package/dist/utilities/functions/factory.d.ts +0 -44
- package/dist/utilities/functions/factory.js +0 -80
- package/dist/utilities/functions/factory.js.map +0 -1
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { CACHE_EVENTS, } from "../../../../cache/contracts/_module-exports.js";
|
|
6
6
|
import { KeyNotFoundCacheError, TypeCacheError, } from "../../../../cache/contracts/_module-exports.js";
|
|
7
|
-
import {
|
|
7
|
+
import { resolveAsyncLazyable, resolveInvokable, validate, } from "../../../../utilities/_module-exports.js";
|
|
8
8
|
import {} from "../../../../utilities/_module-exports.js";
|
|
9
|
-
import {
|
|
9
|
+
import { Namespace, } from "../../../../utilities/_module-exports.js";
|
|
10
10
|
import { LazyPromise } from "../../../../async/_module-exports.js";
|
|
11
11
|
import { EventBus } from "../../../../event-bus/implementations/derivables/_module-exports.js";
|
|
12
12
|
import { MemoryEventBusAdapter } from "../../../../event-bus/implementations/adapters/_module-exports.js";
|
|
@@ -19,11 +19,12 @@ import { DatabaseCacheAdapter } from "../../../../cache/implementations/derivabl
|
|
|
19
19
|
*/
|
|
20
20
|
export class Cache {
|
|
21
21
|
eventBus;
|
|
22
|
-
adapterFactoryable;
|
|
23
22
|
adapter;
|
|
24
23
|
defaultTtl;
|
|
25
|
-
|
|
24
|
+
namespace;
|
|
26
25
|
lazyPromiseFactory;
|
|
26
|
+
schema;
|
|
27
|
+
shouldValidateOutput;
|
|
27
28
|
/**
|
|
28
29
|
*
|
|
29
30
|
* @example
|
|
@@ -33,7 +34,7 @@ export class Cache {
|
|
|
33
34
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters"
|
|
34
35
|
* import Sqlite from "better-sqlite3";
|
|
35
36
|
* import { Cache } from "@daiso-tech/core/cache";
|
|
36
|
-
* import {
|
|
37
|
+
* import { Namespace } from "@daiso-tech/core/utilities";
|
|
37
38
|
*
|
|
38
39
|
* const database = new Sqlite("local.db");
|
|
39
40
|
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
@@ -45,20 +46,19 @@ export class Cache {
|
|
|
45
46
|
* await cacheAdapter.init();
|
|
46
47
|
*
|
|
47
48
|
* const cache = new Cache({
|
|
48
|
-
* keyPrefixer: new KeyPrefixer("cache"),
|
|
49
49
|
* adapter: cacheAdapter,
|
|
50
50
|
* });
|
|
51
51
|
* ```
|
|
52
52
|
*/
|
|
53
53
|
constructor(settings) {
|
|
54
|
-
const {
|
|
55
|
-
keyPrefixer: new KeyPrefixer("event-bus"),
|
|
54
|
+
const { shouldValidateOutput = true, schema, namespace = new Namespace(["@", "cache"]), adapter, eventBus = new EventBus({
|
|
56
55
|
adapter: new MemoryEventBusAdapter(),
|
|
57
56
|
}), defaultTtl = null, lazyPromiseFactory = (invokable) => new LazyPromise(invokable), } = settings;
|
|
58
|
-
this.
|
|
59
|
-
this.
|
|
57
|
+
this.shouldValidateOutput = shouldValidateOutput;
|
|
58
|
+
this.schema = schema;
|
|
59
|
+
this.namespace = namespace;
|
|
60
60
|
this.defaultTtl = defaultTtl;
|
|
61
|
-
this.lazyPromiseFactory =
|
|
61
|
+
this.lazyPromiseFactory = resolveInvokable(lazyPromiseFactory);
|
|
62
62
|
this.eventBus = eventBus;
|
|
63
63
|
if (isDatabaseCacheAdapter(adapter)) {
|
|
64
64
|
this.adapter = new DatabaseCacheAdapter(adapter);
|
|
@@ -126,9 +126,12 @@ export class Cache {
|
|
|
126
126
|
}
|
|
127
127
|
get(key) {
|
|
128
128
|
return this.createLazyPromise(async () => {
|
|
129
|
-
const keyObj = this.
|
|
129
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
130
130
|
try {
|
|
131
|
-
const value = await this.adapter.get(keyObj.
|
|
131
|
+
const value = await this.adapter.get(keyObj.namespaced);
|
|
132
|
+
if (this.shouldValidateOutput && value !== null) {
|
|
133
|
+
await validate(this.schema, value);
|
|
134
|
+
}
|
|
132
135
|
if (value === null) {
|
|
133
136
|
this.eventBus
|
|
134
137
|
.dispatch(CACHE_EVENTS.NOT_FOUND, {
|
|
@@ -162,16 +165,19 @@ export class Cache {
|
|
|
162
165
|
return this.createLazyPromise(async () => {
|
|
163
166
|
const value = await this.get(key);
|
|
164
167
|
if (value === null) {
|
|
165
|
-
throw new KeyNotFoundCacheError(`Key "${this.
|
|
168
|
+
throw new KeyNotFoundCacheError(`Key "${this.namespace._getInternal().create(key).resolved}" is not found`);
|
|
166
169
|
}
|
|
167
170
|
return value;
|
|
168
171
|
});
|
|
169
172
|
}
|
|
170
173
|
getAndRemove(key) {
|
|
171
174
|
return this.createLazyPromise(async () => {
|
|
172
|
-
const keyObj = this.
|
|
175
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
173
176
|
try {
|
|
174
|
-
const value = await this.adapter.getAndRemove(keyObj.
|
|
177
|
+
const value = await this.adapter.getAndRemove(keyObj.namespaced);
|
|
178
|
+
if (this.shouldValidateOutput && value !== null) {
|
|
179
|
+
await validate(this.schema, value);
|
|
180
|
+
}
|
|
175
181
|
if (value === null) {
|
|
176
182
|
this.eventBus
|
|
177
183
|
.dispatch(CACHE_EVENTS.NOT_FOUND, {
|
|
@@ -230,9 +236,10 @@ export class Cache {
|
|
|
230
236
|
}
|
|
231
237
|
add(key, value, ttl = this.defaultTtl) {
|
|
232
238
|
return this.createLazyPromise(async () => {
|
|
233
|
-
const keyObj = this.
|
|
239
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
234
240
|
try {
|
|
235
|
-
|
|
241
|
+
await validate(this.schema, value);
|
|
242
|
+
const hasAdded = await this.adapter.add(keyObj.namespaced, value, ttl);
|
|
236
243
|
if (hasAdded) {
|
|
237
244
|
this.eventBus
|
|
238
245
|
.dispatch(CACHE_EVENTS.WRITTEN, {
|
|
@@ -260,9 +267,10 @@ export class Cache {
|
|
|
260
267
|
}
|
|
261
268
|
put(key, value, ttl = this.defaultTtl) {
|
|
262
269
|
return this.createLazyPromise(async () => {
|
|
263
|
-
const keyObj = this.
|
|
270
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
264
271
|
try {
|
|
265
|
-
|
|
272
|
+
await validate(this.schema, value);
|
|
273
|
+
const hasUpdated = await this.adapter.put(keyObj.namespaced, value, ttl);
|
|
266
274
|
if (hasUpdated) {
|
|
267
275
|
this.eventBus
|
|
268
276
|
.dispatch(CACHE_EVENTS.WRITTEN, {
|
|
@@ -299,9 +307,10 @@ export class Cache {
|
|
|
299
307
|
}
|
|
300
308
|
update(key, value) {
|
|
301
309
|
return this.createLazyPromise(async () => {
|
|
302
|
-
const keyObj = this.
|
|
310
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
303
311
|
try {
|
|
304
|
-
|
|
312
|
+
await validate(this.schema, value);
|
|
313
|
+
const hasUpdated = await this.adapter.update(keyObj.namespaced, value);
|
|
305
314
|
if (hasUpdated) {
|
|
306
315
|
this.eventBus
|
|
307
316
|
.dispatch(CACHE_EVENTS.WRITTEN, {
|
|
@@ -335,9 +344,9 @@ export class Cache {
|
|
|
335
344
|
}
|
|
336
345
|
increment(key, value = 0) {
|
|
337
346
|
return this.createLazyPromise(async () => {
|
|
338
|
-
const keyObj = this.
|
|
347
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
339
348
|
try {
|
|
340
|
-
const hasUpdated = await this.adapter.increment(keyObj.
|
|
349
|
+
const hasUpdated = await this.adapter.increment(keyObj.namespaced, value);
|
|
341
350
|
if (hasUpdated && value > 0) {
|
|
342
351
|
this.eventBus
|
|
343
352
|
.dispatch(CACHE_EVENTS.WRITTEN, {
|
|
@@ -385,10 +394,10 @@ export class Cache {
|
|
|
385
394
|
}
|
|
386
395
|
remove(key) {
|
|
387
396
|
return this.createLazyPromise(async () => {
|
|
388
|
-
const keyObj = this.
|
|
397
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
389
398
|
try {
|
|
390
399
|
const hasRemoved = await this.adapter.removeMany([
|
|
391
|
-
keyObj.
|
|
400
|
+
keyObj.namespaced,
|
|
392
401
|
]);
|
|
393
402
|
if (hasRemoved) {
|
|
394
403
|
this.eventBus
|
|
@@ -425,9 +434,9 @@ export class Cache {
|
|
|
425
434
|
if (keysArr.length === 0) {
|
|
426
435
|
return true;
|
|
427
436
|
}
|
|
428
|
-
const keyObjArr = keysArr.map((key) => this.
|
|
437
|
+
const keyObjArr = keysArr.map((key) => this.namespace._getInternal().create(key));
|
|
429
438
|
try {
|
|
430
|
-
const hasRemovedAtLeastOne = await this.adapter.removeMany(keyObjArr.map((keyObj) => keyObj.
|
|
439
|
+
const hasRemovedAtLeastOne = await this.adapter.removeMany(keyObjArr.map((keyObj) => keyObj.namespaced));
|
|
431
440
|
if (hasRemovedAtLeastOne) {
|
|
432
441
|
const events = keyObjArr.map((keyObj) => [
|
|
433
442
|
CACHE_EVENTS.WRITTEN,
|
|
@@ -469,12 +478,7 @@ export class Cache {
|
|
|
469
478
|
return this.createLazyPromise(async () => {
|
|
470
479
|
try {
|
|
471
480
|
const promise = this.eventBus.dispatch(CACHE_EVENTS.CLEARED, {});
|
|
472
|
-
|
|
473
|
-
await this.adapter.removeAll();
|
|
474
|
-
promise.defer();
|
|
475
|
-
return;
|
|
476
|
-
}
|
|
477
|
-
await this.adapter.removeByKeyPrefix(this.keyPrefixer.keyPrefix);
|
|
481
|
+
await this.adapter.removeByKeyPrefix(this.namespace._getInternal().namespaced);
|
|
478
482
|
promise.defer();
|
|
479
483
|
}
|
|
480
484
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache/cache.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D;;GAEG;AAQH,OAAO,EACH,YAAY,GAGf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACH,qBAAqB,EACrB,cAAc,GACjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACH,cAAc,EACd,oBAAoB,EACpB,cAAc,GACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAGN,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAGH,WAAW,GACd,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAQzD,OAAO,EAAE,QAAQ,EAAE,MAAM,2DAA2D,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,uEAAuE,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,oEAAoE,CAAC;AAkE1G;;;;GAIG;AACH,MAAM,OAAO,KAAK;IACG,QAAQ,CAAkC;IAC1C,kBAAkB,CAAsB;IACxC,OAAO,CAAuB;IAC9B,UAAU,CAAkB;IAC5B,WAAW,CAAc;IACzB,kBAAkB,CAGjC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,YAAY,QAAuB;QAC/B,MAAM,EACF,WAAW,EACX,OAAO,EACP,QAAQ,GAAG,IAAI,QAAQ,CAAM;YACzB,WAAW,EAAE,IAAI,WAAW,CAAC,WAAW,CAAC;YACzC,OAAO,EAAE,IAAI,qBAAqB,EAAE;SACvC,CAAC,EACF,UAAU,GAAG,IAAI,EACjB,kBAAkB,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,GACjE,GAAG,QAAQ,CAAC;QAEb,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,WAAW,CACP,SAAqB,EACrB,QAAyD;QAEzD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,cAAc,CACV,SAAqB,EACrB,QAAyD;QAEzD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,UAAU,CACN,SAAqB,EACrB,QAAyD;QAEzD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,SAAS,CACL,SAAqB;QAErB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,aAAa,CACT,SAAqB,EACrB,QAAyD;QAEzD,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,SAAS,CACL,SAAqB,EACrB,QAAyD;QAEzD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAEO,iBAAiB,CACrB,OAAkC;QAElC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,GAAsB;QACzB,OAAO,IAAI,WAAW,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,KAAK,KAAK,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,GAAsB;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG,CAAC,GAAsB;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACtD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACjB,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE;wBAC9B,GAAG,EAAE,MAAM,CAAC,QAAQ;qBACvB,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE;wBAC1B,GAAG,EAAE,MAAM,CAAC,QAAQ;wBACpB,KAAK;qBACR,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ;qBACR,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE;oBACrC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACvB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;oBACrB,KAAK;iBACR,CAAC;qBACD,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,GAAsB;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAQ,KAAK,IAAI,EAAE;YAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,qBAAqB,CAC3B,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,gBAAgB,CAChE,CAAC;YACN,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,GAAsB;QAC/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACjB,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE;wBAC9B,GAAG,EAAE,MAAM,CAAC,QAAQ;qBACvB,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE;wBAC1B,GAAG,EAAE,MAAM,CAAC,QAAQ;wBACpB,KAAK;qBACR,CAAC;yBACD,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;wBAC5B,IAAI,EAAE,SAAS;wBACf,GAAG,EAAE,MAAM,CAAC,QAAQ;qBACvB,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ;qBACR,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE;oBACrC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACvB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;oBACrB,KAAK;iBACR,CAAC;qBACD,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CACD,GAAsB,EACtB,YAA4C;QAE5C,OAAO,IAAI,CAAC,iBAAiB,CAAQ,KAAK,IAAI,EAAE;YAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,oBAAoB,GACtB,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;gBAC7C,OAAO,oBAAoB,CAAC;YAChC,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ,CACJ,GAAsB,EACtB,UAA0C,EAC1C,GAAqB;QAErB,OAAO,IAAI,CAAC,iBAAiB,CAAQ,KAAK,IAAI,EAAE;YAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,oBAAoB,GACtB,MAAM,oBAAoB,CAAkB,UAAU,CAAC,CAAC;gBAC5D,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC;gBAC/C,OAAO,oBAAoB,CAAC;YAChC,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG,CACC,GAAsB,EACtB,KAAY,EACZ,MAAuB,IAAI,CAAC,UAAU;QAEtC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACnC,MAAM,CAAC,QAAQ,EACf,KAAK,EACL,GAAG,CACN,CAAC;gBACF,IAAI,QAAQ,EAAE,CAAC;oBACX,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;wBAC5B,IAAI,EAAE,OAAO;wBACb,GAAG,EAAE,MAAM,CAAC,QAAQ;wBACpB,KAAK;wBACL,GAAG;qBACN,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;gBACD,OAAO,QAAQ,CAAC;YACpB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ;qBACR,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE;oBACrC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACvB,KAAK;oBACL,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;oBACrB,KAAK;iBACR,CAAC;qBACD,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG,CACC,GAAsB,EACtB,KAAY,EACZ,MAAuB,IAAI,CAAC,UAAU;QAEtC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACrC,MAAM,CAAC,QAAQ,EACf,KAAK,EACL,GAAG,CACN,CAAC;gBACF,IAAI,UAAU,EAAE,CAAC;oBACb,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;wBAC5B,IAAI,EAAE,SAAS;wBACf,GAAG,EAAE,MAAM,CAAC,QAAQ;wBACpB,KAAK;qBACR,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;wBAC5B,IAAI,EAAE,OAAO;wBACb,GAAG,EAAE,MAAM,CAAC,QAAQ;wBACpB,KAAK;wBACL,GAAG;qBACN,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;gBACD,OAAO,UAAU,CAAC;YACtB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ;qBACR,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE;oBACrC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACvB,KAAK;oBACL,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;oBACrB,KAAK;iBACR,CAAC;qBACD,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,GAAsB,EAAE,KAAY;QACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CACxC,MAAM,CAAC,QAAQ,EACf,KAAK,CACR,CAAC;gBACF,IAAI,UAAU,EAAE,CAAC;oBACb,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;wBAC5B,IAAI,EAAE,SAAS;wBACf,GAAG,EAAE,MAAM,CAAC,QAAQ;wBACpB,KAAK;qBACR,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE;wBAC9B,GAAG,EAAE,MAAM,CAAC,QAAQ;qBACvB,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;gBACD,OAAO,UAAU,CAAC;YACtB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ;qBACR,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE;oBACrC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACvB,KAAK;oBACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACxB,KAAK;iBACR,CAAC;qBACD,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CACL,GAAsB,EACtB,QAAQ,CAA2B;QAEnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAC3C,MAAM,CAAC,QAAQ,EACf,KAAK,CACR,CAAC;gBACF,IAAI,UAAU,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;wBAC5B,IAAI,EAAE,aAAa;wBACnB,GAAG,EAAE,MAAM,CAAC,QAAQ;wBACpB,KAAK;qBACR,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;gBACD,IAAI,UAAU,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;wBAC5B,IAAI,EAAE,aAAa;wBACnB,GAAG,EAAE,MAAM,CAAC,QAAQ;wBACpB,KAAK,EAAE,CAAC,KAAK;qBAChB,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;gBACD,IAAI,CAAC,UAAU,EAAE,CAAC;oBACd,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE;wBAC9B,GAAG,EAAE,MAAM,CAAC,QAAQ;qBACvB,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;gBACD,OAAO,UAAU,CAAC;YACtB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ;qBACR,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE;oBACrC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACvB,KAAK;oBACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;oBAC3B,KAAK;iBACR,CAAC;qBACD,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,cAAc,CACpB,0DAA0D,MAAM,CAAC,QAAQ,GAAG,EAC5E,KAAK,CACR,CAAC;YACN,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CACL,GAAsB,EACtB,QAAQ,CAA2B;QAEnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,KAA+B,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,GAAsB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC7C,MAAM,CAAC,QAAQ;iBAClB,CAAC,CAAC;gBACH,IAAI,UAAU,EAAE,CAAC;oBACb,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;wBAC5B,IAAI,EAAE,SAAS;wBACf,GAAG,EAAE,MAAM,CAAC,QAAQ;qBACvB,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,QAAQ;yBACR,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE;wBAC9B,GAAG,EAAE,MAAM,CAAC,QAAQ;qBACvB,CAAC;yBACD,KAAK,EAAE,CAAC;gBACjB,CAAC;gBACD,OAAO,UAAU,CAAC;YACtB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ;qBACR,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE;oBACrC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACvB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACxB,KAAK;iBACR,CAAC;qBACD,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,IAAiC;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAClC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAC/B,CAAC;YACF,IAAI,CAAC;gBACD,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CACtD,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC7C,CAAC;gBACF,IAAI,oBAAoB,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CACxB,CACI,MAAM,EAC0C,EAAE,CAClD;wBACI,YAAY,CAAC,OAAO;wBACpB;4BACI,IAAI,EAAE,SAAS;4BACf,GAAG,EAAE,MAAM,CAAC,QAAQ;yBACvB;qBACK,CACjB,CAAC;oBACF,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;wBACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;oBACrD,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CACxB,CACI,MAAM,EAIR,EAAE,CACA;wBACI,YAAY,CAAC,SAAS;wBACtB;4BACI,GAAG,EAAE,MAAM,CAAC,QAAQ;yBACvB;qBACK,CACjB,CAAC;oBACF,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;wBACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;oBACrD,CAAC;gBACL,CAAC;gBACD,OAAO,oBAAoB,CAAC;YAChC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ;qBACR,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE;oBACrC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAChD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACxB,KAAK;iBACR,CAAC;qBACD,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClC,YAAY,CAAC,OAAO,EACpB,EAAE,CACL,CAAC;gBACF,IAAI,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC/B,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,OAAO;gBACX,CAAC;gBACD,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAC7B,CAAC;gBACF,OAAO,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ;qBACR,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE;oBACrC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;oBACvB,KAAK;iBACR,CAAC;qBACD,KAAK,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,9 @@ import { type AsyncLazy, type Factory } from "../../../../utilities/_module-expo
|
|
|
5
5
|
import type { IEventBus } from "../../../../event-bus/contracts/_module-exports.js";
|
|
6
6
|
import type { ICache, ICacheFactory } from "../../../../cache/contracts/_module-exports.js";
|
|
7
7
|
import { type CacheSettingsBase, type CacheAdapter } from "../../../../cache/implementations/derivables/cache/_module.js";
|
|
8
|
-
import {
|
|
8
|
+
import { Namespace, type TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
9
9
|
import type { LazyPromise } from "../../../../async/_module-exports.js";
|
|
10
|
+
import type { StandardSchemaV1 } from "@standard-schema/spec";
|
|
10
11
|
/**
|
|
11
12
|
*
|
|
12
13
|
* IMPORT_PATH: `"@daiso-tech/core/cache"`
|
|
@@ -18,7 +19,7 @@ export type CacheAdapters<TAdapters extends string = string> = Partial<Record<TA
|
|
|
18
19
|
* IMPORT_PATH: `"@daiso-tech/core/cache"`
|
|
19
20
|
* @group Derivables
|
|
20
21
|
*/
|
|
21
|
-
export type CacheFactorySettings<TAdapters extends string = string> = CacheSettingsBase & {
|
|
22
|
+
export type CacheFactorySettings<TAdapters extends string = string, TType = unknown> = CacheSettingsBase<TType> & {
|
|
22
23
|
adapters: CacheAdapters<TAdapters>;
|
|
23
24
|
defaultAdapter?: NoInfer<TAdapters>;
|
|
24
25
|
};
|
|
@@ -28,39 +29,21 @@ export type CacheFactorySettings<TAdapters extends string = string> = CacheSetti
|
|
|
28
29
|
* IMPORT_PATH: `"@daiso-tech/core/cache"`
|
|
29
30
|
* @group Derivables
|
|
30
31
|
*/
|
|
31
|
-
export declare class CacheFactory<TAdapters extends string = string> implements ICacheFactory<TAdapters> {
|
|
32
|
+
export declare class CacheFactory<TAdapters extends string = string, TType = unknown> implements ICacheFactory<TAdapters, TType> {
|
|
32
33
|
private readonly settings;
|
|
33
34
|
/**
|
|
34
35
|
* @example
|
|
35
36
|
* ```ts
|
|
36
37
|
* import { CacheFactory } from "@daiso-tech/core/cache";
|
|
37
|
-
* import
|
|
38
|
-
* import { MemoryCacheAdapter, RedisCacheAdapter, SqliteCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
38
|
+
* import { MemoryCacheAdapter, RedisCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
39
39
|
* import { Serde } from "@daiso-tech/core/serde";
|
|
40
40
|
* import type { ISerde } from "@daiso-tech/core/serde/contracts";
|
|
41
41
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters";
|
|
42
|
-
* import { KeyPrefixer, type ISqliteDatabase, type AsyncFactoryFn } from "@daiso-tech/core/utilities";
|
|
43
42
|
* import Redis from "ioredis"
|
|
44
|
-
* import Sqlite from "better-sqlite3";
|
|
45
43
|
*
|
|
46
|
-
* function cahceAdapterFactory(database: ISqliteDatabase, serde: ISerde<string>): AsyncFactoryFn<string, IDatabaseCacheAdapter> {
|
|
47
|
-
* return async (prefix) => {
|
|
48
|
-
* const cacheAdapter = new SqliteCacheAdapter({
|
|
49
|
-
* database,
|
|
50
|
-
* serde,
|
|
51
|
-
* tableName: `cache_${prefix}`
|
|
52
|
-
* });
|
|
53
|
-
* await cacheAdapter.init();
|
|
54
|
-
* return cacheAdapter;
|
|
55
|
-
* }
|
|
56
|
-
* }
|
|
57
|
-
*
|
|
58
|
-
* const database = new Sqlite("local.db");
|
|
59
44
|
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
60
45
|
* const cacheFactory = new CacheFactory({
|
|
61
|
-
* keyPrefixer: new KeyPrefixer("cache"),
|
|
62
46
|
* adapters: {
|
|
63
|
-
* sqlite: cahceAdapterFactory(database, serde),
|
|
64
47
|
* memory: new MemoryCacheAdapter(),
|
|
65
48
|
* redis: new RedisCacheAdapter({
|
|
66
49
|
* database: new Redis("YOUR_REDIS_CONNECTION"),
|
|
@@ -70,42 +53,27 @@ export declare class CacheFactory<TAdapters extends string = string> implements
|
|
|
70
53
|
* defaultAdapter: "memory",
|
|
71
54
|
* });
|
|
72
55
|
*/
|
|
73
|
-
constructor(settings: CacheFactorySettings<TAdapters>);
|
|
74
|
-
|
|
75
|
-
setDefaultTtl(ttl: TimeSpan): CacheFactory<TAdapters>;
|
|
76
|
-
setEventBus(eventBus: IEventBus): CacheFactory<TAdapters>;
|
|
77
|
-
|
|
56
|
+
constructor(settings: CacheFactorySettings<TAdapters, TType>);
|
|
57
|
+
setNamespace(namespace: Namespace): CacheFactory<TAdapters, TType>;
|
|
58
|
+
setDefaultTtl(ttl: TimeSpan): CacheFactory<TAdapters, TType>;
|
|
59
|
+
setEventBus(eventBus: IEventBus): CacheFactory<TAdapters, TType>;
|
|
60
|
+
setLazyPromiseFactory(factory: Factory<AsyncLazy<any>, LazyPromise<any>>): CacheFactory<TAdapters, TType>;
|
|
61
|
+
setSchema<TSchemaOutputType>(schema: StandardSchemaV1<TSchemaOutputType>): CacheFactory<TAdapters, TSchemaOutputType>;
|
|
62
|
+
setType<TOutputType>(): CacheFactory<TAdapters, TOutputType>;
|
|
78
63
|
/**
|
|
79
64
|
* @example
|
|
80
65
|
* ```ts
|
|
81
66
|
* import { CacheFactory } from "@daiso-tech/core/cache";
|
|
82
|
-
* import
|
|
83
|
-
* import { MemoryCacheAdapter, RedisCacheAdapter, SqliteCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
67
|
+
* import { MemoryCacheAdapter, RedisCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
84
68
|
* import { Serde } from "@daiso-tech/core/serde";
|
|
85
69
|
* import type { ISerde } from "@daiso-tech/core/serde/contracts";
|
|
86
70
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters";
|
|
87
|
-
* import {
|
|
71
|
+
* import { TimeSpan } from "@daiso-tech/core/utilities";
|
|
88
72
|
* import Redis from "ioredis"
|
|
89
|
-
* import Sqlite from "better-sqlite3";
|
|
90
|
-
*
|
|
91
|
-
* function cahceAdapterFactory(database: ISqliteDatabase, serde: ISerde<string>): AsyncFactoryFn<string, IDatabaseCacheAdapter> {
|
|
92
|
-
* return async (prefix) => {
|
|
93
|
-
* const cacheAdapter = new SqliteCacheAdapter({
|
|
94
|
-
* database,
|
|
95
|
-
* serde,
|
|
96
|
-
* tableName: `cache_${prefix}`
|
|
97
|
-
* });
|
|
98
|
-
* await cacheAdapter.init();
|
|
99
|
-
* return cacheAdapter;
|
|
100
|
-
* }
|
|
101
|
-
* }
|
|
102
73
|
*
|
|
103
|
-
* const database = new Sqlite("local.db");
|
|
104
74
|
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
105
75
|
* const cacheFactory = new CacheFactory({
|
|
106
|
-
* keyPrefixer: new KeyPrefixer("cache"),
|
|
107
76
|
* adapters: {
|
|
108
|
-
* sqlite: cahceAdapterFactory(database, serde),
|
|
109
77
|
* memory: new MemoryCacheAdapter(),
|
|
110
78
|
* redis: new RedisCacheAdapter({
|
|
111
79
|
* database: new Redis("YOUR_REDIS_CONNECTION"),
|
|
@@ -132,5 +100,5 @@ export declare class CacheFactory<TAdapters extends string = string> implements
|
|
|
132
100
|
* .add("a", 1);
|
|
133
101
|
* ```
|
|
134
102
|
*/
|
|
135
|
-
use
|
|
103
|
+
use(adapterName?: TAdapters | undefined): ICache<TType>;
|
|
136
104
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { DefaultAdapterNotDefinedError, resolveOneOrMore, UnregisteredAdapterError, } from "../../../../utilities/_module-exports.js";
|
|
5
5
|
import { Cache, } from "../../../../cache/implementations/derivables/cache/_module.js";
|
|
6
|
-
import {
|
|
6
|
+
import { Namespace } from "../../../../utilities/_module-exports.js";
|
|
7
7
|
/**
|
|
8
8
|
* The `CacheFactory` class is immutable.
|
|
9
9
|
*
|
|
@@ -16,33 +16,15 @@ export class CacheFactory {
|
|
|
16
16
|
* @example
|
|
17
17
|
* ```ts
|
|
18
18
|
* import { CacheFactory } from "@daiso-tech/core/cache";
|
|
19
|
-
* import
|
|
20
|
-
* import { MemoryCacheAdapter, RedisCacheAdapter, SqliteCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
19
|
+
* import { MemoryCacheAdapter, RedisCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
21
20
|
* import { Serde } from "@daiso-tech/core/serde";
|
|
22
21
|
* import type { ISerde } from "@daiso-tech/core/serde/contracts";
|
|
23
22
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters";
|
|
24
|
-
* import { KeyPrefixer, type ISqliteDatabase, type AsyncFactoryFn } from "@daiso-tech/core/utilities";
|
|
25
23
|
* import Redis from "ioredis"
|
|
26
|
-
* import Sqlite from "better-sqlite3";
|
|
27
24
|
*
|
|
28
|
-
* function cahceAdapterFactory(database: ISqliteDatabase, serde: ISerde<string>): AsyncFactoryFn<string, IDatabaseCacheAdapter> {
|
|
29
|
-
* return async (prefix) => {
|
|
30
|
-
* const cacheAdapter = new SqliteCacheAdapter({
|
|
31
|
-
* database,
|
|
32
|
-
* serde,
|
|
33
|
-
* tableName: `cache_${prefix}`
|
|
34
|
-
* });
|
|
35
|
-
* await cacheAdapter.init();
|
|
36
|
-
* return cacheAdapter;
|
|
37
|
-
* }
|
|
38
|
-
* }
|
|
39
|
-
*
|
|
40
|
-
* const database = new Sqlite("local.db");
|
|
41
25
|
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
42
26
|
* const cacheFactory = new CacheFactory({
|
|
43
|
-
* keyPrefixer: new KeyPrefixer("cache"),
|
|
44
27
|
* adapters: {
|
|
45
|
-
* sqlite: cahceAdapterFactory(database, serde),
|
|
46
28
|
* memory: new MemoryCacheAdapter(),
|
|
47
29
|
* redis: new RedisCacheAdapter({
|
|
48
30
|
* database: new Redis("YOUR_REDIS_CONNECTION"),
|
|
@@ -55,10 +37,10 @@ export class CacheFactory {
|
|
|
55
37
|
constructor(settings) {
|
|
56
38
|
this.settings = settings;
|
|
57
39
|
}
|
|
58
|
-
|
|
40
|
+
setNamespace(namespace) {
|
|
59
41
|
return new CacheFactory({
|
|
60
42
|
...this.settings,
|
|
61
|
-
|
|
43
|
+
namespace,
|
|
62
44
|
});
|
|
63
45
|
}
|
|
64
46
|
setDefaultTtl(ttl) {
|
|
@@ -73,43 +55,35 @@ export class CacheFactory {
|
|
|
73
55
|
eventBus,
|
|
74
56
|
});
|
|
75
57
|
}
|
|
76
|
-
|
|
58
|
+
setLazyPromiseFactory(factory) {
|
|
77
59
|
return new CacheFactory({
|
|
78
60
|
...this.settings,
|
|
79
61
|
lazyPromiseFactory: factory,
|
|
80
62
|
});
|
|
81
63
|
}
|
|
64
|
+
setSchema(schema) {
|
|
65
|
+
return new CacheFactory({
|
|
66
|
+
...this.settings,
|
|
67
|
+
schema,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
setType() {
|
|
71
|
+
return new CacheFactory(this.settings);
|
|
72
|
+
}
|
|
82
73
|
/**
|
|
83
74
|
* @example
|
|
84
75
|
* ```ts
|
|
85
76
|
* import { CacheFactory } from "@daiso-tech/core/cache";
|
|
86
|
-
* import
|
|
87
|
-
* import { MemoryCacheAdapter, RedisCacheAdapter, SqliteCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
77
|
+
* import { MemoryCacheAdapter, RedisCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
88
78
|
* import { Serde } from "@daiso-tech/core/serde";
|
|
89
79
|
* import type { ISerde } from "@daiso-tech/core/serde/contracts";
|
|
90
80
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters";
|
|
91
|
-
* import {
|
|
81
|
+
* import { TimeSpan } from "@daiso-tech/core/utilities";
|
|
92
82
|
* import Redis from "ioredis"
|
|
93
|
-
* import Sqlite from "better-sqlite3";
|
|
94
|
-
*
|
|
95
|
-
* function cahceAdapterFactory(database: ISqliteDatabase, serde: ISerde<string>): AsyncFactoryFn<string, IDatabaseCacheAdapter> {
|
|
96
|
-
* return async (prefix) => {
|
|
97
|
-
* const cacheAdapter = new SqliteCacheAdapter({
|
|
98
|
-
* database,
|
|
99
|
-
* serde,
|
|
100
|
-
* tableName: `cache_${prefix}`
|
|
101
|
-
* });
|
|
102
|
-
* await cacheAdapter.init();
|
|
103
|
-
* return cacheAdapter;
|
|
104
|
-
* }
|
|
105
|
-
* }
|
|
106
83
|
*
|
|
107
|
-
* const database = new Sqlite("local.db");
|
|
108
84
|
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
109
85
|
* const cacheFactory = new CacheFactory({
|
|
110
|
-
* keyPrefixer: new KeyPrefixer("cache"),
|
|
111
86
|
* adapters: {
|
|
112
|
-
* sqlite: cahceAdapterFactory(database, serde),
|
|
113
87
|
* memory: new MemoryCacheAdapter(),
|
|
114
88
|
* redis: new RedisCacheAdapter({
|
|
115
89
|
* database: new Redis("YOUR_REDIS_CONNECTION"),
|
|
@@ -144,12 +118,12 @@ export class CacheFactory {
|
|
|
144
118
|
if (adapter === undefined) {
|
|
145
119
|
throw new UnregisteredAdapterError(adapterName);
|
|
146
120
|
}
|
|
147
|
-
const {
|
|
121
|
+
const { namespace = new Namespace(["@", "cache"]) } = this.settings;
|
|
148
122
|
return new Cache({
|
|
149
123
|
...this.settings,
|
|
150
124
|
adapter,
|
|
151
|
-
|
|
152
|
-
...resolveOneOrMore(
|
|
125
|
+
namespace: new Namespace([
|
|
126
|
+
...resolveOneOrMore(namespace._getInternal().original),
|
|
153
127
|
adapterName,
|
|
154
128
|
]),
|
|
155
129
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-factory.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache-factory/cache-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,6BAA6B,EAC7B,gBAAgB,EAChB,wBAAwB,GAG3B,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EACH,KAAK,GAGR,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cache-factory.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache-factory/cache-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,6BAA6B,EAC7B,gBAAgB,EAChB,wBAAwB,GAG3B,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EACH,KAAK,GAGR,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAiB,MAAM,gCAAgC,CAAC;AA2B1E;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IA0BA;IAvBrB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,YACqB,QAAgD;QAAhD,aAAQ,GAAR,QAAQ,CAAwC;IAClE,CAAC;IAEJ,YAAY,CAAC,SAAoB;QAC7B,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,aAAa,CAAC,GAAa;QACvB,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,UAAU,EAAE,GAAG;SAClB,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,QAAmB;QAC3B,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,OAAkD;QAElD,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,OAAO;SAC9B,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CACL,MAA2C;QAE3C,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,MAAM;SACT,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,IAAI,YAAY,CACnB,IAAI,CAAC,QAAwD,CAChE,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,EAAE,SAAS,GAAG,IAAI,SAAS,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpE,OAAO,IAAI,KAAK,CAAC;YACb,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO;YACP,SAAS,EAAE,IAAI,SAAS,CAAC;gBACrB,GAAG,gBAAgB,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;gBACtD,WAAW;aACd,CAAC;SACL,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -27,15 +27,14 @@ export type CacheTestSuiteSettings = {
|
|
|
27
27
|
* import { cacheTestSuite } from "@daiso-tech/core/cache/test-utilities";
|
|
28
28
|
* import { MemoryCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
29
29
|
* import { Cache } from "@daiso-tech/core/cache";
|
|
30
|
-
* import { KeyPrefixer } from "@daiso-tech/core/utilities";
|
|
31
30
|
*
|
|
32
31
|
* describe("class: Cache", () => {
|
|
33
32
|
* cacheTestSuite({
|
|
34
|
-
* createCache: () =>
|
|
35
|
-
* new Cache({
|
|
36
|
-
* keyPrefixer: new KeyPrefixer("cache"),
|
|
33
|
+
* createCache: () => {
|
|
34
|
+
* return new Cache({
|
|
37
35
|
* adapter: new MemoryCacheAdapter(),
|
|
38
|
-
* })
|
|
36
|
+
* });
|
|
37
|
+
* },
|
|
39
38
|
* test,
|
|
40
39
|
* beforeEach,
|
|
41
40
|
* expect,
|
|
@@ -17,15 +17,14 @@ import { LazyPromise } from "../../../async/_module-exports.js";
|
|
|
17
17
|
* import { cacheTestSuite } from "@daiso-tech/core/cache/test-utilities";
|
|
18
18
|
* import { MemoryCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
19
19
|
* import { Cache } from "@daiso-tech/core/cache";
|
|
20
|
-
* import { KeyPrefixer } from "@daiso-tech/core/utilities";
|
|
21
20
|
*
|
|
22
21
|
* describe("class: Cache", () => {
|
|
23
22
|
* cacheTestSuite({
|
|
24
|
-
* createCache: () =>
|
|
25
|
-
* new Cache({
|
|
26
|
-
* keyPrefixer: new KeyPrefixer("cache"),
|
|
23
|
+
* createCache: () => {
|
|
24
|
+
* return new Cache({
|
|
27
25
|
* adapter: new MemoryCacheAdapter(),
|
|
28
|
-
* })
|
|
26
|
+
* });
|
|
27
|
+
* },
|
|
29
28
|
* test,
|
|
30
29
|
* beforeEach,
|
|
31
30
|
* expect,
|