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 }