accounts
Version:
Tempo Accounts SDK
42 lines • 1.97 kB
TypeScript
import type { MaybePromise } from '../internal/types.js';
/** Pluggable storage adapter for persisting provider state. */
export type Storage = {
getItem: <value>(name: string) => MaybePromise<value | null>;
setItem: (name: string, value: unknown) => MaybePromise<void>;
removeItem: (name: string) => MaybePromise<void>;
};
/** Creates a storage adapter from a custom implementation, optionally scoping all keys under a prefix. */
export declare function from(storage: Storage, options?: from.Options): Storage;
export declare namespace from {
type Options = {
/** Key prefix for all stored items. @default "tempo" */
key?: string | undefined;
};
}
/**
* Combines multiple storage adapters into one. Reads return the first
* non-null result; writes propagate to all storages (failures are isolated
* via `Promise.allSettled`).
*/
export declare function combine(...storages: readonly Storage[]): Storage;
/** Creates a `document.cookie`-backed storage adapter. Uses `SameSite=None; Secure` with a 1-year expiry. Deep objects are flattened into individual cookies to stay within the 4KB-per-cookie browser limit. */
export declare function cookie(options?: cookie.Options): Storage;
export declare namespace cookie {
type Options = from.Options;
}
/** Creates an IndexedDB-backed storage adapter. Stores raw values (no JSON serialization). */
export declare function idb(options?: idb.Options): Storage;
export declare namespace idb {
type Options = from.Options;
}
/** Creates a `localStorage`-backed storage adapter. */
export declare function localStorage(options?: localStorage.Options): Storage;
export declare namespace localStorage {
type Options = from.Options;
}
/** Creates an in-memory storage adapter. Useful for SSR and tests. */
export declare function memory(options?: memory.Options): Storage;
export declare namespace memory {
type Options = from.Options;
}
//# sourceMappingURL=Storage.d.ts.map