unikvs 0.0.4 → 0.0.5

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/src/unikvs.ts CHANGED
@@ -1,14 +1,13 @@
1
- import type { Context, IReadableStream, Key } from "@unikvs/core";
1
+ import type { Context, IReadableStream, IStorage } from "@unikvs/core";
2
2
  import { asyncmux, Asyncmux, type AsyncmuxLock } from "asyncmux";
3
- import * as v from "valibot";
4
3
 
5
4
  import combineSignals from "./_combine-signals.js";
6
5
  import logger from "./_logger.js";
7
6
  import mergeContext from "./_merge-context.js";
8
- import { UniKvsStorage } from "./_storage.js";
7
+ import UniKvsStorage from "./_storage.js";
9
8
  import toValueStream from "./_to-value-stream.js";
10
9
  import UniKvsTransformer from "./_transformer.js";
11
- import { parse } from "./_valibot.js";
10
+ import * as v from "./_valibot.js";
12
11
  import type { ContextSource } from "./context.types.js";
13
12
  import {
14
13
  KeyNotFoundError,
@@ -138,7 +137,7 @@ export type SetOptions<
138
137
  *
139
138
  * @template TKey 対象となるキーの型です。
140
139
  */
141
- export type GetOptions<TKey = Key> = {
140
+ export type GetOptions<TKey = IStorage.Key> = {
142
141
  /**
143
142
  * 操作対象を識別するためのキーです。
144
143
  */
@@ -160,7 +159,7 @@ export type GetOptions<TKey = Key> = {
160
159
  *
161
160
  * @template TKey 対象となるキーの型です。
162
161
  */
163
- export type StreamOptions<TKey = Key> = {
162
+ export type StreamOptions<TKey = IStorage.Key> = {
164
163
  /**
165
164
  * 操作対象を識別するためのキーです。
166
165
  */
@@ -182,7 +181,7 @@ export type StreamOptions<TKey = Key> = {
182
181
  *
183
182
  * @template TKey 対象となるキーの型です。
184
183
  */
185
- export type HasOptions<TKey = Key> = {
184
+ export type HasOptions<TKey = IStorage.Key> = {
186
185
  /**
187
186
  * 操作対象を識別するためのキーです。
188
187
  */
@@ -204,7 +203,7 @@ export type HasOptions<TKey = Key> = {
204
203
  *
205
204
  * @template TKey 対象となるキーの型です。
206
205
  */
207
- export type DeleteOptions<TKey = Key> = {
206
+ export type DeleteOptions<TKey = IStorage.Key> = {
208
207
  /**
209
208
  * 操作対象を識別するためのキーです。
210
209
  */
@@ -359,7 +358,7 @@ const ioLockRegistry: FinalizationRegistry<AsyncmuxLock> | null =
359
358
  ? null
360
359
  : new FinalizationRegistry((lock) => {
361
360
  try {
362
- lock.unlock();
361
+ lock.release();
363
362
  } catch {}
364
363
  });
365
364
 
@@ -486,7 +485,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
486
485
  ioMux: new Asyncmux(),
487
486
  };
488
487
  try {
489
- const [options = {}] = parse(OpenArgsSchema, args);
488
+ const [options = {}] = v.parseInput(OpenArgsSchema, args);
490
489
  const { signal: signalOption, context: contextOption } = options;
491
490
 
492
491
  const { conAc } = this.#con;
@@ -567,7 +566,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
567
566
 
568
567
  throw ex;
569
568
  } finally {
570
- lock.unlock();
569
+ lock.release();
571
570
  }
572
571
  } catch (ex) {
573
572
  this.#con = null;
@@ -588,7 +587,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
588
587
  throw new UniKvsIsNotOpenError();
589
588
  }
590
589
 
591
- const [options = {}] = parse(CloseArgsSchema, args);
590
+ const [options = {}] = v.parseInput(CloseArgsSchema, args);
592
591
  const { signal = AbortSignal.timeout(10e3), context: contextOption } = options;
593
592
 
594
593
  const context = mergeContext(this.#context, contextOption);
@@ -643,11 +642,11 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
643
642
  throw new PluginOperationAggregateError({ action: "close", errors });
644
643
  }
645
644
  } finally {
646
- lock.unlock();
645
+ lock.release();
647
646
  }
648
647
  } finally {
649
648
  this.#con = null;
650
- lock.unlock();
649
+ lock.release();
651
650
  }
652
651
  }
653
652
 
@@ -692,7 +691,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
692
691
  throw new UniKvsIsNotOpenError();
693
692
  }
694
693
 
695
- const [options] = parse(SetArgsSchema, args);
694
+ const [options] = v.parseInput(SetArgsSchema, args);
696
695
  const { key, value, signal: signalOption, context: contextOption } = options;
697
696
 
698
697
  const { conAc, ioMux } = this.#con;
@@ -739,7 +738,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
739
738
  }),
740
739
  );
741
740
  } finally {
742
- lock.unlock();
741
+ lock.release();
743
742
  }
744
743
  } else {
745
744
  // 登録されているトランスフォーマーを順番に適用してデータをエンコードします。
@@ -761,7 +760,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
761
760
  }),
762
761
  );
763
762
  } finally {
764
- lock.unlock();
763
+ lock.release();
765
764
  }
766
765
  }
767
766
 
@@ -795,7 +794,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
795
794
  throw error;
796
795
  }
797
796
  } finally {
798
- lock.unlock();
797
+ lock.release();
799
798
  }
800
799
  }
801
800
 
@@ -828,7 +827,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
828
827
  throw new UniKvsIsNotOpenError();
829
828
  }
830
829
 
831
- const [options] = parse(GetArgsSchema, args);
830
+ const [options] = v.parseInput(GetArgsSchema, args);
832
831
  const { key, signal: signalOption, context: contextOption } = options;
833
832
 
834
833
  const { conAc, ioMux } = this.#con;
@@ -846,7 +845,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
846
845
  }
847
846
 
848
847
  const NONE = {};
849
- let data = NONE;
848
+ let data: any = NONE;
850
849
 
851
850
  const lock = await ioMux.rLock({ key, signal });
852
851
  try {
@@ -858,7 +857,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
858
857
  }
859
858
  }
860
859
  } finally {
861
- lock.unlock();
860
+ lock.release();
862
861
  }
863
862
 
864
863
  if (data === NONE) {
@@ -874,7 +873,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
874
873
 
875
874
  return data;
876
875
  } finally {
877
- lock.unlock();
876
+ lock.release();
878
877
  }
879
878
  }
880
879
 
@@ -907,7 +906,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
907
906
  throw new UniKvsIsNotOpenError();
908
907
  }
909
908
 
910
- const [options] = parse(StreamArgsSchema, args);
909
+ const [options] = v.parseInput(StreamArgsSchema, args);
911
910
  const { key, signal: signalOption, context: contextOption } = options;
912
911
 
913
912
  const { conAc, ioMux } = this.#con;
@@ -955,7 +954,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
955
954
  await r.cancel();
956
955
  } catch {}
957
956
  try {
958
- lock.unlock();
957
+ lock.release();
959
958
  } catch {}
960
959
  });
961
960
  }
@@ -969,7 +968,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
969
968
  await r.cancel();
970
969
  } catch {}
971
970
  try {
972
- lock.unlock();
971
+ lock.release();
973
972
  } catch {}
974
973
  });
975
974
 
@@ -978,11 +977,11 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
978
977
 
979
978
  return valueStream;
980
979
  } catch (ex) {
981
- lock.unlock();
980
+ lock.release();
982
981
  throw ex;
983
982
  }
984
983
  } finally {
985
- lock.unlock();
984
+ lock.release();
986
985
  }
987
986
  }
988
987
 
@@ -1011,7 +1010,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
1011
1010
  throw new UniKvsIsNotOpenError();
1012
1011
  }
1013
1012
 
1014
- const [options] = parse(HasArgsSchema, args);
1013
+ const [options] = v.parseInput(HasArgsSchema, args);
1015
1014
  const { key, signal: signalOption, context: contextOption } = options;
1016
1015
 
1017
1016
  const { conAc, ioMux } = this.#con;
@@ -1039,10 +1038,10 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
1039
1038
 
1040
1039
  return false;
1041
1040
  } finally {
1042
- lock.unlock();
1041
+ lock.release();
1043
1042
  }
1044
1043
  } finally {
1045
- lock.unlock();
1044
+ lock.release();
1046
1045
  }
1047
1046
  }
1048
1047
 
@@ -1071,7 +1070,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
1071
1070
  throw new UniKvsIsNotOpenError();
1072
1071
  }
1073
1072
 
1074
- const [options] = parse(DeleteArgsSchema, args);
1073
+ const [options] = v.parseInput(DeleteArgsSchema, args);
1075
1074
  const { key, signal: signalOption, context: contextOption } = options;
1076
1075
 
1077
1076
  const { conAc, ioMux } = this.#con;
@@ -1108,10 +1107,10 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
1108
1107
  throw new PluginOperationAggregateError({ plugin: "storage", action: "delete", errors });
1109
1108
  }
1110
1109
  } finally {
1111
- lock.unlock();
1110
+ lock.release();
1112
1111
  }
1113
1112
  } finally {
1114
- lock.unlock();
1113
+ lock.release();
1115
1114
  }
1116
1115
  }
1117
1116
 
@@ -1128,7 +1127,7 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
1128
1127
  throw new UniKvsIsNotOpenError();
1129
1128
  }
1130
1129
 
1131
- const [options = {}] = parse(ClearArgsSchema, args);
1130
+ const [options = {}] = v.parseInput(ClearArgsSchema, args);
1132
1131
  const { signal: signalOption, context: contextOption } = options;
1133
1132
 
1134
1133
  const { conAc, ioMux } = this.#con;
@@ -1162,10 +1161,10 @@ export default class UniKvs<TKeyValueMapping extends KeyValueMapping = KeyValueM
1162
1161
  throw new PluginOperationAggregateError({ plugin: "storage", action: "clear", errors });
1163
1162
  }
1164
1163
  } finally {
1165
- lock.unlock();
1164
+ lock.release();
1166
1165
  }
1167
1166
  } finally {
1168
- lock.unlock();
1167
+ lock.release();
1169
1168
  }
1170
1169
  }
1171
1170
  }