@daiso-tech/core 0.5.0 → 0.6.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.
Files changed (39) hide show
  1. package/dist/cjs/storage/memory-storage-adapter/memory-storage-adapter.js +23 -0
  2. package/dist/cjs/storage/memory-storage-adapter/memory-storage-adapter.js.map +1 -1
  3. package/dist/cjs/storage/mongodb-storage-adapter/mongodb-storage-adapter.js +0 -70
  4. package/dist/cjs/storage/mongodb-storage-adapter/mongodb-storage-adapter.js.map +1 -1
  5. package/dist/cjs/storage/namespace-storage-adapter.js +11 -21
  6. package/dist/cjs/storage/namespace-storage-adapter.js.map +1 -1
  7. package/dist/cjs/storage/redis-storage-adapter/redis-storage-adapter.js +0 -20
  8. package/dist/cjs/storage/redis-storage-adapter/redis-storage-adapter.js.map +1 -1
  9. package/dist/cjs/storage/sqlite/_shared/base-sqlite-storage-adapter.js +0 -34
  10. package/dist/cjs/storage/sqlite/_shared/base-sqlite-storage-adapter.js.map +1 -1
  11. package/dist/cjs/storage/storage.js +104 -188
  12. package/dist/cjs/storage/storage.js.map +1 -1
  13. package/dist/esm/storage/memory-storage-adapter/memory-storage-adapter.js +23 -0
  14. package/dist/esm/storage/memory-storage-adapter/memory-storage-adapter.js.map +1 -1
  15. package/dist/esm/storage/mongodb-storage-adapter/mongodb-storage-adapter.js +0 -70
  16. package/dist/esm/storage/mongodb-storage-adapter/mongodb-storage-adapter.js.map +1 -1
  17. package/dist/esm/storage/namespace-storage-adapter.js +11 -21
  18. package/dist/esm/storage/namespace-storage-adapter.js.map +1 -1
  19. package/dist/esm/storage/redis-storage-adapter/redis-storage-adapter.js +0 -20
  20. package/dist/esm/storage/redis-storage-adapter/redis-storage-adapter.js.map +1 -1
  21. package/dist/esm/storage/sqlite/_shared/base-sqlite-storage-adapter.js +0 -34
  22. package/dist/esm/storage/sqlite/_shared/base-sqlite-storage-adapter.js.map +1 -1
  23. package/dist/esm/storage/storage.js +105 -189
  24. package/dist/esm/storage/storage.js.map +1 -1
  25. package/dist/types/_shared/types.d.ts +0 -4
  26. package/dist/types/contracts/storage/storage-adapter.contract.d.ts +7 -26
  27. package/dist/types/contracts/storage/storage.contract.d.ts +22 -22
  28. package/dist/types/storage/memory-storage-adapter/memory-storage-adapter.d.ts +2 -0
  29. package/dist/types/storage/mongodb-storage-adapter/mongodb-storage-adapter.d.ts +0 -3
  30. package/dist/types/storage/namespace-storage-adapter.d.ts +2 -7
  31. package/dist/types/storage/redis-storage-adapter/redis-storage-adapter.d.ts +0 -3
  32. package/dist/types/storage/sqlite/_shared/base-sqlite-storage-adapter.d.ts +0 -3
  33. package/dist/types/storage/storage.d.ts +24 -23
  34. package/package.json +1 -1
  35. package/dist/cjs/storage/usable-storage-adapter.js +0 -102
  36. package/dist/cjs/storage/usable-storage-adapter.js.map +0 -1
  37. package/dist/esm/storage/usable-storage-adapter.js +0 -98
  38. package/dist/esm/storage/usable-storage-adapter.js.map +0 -1
  39. package/dist/types/storage/usable-storage-adapter.d.ts +0 -22
@@ -1,98 +0,0 @@
1
- import { simplifyAsyncLazyable } from "../_shared/utilities";
2
- import { TypeStorageError, UnexpectedStorageError, } from "../contracts/storage/_module";
3
- export class UsableStorageAdapter {
4
- storageAdapter;
5
- constructor(storageAdapter) {
6
- this.storageAdapter = storageAdapter;
7
- }
8
- async existsMany(keys) {
9
- if (this.storageAdapter.existsMany !== undefined) {
10
- return await this.storageAdapter.existsMany(keys);
11
- }
12
- const getResult = await this.getMany(keys);
13
- const results = {};
14
- for (const key in getResult) {
15
- results[key] = getResult[key] !== null;
16
- }
17
- return results;
18
- }
19
- async getMany(keys) {
20
- return await this.storageAdapter.getMany(keys);
21
- }
22
- async addMany(values) {
23
- return await this.storageAdapter.addMany(values);
24
- }
25
- async updateMany(values) {
26
- return await this.storageAdapter.updateMany(values);
27
- }
28
- async putMany(values) {
29
- if (this.storageAdapter.putMany !== undefined) {
30
- return await this.storageAdapter.putMany(values);
31
- }
32
- const removeResults = await this.removeMany(Object.keys(values));
33
- await this.addMany(values);
34
- return removeResults;
35
- }
36
- async removeMany(keys) {
37
- return await this.storageAdapter.removeMany(keys);
38
- }
39
- async increment(key, value) {
40
- if (this.storageAdapter.increment !== undefined) {
41
- return await this.storageAdapter.increment(key, value);
42
- }
43
- const { [key]: previousValue } = await this.getMany([key]);
44
- if (previousValue === undefined) {
45
- throw new UnexpectedStorageError(`Destructed field "key" is undefined`);
46
- }
47
- if (previousValue === null) {
48
- return false;
49
- }
50
- if (typeof previousValue !== "number") {
51
- throw new TypeStorageError(`Unable to increment or decrement none number type key "${key}"`);
52
- }
53
- const newValue = previousValue + value;
54
- await this.updateMany({
55
- [key]: newValue,
56
- });
57
- return true;
58
- }
59
- async getAndRemove(key) {
60
- if (this.storageAdapter.getAndRemove !== undefined) {
61
- return await this.storageAdapter.getAndRemove(key);
62
- }
63
- const { [key]: value } = await this.getMany([key]);
64
- if (value === undefined) {
65
- throw new UnexpectedStorageError(`Destructed field "key" is undefined`);
66
- }
67
- await this.removeMany([key]);
68
- return value;
69
- }
70
- async getOrAdd(key, valueToAdd) {
71
- if (typeof valueToAdd !== "function" &&
72
- this.storageAdapter.getOrAdd !== undefined) {
73
- return await this.storageAdapter.getOrAdd(key, valueToAdd);
74
- }
75
- const { [key]: value } = await this.getMany([key]);
76
- if (value === undefined) {
77
- throw new UnexpectedStorageError(`Destructed field "key" is undefined`);
78
- }
79
- if (value === null) {
80
- const valueToAddSimplified = await simplifyAsyncLazyable(valueToAdd);
81
- await this.addMany({
82
- [key]: valueToAddSimplified,
83
- });
84
- return {
85
- hasKey: false,
86
- value: valueToAddSimplified,
87
- };
88
- }
89
- return {
90
- hasKey: true,
91
- value,
92
- };
93
- }
94
- async clear(prefix) {
95
- await this.storageAdapter.clear(prefix);
96
- }
97
- }
98
- //# sourceMappingURL=usable-storage-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usable-storage-adapter.js","sourceRoot":"","sources":["../../../src/storage/usable-storage-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- /**
2
- * @module Storage
3
- */
4
- import type { AsyncLazyable, GetOrAddResult } from "../_shared/types";
5
- import { type IStorageAdapter } from "../contracts/storage/_module";
6
- /**
7
- * @internal
8
- */
9
- export declare class UsableStorageAdapter<TType> implements Required<Omit<IStorageAdapter<TType>, "getOrAdd">> {
10
- private readonly storageAdapter;
11
- constructor(storageAdapter: IStorageAdapter<TType>);
12
- existsMany<TKeys extends string>(keys: TKeys[]): Promise<Record<TKeys, boolean>>;
13
- getMany<TValues extends TType, TKeys extends string>(keys: TKeys[]): Promise<Record<TKeys, TValues | null>>;
14
- addMany<TValues extends TType, TKeys extends string>(values: Record<TKeys, TValues>): Promise<Record<TKeys, boolean>>;
15
- updateMany<TValues extends TType, TKeys extends string>(values: Record<TKeys, TValues>): Promise<Record<TKeys, boolean>>;
16
- putMany<TValues extends TType, TKeys extends string>(values: Record<TKeys, TValues>): Promise<Record<TKeys, boolean>>;
17
- removeMany<TKeys extends string>(keys: TKeys[]): Promise<Record<TKeys, boolean>>;
18
- increment(key: string, value: number): Promise<boolean>;
19
- getAndRemove<TValue extends TType>(key: string): Promise<TValue | null>;
20
- getOrAdd<TValue extends TType, TExtended extends TType>(key: string, valueToAdd: AsyncLazyable<TExtended>): Promise<GetOrAddResult<TValue | TExtended>>;
21
- clear(prefix: string): Promise<void>;
22
- }