@macfja/svelte-persistent-runes
Version:
A Svelte reactive rune that keep its value through pages and reloads
62 lines (58 loc) • 3.8 kB
TypeScript
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 };