UNPKG

@macfja/svelte-persistent-runes

Version:

A Svelte reactive rune that keep its value through pages and reloads

62 lines (58 loc) 3.8 kB
import { CookieOptions } from 'browser-cookies'; import { PersistentRunesOptions } from './index.js'; import * as macfja from '@macfja/serializer'; import * as dv from 'devalue'; import ESSerializer from 'esserializer'; import { NJSON } from 'next-json'; import * as PhpSerialize from 'php-serialize'; declare function PhpSerializeSerializerFactory(options?: { givenOptions?: Parameters<typeof PhpSerialize.serialize>[2]; scope?: Parameters<typeof PhpSerialize.serialize>[1]; }): PersistentRunesSerializer; declare function SerializeAnythingSerializerFactory(options?: { maxDepth?: number; pretty?: boolean; }): PersistentRunesSerializer; declare function JsonSerializerFactory(options?: { replacer?: Parameters<typeof JSON.stringify>[1]; reviver?: Parameters<typeof JSON.parse>[1]; space?: Parameters<typeof JSON.stringify>[2]; }): PersistentRunesSerializer; declare function DevalueSerializerFactory(options?: { reducers?: Parameters<typeof dv.stringify>[1]; revivers?: Parameters<typeof dv.parse>[1]; }): PersistentRunesSerializer; declare function ESSerializerSerializerFactory(options?: { serializeOption?: Parameters<typeof ESSerializer.serialize>[1]; classes?: Parameters<typeof ESSerializer.deserialize>[1]; }): PersistentRunesSerializer; declare function MacfjaSerializerFactory(options?: { allowedClasses?: Parameters<typeof macfja.deserialize>[1]; }): PersistentRunesSerializer; declare function NextJsonSerializerFactory(options?: { stringifyOptionsOrReplacer?: Parameters<typeof NJSON.stringify>[1]; space?: Parameters<typeof NJSON.stringify>[2]; parseOptionsOrReviver?: Parameters<typeof NJSON.parse>[1]; }): PersistentRunesSerializer; type PersistentRunesStorage = Pick<PersistentRunesOptions, "storageWrite" | "storageRead">; type PersistentRunesSerializer = Pick<PersistentRunesOptions, "serialize" | "deserialize">; declare const SuperJsonSerializer: PersistentRunesSerializer; declare function BrowserCookieStorageFactory(cookieOptions?: CookieOptions): PersistentRunesStorage; declare const BrowserLocalStorage: PersistentRunesStorage; declare const BrowserSessionStorage: PersistentRunesStorage; declare function addEncryptionStorage(onStorage: PersistentRunesStorage, encryptionKey: string, iv?: string): PersistentRunesStorage; declare const BrowserCookieStorage: PersistentRunesStorage; declare const JsonSerializer: PersistentRunesSerializer; declare const DevalueSerializer: PersistentRunesSerializer; declare const ESSerializerSerializer: PersistentRunesSerializer; declare const MacfjaSerializer: PersistentRunesSerializer; declare const NextJsonSerializer: PersistentRunesSerializer; declare const PhpSerializeSerializer: PersistentRunesSerializer; declare const SerializeAnythingSerializer: PersistentRunesSerializer; /** * Create a `PersistentRunesOptions` from a serializer and a storage * @param serializer The serializer to use (if `undefined` then `JsonSerializer` will be used) * @param storage The storage to use (if `undefined` then `BrowserLocalStorage` will be used) */ declare function buildOptions(serializer: PersistentRunesSerializer | undefined, storage: PersistentRunesStorage | undefined): PersistentRunesOptions; export { BrowserCookieStorage, BrowserCookieStorageFactory, BrowserLocalStorage, BrowserSessionStorage, DevalueSerializer, DevalueSerializerFactory, ESSerializerSerializer, ESSerializerSerializerFactory, JsonSerializer, JsonSerializerFactory, MacfjaSerializer, MacfjaSerializerFactory, NextJsonSerializer, NextJsonSerializerFactory, type PersistentRunesSerializer, type PersistentRunesStorage, PhpSerializeSerializer, PhpSerializeSerializerFactory, SerializeAnythingSerializer, SerializeAnythingSerializerFactory, SuperJsonSerializer, addEncryptionStorage, buildOptions };