@nice-code/util 0.5.1 → 0.5.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.
package/build/index.js CHANGED
@@ -155,12 +155,18 @@ function createWebLocalStorageMethods(_localStorage) {
155
155
  }
156
156
  };
157
157
  }
158
- function createTypedWebLocalStorage(_localStorage, keyPrefix) {
158
+ var createWebLocalStorageAdapter = ({
159
+ localStorage: _localStorage,
160
+ ...options
161
+ }) => {
162
+ return new StorageAdapter({
163
+ methods: createWebLocalStorageMethods(_localStorage),
164
+ ...options
165
+ });
166
+ };
167
+ function createTypedWebLocalStorage(options) {
159
168
  return createTypedStorage({
160
- storageAdapter: new StorageAdapter({
161
- methods: createWebLocalStorageMethods(_localStorage),
162
- keyPrefix
163
- })
169
+ storageAdapter: createWebLocalStorageAdapter(options)
164
170
  });
165
171
  }
166
172
  function createWebSessionStorageMethods(_sessionStorage) {
@@ -175,12 +181,18 @@ function createWebSessionStorageMethods(_sessionStorage) {
175
181
  }
176
182
  };
177
183
  }
178
- function createTypedWebSessionStorage(_sessionStorage, keyPrefix) {
184
+ var createWebSessionStorageAdapter = ({
185
+ sessionStorage: _sessionStorage,
186
+ ...options
187
+ }) => {
188
+ return new StorageAdapter({
189
+ methods: createWebSessionStorageMethods(_sessionStorage),
190
+ ...options
191
+ });
192
+ };
193
+ function createTypedWebSessionStorage(options) {
179
194
  return createTypedStorage({
180
- storageAdapter: new StorageAdapter({
181
- methods: createWebSessionStorageMethods(_sessionStorage),
182
- keyPrefix
183
- })
195
+ storageAdapter: createWebSessionStorageAdapter(options)
184
196
  });
185
197
  }
186
198
  // src/storage_adapter/specific/durable_object/durable_object_storage.ts
@@ -194,6 +206,12 @@ function createDurableObjectStorageMethods(durableObjectStorage) {
194
206
  }
195
207
  };
196
208
  }
209
+ var createDurableObjectStorageAdapter = (durableObjectStorage, options) => {
210
+ return new StorageAdapter({
211
+ methods: createDurableObjectStorageMethods(durableObjectStorage),
212
+ ...options
213
+ });
214
+ };
197
215
  function createDurableObjectTypedStorage(durableObjectStorage, keyPrefix) {
198
216
  return createTypedStorage({
199
217
  storageAdapter: new StorageAdapter({
@@ -215,12 +233,15 @@ function createMemoryStorageMethods_string(memoryStorageMap = new Map) {
215
233
  }
216
234
  };
217
235
  }
218
- function createTypedMemoryStorage_string(memoryStorageMap = new Map, keyPrefix) {
236
+ var createMemoryStorageAdapter_string = (options) => {
237
+ return new StorageAdapter({
238
+ methods: createMemoryStorageMethods_string(options?.memoryStorageMap),
239
+ ...options
240
+ });
241
+ };
242
+ function createTypedMemoryStorage_string(options) {
219
243
  return createTypedStorage({
220
- storageAdapter: new StorageAdapter({
221
- methods: createMemoryStorageMethods_string(memoryStorageMap),
222
- keyPrefix
223
- })
244
+ storageAdapter: createMemoryStorageAdapter_string(options)
224
245
  });
225
246
  }
226
247
  function createMemoryStorageMethods_json(memoryStorageMap = new Map) {
@@ -235,17 +256,22 @@ function createMemoryStorageMethods_json(memoryStorageMap = new Map) {
235
256
  }
236
257
  };
237
258
  }
238
- function createTypedMemoryStorage_json(memoryStorageMap = new Map, keyPrefix) {
259
+ var createMemoryStorageAdapter_json = (options) => {
260
+ return new StorageAdapter({
261
+ methods: createMemoryStorageMethods_json(options?.memoryStorageMap),
262
+ ...options
263
+ });
264
+ };
265
+ function createTypedMemoryStorage_json(options) {
239
266
  return createTypedStorage({
240
- storageAdapter: new StorageAdapter({
241
- methods: createMemoryStorageMethods_json(memoryStorageMap),
242
- keyPrefix
243
- })
267
+ storageAdapter: createMemoryStorageAdapter_json(options)
244
268
  });
245
269
  }
246
270
  export {
247
271
  createWebSessionStorageMethods,
272
+ createWebSessionStorageAdapter,
248
273
  createWebLocalStorageMethods,
274
+ createWebLocalStorageAdapter,
249
275
  createTypedWebSessionStorage,
250
276
  createTypedWebLocalStorage,
251
277
  createTypedStorage,
@@ -253,8 +279,11 @@ export {
253
279
  createTypedMemoryStorage_json,
254
280
  createMemoryStorageMethods_string,
255
281
  createMemoryStorageMethods_json,
282
+ createMemoryStorageAdapter_string,
283
+ createMemoryStorageAdapter_json,
256
284
  createDurableObjectTypedStorage,
257
285
  createDurableObjectStorageMethods,
286
+ createDurableObjectStorageAdapter,
258
287
  StorageAdapter,
259
288
  EStorageAdapterType
260
289
  };
@@ -1,5 +1,5 @@
1
1
  import { type IStorageKeyGetterAndSetter, type TStorageAdapterMethods } from "./storage_adapter.types";
2
- interface IStorageAdapterConstructor {
2
+ export interface IStorageAdapterConstructor {
3
3
  methods: TStorageAdapterMethods;
4
4
  trackKeysForClearing?: boolean;
5
5
  keyPrefix?: string;
@@ -21,4 +21,3 @@ export declare class StorageAdapter {
21
21
  updateJsonOrDef<T>(rawKey: string, defVal: T, updater: (currentVal: T) => T): Promise<void>;
22
22
  createJsonGetterSetter<T>(rawKey: string): IStorageKeyGetterAndSetter<T>;
23
23
  }
24
- export {};
@@ -1,6 +1,26 @@
1
+ import { type IStorageAdapterConstructor, StorageAdapter } from "../../StorageAdapter";
1
2
  import { type IStorageAdapterMethods_String } from "../../storage_adapter.types";
2
3
  import { type ITypedStorage } from "../../typed_storage/createTypedStorage";
4
+ /**
5
+ *
6
+ * Web Storage [LOCAL STORAGE]
7
+ *
8
+ */
9
+ type TCreateWebLocalStorageOptions = Omit<IStorageAdapterConstructor, "methods"> & {
10
+ localStorage: typeof localStorage;
11
+ };
3
12
  export declare function createWebLocalStorageMethods(_localStorage: typeof localStorage): IStorageAdapterMethods_String;
4
- export declare function createTypedWebLocalStorage<T extends Record<string, any>>(_localStorage: typeof localStorage, keyPrefix?: string): ITypedStorage<T>;
13
+ export declare const createWebLocalStorageAdapter: ({ localStorage: _localStorage, ...options }: TCreateWebLocalStorageOptions) => StorageAdapter;
14
+ export declare function createTypedWebLocalStorage<T extends Record<string, any>>(options: TCreateWebLocalStorageOptions): ITypedStorage<T>;
15
+ /**
16
+ *
17
+ * Web Storage [SESSION STORAGE]
18
+ *
19
+ */
20
+ type TCreateWebSessionStorageOptions = Omit<IStorageAdapterConstructor, "methods"> & {
21
+ sessionStorage: typeof sessionStorage;
22
+ };
5
23
  export declare function createWebSessionStorageMethods(_sessionStorage: typeof sessionStorage): IStorageAdapterMethods_String;
6
- export declare function createTypedWebSessionStorage<T extends Record<string, any>>(_sessionStorage: typeof sessionStorage, keyPrefix?: string): ITypedStorage<T>;
24
+ export declare const createWebSessionStorageAdapter: ({ sessionStorage: _sessionStorage, ...options }: TCreateWebSessionStorageOptions) => StorageAdapter;
25
+ export declare function createTypedWebSessionStorage<T extends Record<string, any>>(options: TCreateWebSessionStorageOptions): ITypedStorage<T>;
26
+ export {};
@@ -1,5 +1,11 @@
1
+ import { type IStorageAdapterConstructor, StorageAdapter } from "../../StorageAdapter";
1
2
  import { type IStorageAdapterMethods_Json } from "../../storage_adapter.types";
2
3
  import { type ITypedStorage } from "../../typed_storage/createTypedStorage";
3
4
  import type { IDurableObjectStorage } from "./durable_object_storage.types";
4
5
  export declare function createDurableObjectStorageMethods(durableObjectStorage: IDurableObjectStorage): IStorageAdapterMethods_Json;
6
+ /**
7
+ * Wraps a Durable Object's storage in the generic StorageAdapter interface, e.g. for handing to a
8
+ * ClientCryptoKeyLink so it can persist its keys inside the DO's own storage.
9
+ */
10
+ export declare const createDurableObjectStorageAdapter: (durableObjectStorage: IDurableObjectStorage, options: Omit<IStorageAdapterConstructor, "methods">) => StorageAdapter;
5
11
  export declare function createDurableObjectTypedStorage<T extends Record<string, any>>(durableObjectStorage: IDurableObjectStorage, keyPrefix?: string): ITypedStorage<T>;
@@ -1,8 +1,28 @@
1
+ import { type IStorageAdapterConstructor, StorageAdapter } from "../../StorageAdapter";
1
2
  import { type IStorageAdapterMethods_Json, type IStorageAdapterMethods_String } from "../../storage_adapter.types";
2
3
  import { type ITypedStorage } from "../../typed_storage/createTypedStorage";
3
4
  export type TMemoryStorage_string = Map<string, string>;
4
5
  export type TMemoryStorage_json = Map<string, any>;
6
+ /**
7
+ *
8
+ * Memory Storage [STRING]
9
+ *
10
+ */
11
+ type TCreateMemoryStorageOptions_string = Omit<IStorageAdapterConstructor, "methods"> & {
12
+ memoryStorageMap?: TMemoryStorage_string;
13
+ };
5
14
  export declare function createMemoryStorageMethods_string(memoryStorageMap?: TMemoryStorage_string): IStorageAdapterMethods_String;
6
- export declare function createTypedMemoryStorage_string<T extends Record<string, any>>(memoryStorageMap?: TMemoryStorage_string, keyPrefix?: string): ITypedStorage<T>;
15
+ export declare const createMemoryStorageAdapter_string: (options?: TCreateMemoryStorageOptions_string) => StorageAdapter;
16
+ export declare function createTypedMemoryStorage_string<T extends Record<string, any>>(options?: TCreateMemoryStorageOptions_string): ITypedStorage<T>;
17
+ /**
18
+ *
19
+ * Memory Storage [JSON]
20
+ *
21
+ */
22
+ type TCreateMemoryStorageOptions_json = Omit<IStorageAdapterConstructor, "methods"> & {
23
+ memoryStorageMap?: TMemoryStorage_json;
24
+ };
7
25
  export declare function createMemoryStorageMethods_json(memoryStorageMap?: TMemoryStorage_json): IStorageAdapterMethods_Json;
8
- export declare function createTypedMemoryStorage_json<T extends Record<string, any>>(memoryStorageMap?: TMemoryStorage_json, keyPrefix?: string): ITypedStorage<T>;
26
+ export declare const createMemoryStorageAdapter_json: (options?: TCreateMemoryStorageOptions_json) => StorageAdapter;
27
+ export declare function createTypedMemoryStorage_json<T extends Record<string, any>>(options?: TCreateMemoryStorageOptions_json): ITypedStorage<T>;
28
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice-code/util",
3
- "version": "0.5.1",
3
+ "version": "0.5.3",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {