unikvs 0.0.2 → 0.0.3

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 (95) hide show
  1. package/LICENSE +21 -0
  2. package/dist/src/core/_assign-context.d.ts +3 -0
  3. package/dist/src/core/_assign-context.d.ts.map +1 -0
  4. package/dist/src/core/_assign-context.js +3 -0
  5. package/dist/src/core/_combine-signals.d.ts +3 -0
  6. package/dist/src/core/_combine-signals.d.ts.map +1 -0
  7. package/dist/src/core/_combine-signals.js +34 -0
  8. package/dist/src/core/_is-iterable.d.ts +2 -0
  9. package/dist/src/core/_is-iterable.d.ts.map +1 -0
  10. package/dist/src/core/_is-iterable.js +3 -0
  11. package/dist/src/core/_is-plain-object.d.ts +2 -0
  12. package/dist/src/core/_is-plain-object.d.ts.map +1 -0
  13. package/dist/src/core/_is-plain-object.js +7 -0
  14. package/dist/src/core/_logger.d.ts +3 -0
  15. package/dist/src/core/_logger.d.ts.map +1 -0
  16. package/dist/src/core/_logger.js +3 -0
  17. package/dist/src/core/_merge-context.d.ts +3 -0
  18. package/dist/src/core/_merge-context.d.ts.map +1 -0
  19. package/dist/src/core/_merge-context.js +4 -0
  20. package/dist/src/core/_to-context.d.ts +7 -0
  21. package/dist/src/core/_to-context.d.ts.map +1 -0
  22. package/dist/src/core/_to-context.js +42 -0
  23. package/dist/src/core/_to-value-stream.d.ts +4 -0
  24. package/dist/src/core/_to-value-stream.d.ts.map +1 -0
  25. package/dist/src/core/_to-value-stream.js +38 -0
  26. package/dist/src/core/_with-readable-stream-from.d.ts +6 -0
  27. package/dist/src/core/_with-readable-stream-from.d.ts.map +1 -0
  28. package/dist/src/core/_with-readable-stream-from.js +58 -0
  29. package/dist/src/core/context.types.d.ts +5 -0
  30. package/dist/src/core/context.types.d.ts.map +1 -0
  31. package/dist/src/core/context.types.js +1 -0
  32. package/dist/src/core/errors.d.ts +13 -0
  33. package/dist/src/core/errors.d.ts.map +1 -0
  34. package/dist/src/core/errors.js +20 -0
  35. package/dist/src/core/index.d.ts +15 -0
  36. package/dist/src/core/index.d.ts.map +1 -0
  37. package/dist/src/core/index.js +4 -0
  38. package/dist/src/core/plugin.types.d.ts +8 -0
  39. package/dist/src/core/plugin.types.d.ts.map +1 -0
  40. package/dist/src/core/plugin.types.js +1 -0
  41. package/dist/src/core/storage.types.d.ts +22 -0
  42. package/dist/src/core/storage.types.d.ts.map +1 -0
  43. package/dist/src/core/storage.types.js +1 -0
  44. package/dist/src/core/to-readable-stream.d.ts +2 -0
  45. package/dist/src/core/to-readable-stream.d.ts.map +1 -0
  46. package/dist/src/core/to-readable-stream.js +4 -0
  47. package/dist/src/core/transformer.types.d.ts +18 -0
  48. package/dist/src/core/transformer.types.d.ts.map +1 -0
  49. package/dist/src/core/transformer.types.js +1 -0
  50. package/dist/src/core/unikvs-config.d.ts +82 -0
  51. package/dist/src/core/unikvs-config.d.ts.map +1 -0
  52. package/dist/src/core/unikvs-config.js +49 -0
  53. package/dist/src/core/unikvs.d.ts +73 -0
  54. package/dist/src/core/unikvs.d.ts.map +1 -0
  55. package/dist/src/core/unikvs.js +678 -0
  56. package/dist/src/core/utils.types.d.ts +3 -0
  57. package/dist/src/core/utils.types.d.ts.map +1 -0
  58. package/dist/src/core/utils.types.js +1 -0
  59. package/dist/src/core/value-stream.types.d.ts +4 -0
  60. package/dist/src/core/value-stream.types.d.ts.map +1 -0
  61. package/dist/src/core/value-stream.types.js +1 -0
  62. package/dist/src/destinations/memory-storage.d.ts +17 -0
  63. package/dist/src/destinations/memory-storage.d.ts.map +1 -0
  64. package/dist/src/destinations/memory-storage.js +113 -0
  65. package/dist/src/types/storage.d.ts +5 -0
  66. package/dist/src/types/storage.d.ts.map +1 -0
  67. package/dist/src/types/storage.js +1 -0
  68. package/dist/src/types/transformer.d.ts +5 -0
  69. package/dist/src/types/transformer.d.ts.map +1 -0
  70. package/dist/src/types/transformer.js +1 -0
  71. package/package.json +69 -6
  72. package/src/core/_assign-context.ts +5 -0
  73. package/src/core/_combine-signals.ts +40 -0
  74. package/src/core/_is-iterable.ts +3 -0
  75. package/src/core/_is-plain-object.ts +11 -0
  76. package/src/core/_logger.ts +5 -0
  77. package/src/core/_merge-context.ts +9 -0
  78. package/src/core/_to-context.ts +59 -0
  79. package/src/core/_to-value-stream.ts +41 -0
  80. package/src/core/_with-readable-stream-from.ts +70 -0
  81. package/src/core/context.types.ts +7 -0
  82. package/src/core/errors.ts +37 -0
  83. package/src/core/index.ts +23 -0
  84. package/src/core/plugin.types.ts +10 -0
  85. package/src/core/storage.types.ts +53 -0
  86. package/src/core/to-readable-stream.ts +7 -0
  87. package/src/core/transformer.types.ts +110 -0
  88. package/src/core/unikvs-config.ts +230 -0
  89. package/src/core/unikvs.ts +740 -0
  90. package/src/core/utils.types.ts +3 -0
  91. package/src/core/value-stream.types.ts +3 -0
  92. package/src/destinations/memory-storage.ts +160 -0
  93. package/src/types/storage.ts +5 -0
  94. package/src/types/transformer.ts +5 -0
  95. package/README.md +0 -45
@@ -0,0 +1,49 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _UniKvsConfig_UniKvs, _UniKvsConfig_context, _UniKvsConfig_destinations, _UniKvsConfig_transformers;
13
+ import toContext from "./_to-context.js";
14
+ class UniKvsConfig {
15
+ constructor(UniKvsConstructor) {
16
+ _UniKvsConfig_UniKvs.set(this, void 0);
17
+ _UniKvsConfig_context.set(this, void 0);
18
+ _UniKvsConfig_destinations.set(this, void 0);
19
+ _UniKvsConfig_transformers.set(this, void 0);
20
+ __classPrivateFieldSet(this, _UniKvsConfig_UniKvs, UniKvsConstructor, "f");
21
+ __classPrivateFieldSet(this, _UniKvsConfig_context, {}, "f");
22
+ __classPrivateFieldSet(this, _UniKvsConfig_destinations, [], "f");
23
+ __classPrivateFieldSet(this, _UniKvsConfig_transformers, [], "f");
24
+ }
25
+ create() {
26
+ const [dest, ...destinations] = __classPrivateFieldGet(this, _UniKvsConfig_destinations, "f");
27
+ if (!dest) {
28
+ throw new Error("UniKvs を使用するためには最低 1 つのストレージが必要です。");
29
+ }
30
+ return new (__classPrivateFieldGet(this, _UniKvsConfig_UniKvs, "f"))({ ...__classPrivateFieldGet(this, _UniKvsConfig_context, "f") }, [dest, ...destinations], __classPrivateFieldGet(this, _UniKvsConfig_transformers, "f").slice());
31
+ }
32
+ setContext(context) {
33
+ __classPrivateFieldSet(this, _UniKvsConfig_context, toContext(context, { copy: true }), "f");
34
+ return this;
35
+ }
36
+ appendStorage(storage) {
37
+ __classPrivateFieldGet(this, _UniKvsConfig_destinations, "f").push(storage);
38
+ return this;
39
+ }
40
+ appendTransformer(transformer) {
41
+ if (__classPrivateFieldGet(this, _UniKvsConfig_destinations, "f").length > 0) {
42
+ throw new Error("ストレージが登録された後にトランスフォーマーを追加することはできません。");
43
+ }
44
+ __classPrivateFieldGet(this, _UniKvsConfig_transformers, "f").push(transformer);
45
+ return this;
46
+ }
47
+ }
48
+ _UniKvsConfig_UniKvs = new WeakMap(), _UniKvsConfig_context = new WeakMap(), _UniKvsConfig_destinations = new WeakMap(), _UniKvsConfig_transformers = new WeakMap();
49
+ export default UniKvsConfig;
@@ -0,0 +1,73 @@
1
+ import type { Context, ContextSource } from "./context.types.js";
2
+ import type { IStorage, Key } from "./storage.types.js";
3
+ import type { ITransformer } from "./transformer.types.js";
4
+ import { type $InferPlainValueData, type $InferStreamValueChunkData, type IUniKvsConfigBuilder, type KeyofKeyValueMapping, type KeyValueMapping, type PlainValue, type StreamValue, type Value } from "./unikvs-config.js";
5
+ import type { ValueOf } from "./utils.types.js";
6
+ import type { ValueStream } from "./value-stream.types.js";
7
+ export type InputValue<TValue extends Value> = $InferPlainValueData<TValue> | (TValue extends StreamValue<infer TChunkData> ? ReadableStream<TChunkData> : never);
8
+ export type KeyofKeyValueMappingHasPlainValue<TKeyValueMapping extends KeyValueMapping> = ValueOf<{
9
+ [TKey in KeyofKeyValueMapping<TKeyValueMapping>]: PlainValue extends TKeyValueMapping[TKey] ? TKey : never;
10
+ }>;
11
+ export type KeyofKeyValueMappingHasStreamValue<TKeyValueMapping extends KeyValueMapping> = ValueOf<{
12
+ [TKey in KeyofKeyValueMapping<TKeyValueMapping>]: StreamValue extends TKeyValueMapping[TKey] ? TKey : never;
13
+ }>;
14
+ export type OpenOptions = {
15
+ readonly signal?: AbortSignal | undefined;
16
+ };
17
+ export type CloseOptions = {
18
+ readonly signal?: AbortSignal | undefined;
19
+ };
20
+ export type SetOptions<TKeyValueMapping extends KeyValueMapping = KeyValueMapping, TKey extends KeyofKeyValueMapping<TKeyValueMapping> = KeyofKeyValueMapping<TKeyValueMapping>> = {
21
+ readonly key: TKey;
22
+ readonly value: InputValue<TKeyValueMapping[TKey]>;
23
+ readonly signal?: AbortSignal | undefined;
24
+ readonly context?: Context | ContextSource | undefined;
25
+ };
26
+ export type GetOptions<TKey = Key> = {
27
+ readonly key: TKey;
28
+ readonly signal?: AbortSignal | undefined;
29
+ readonly context?: Context | ContextSource | undefined;
30
+ };
31
+ export type StreamOptions<TKey = Key> = {
32
+ readonly key: TKey;
33
+ readonly signal?: AbortSignal | undefined;
34
+ readonly context?: Context | ContextSource | undefined;
35
+ };
36
+ export type HasOptions<TKey = Key> = {
37
+ readonly key: TKey;
38
+ readonly signal?: AbortSignal | undefined;
39
+ readonly context?: Context | ContextSource | undefined;
40
+ };
41
+ export type DeleteOptions<TKey = Key> = {
42
+ readonly key: TKey;
43
+ readonly signal?: AbortSignal | undefined;
44
+ readonly context?: Context | ContextSource | undefined;
45
+ };
46
+ export type ClearOptions = {
47
+ readonly signal?: AbortSignal | undefined;
48
+ readonly context?: Context | ContextSource | undefined;
49
+ };
50
+ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueMapping> {
51
+ #private;
52
+ static config<TKeyValueMapping extends KeyValueMapping>(): IUniKvsConfigBuilder<TKeyValueMapping>;
53
+ constructor(context: Readonly<Context>, destinations: readonly [IStorage, ...IStorage[]], transformers: readonly ITransformer[]);
54
+ get isOpen(): boolean;
55
+ open(signal?: AbortSignal): Promise<void>;
56
+ open(options?: OpenOptions): Promise<void>;
57
+ open(signalOrOptions?: AbortSignal | OpenOptions): Promise<void>;
58
+ close(signal?: AbortSignal): Promise<void>;
59
+ close(options?: CloseOptions): Promise<void>;
60
+ close(signalOrOptions?: AbortSignal | CloseOptions): Promise<void>;
61
+ set<const TKey extends KeyofKeyValueMapping<TKeyValueMapping>>(key: TKey, value: InputValue<TKeyValueMapping[TKey]>, options?: Omit<SetOptions, "key" | "value">): Promise<void>;
62
+ set<const TKey extends KeyofKeyValueMapping<TKeyValueMapping>>(options: SetOptions<TKeyValueMapping, TKey>): Promise<void>;
63
+ get<const TKey extends KeyofKeyValueMappingHasPlainValue<TKeyValueMapping>>(key: TKey, options?: Omit<GetOptions, "key">): Promise<$InferPlainValueData<TKeyValueMapping[TKey]>>;
64
+ get<const TKey extends KeyofKeyValueMappingHasPlainValue<TKeyValueMapping>>(options: GetOptions<TKey>): Promise<$InferPlainValueData<TKeyValueMapping[TKey]>>;
65
+ stream<const TKey extends KeyofKeyValueMappingHasStreamValue<TKeyValueMapping>>(key: TKey, options?: Omit<StreamOptions, "key">): Promise<ValueStream<$InferStreamValueChunkData<TKeyValueMapping[TKey]>>>;
66
+ stream<const TKey extends KeyofKeyValueMappingHasStreamValue<TKeyValueMapping>>(options: StreamOptions<TKey>): Promise<ValueStream<$InferStreamValueChunkData<TKeyValueMapping[TKey]>>>;
67
+ has(key: KeyofKeyValueMapping<TKeyValueMapping>, options?: Omit<HasOptions, "key">): Promise<boolean>;
68
+ has(options: HasOptions<KeyofKeyValueMapping<TKeyValueMapping>>): Promise<boolean>;
69
+ delete(key: KeyofKeyValueMapping<TKeyValueMapping>, options?: Omit<DeleteOptions, "key">): Promise<void>;
70
+ delete(options: DeleteOptions<KeyofKeyValueMapping<TKeyValueMapping>>): Promise<void>;
71
+ clear(options?: ClearOptions): Promise<void>;
72
+ }
73
+ //# sourceMappingURL=unikvs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unikvs.d.ts","sourceRoot":"","sources":["../../../src/core/unikvs.ts"],"names":[],"mappings":"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"}