/ packages / store / jollytoad.ts
jollytoad.ts
 1  import type { StorageModule } from "@jollytoad/store-common/types";
 2  import { getItem, setItem, setStore } from "@jollytoad/store";
 3  import { AbstractStore } from "./abstract.ts";
 4  
 5  export class JollyToadStore extends AbstractStore {
 6    constructor(
 7      storageModule: StorageModule | Promise<StorageModule> = import(
 8        "$store"
 9      ),
10    ) {
11      super();
12      setStore(storageModule);
13    }
14  
15    async get(
16      key: Uint8Array,
17    ): Promise<Uint8Array | undefined> {
18      const result = await getItem(Array.from(key));
19      if (Array.isArray(result)) {
20        return new Uint8Array(result);
21      }
22    }
23  
24    set(key: Uint8Array, value: Uint8Array): Promise<void> {
25      return setItem(Array.from(key), Array.from(value));
26    }
27  }