UNPKG

supercookie

Version:

A tool for managing and creating the most versatile cookies ever seen without all the fuss.

157 lines (156 loc) 6.4 kB
type CookieStoreSetOptions = Partial<CookieStoreGetObject> & { name: string; }; interface CookieStoreGetObject { name: string; domain: string | null; expires: number | null; partitioned: boolean; path: string; sameSite: 'strict' | 'lax' | 'none'; secure: boolean; value: string | null; } interface CookieEvent extends Omit<Event, 'target'> { changed: (CookieStoreGetObject & { name: string; })[]; } export interface SuperCookieInitOptions<V = any> { domain?: string; expires?: Date | number | string | null | false; name: string | number; partitioned?: boolean; path?: string; sameSite?: 'strict' | 'lax' | 'none'; secure?: boolean; value?: V; preserveFalsyExpirations?: boolean; onReady?: () => void; } interface SuperCookieSetOptions<V = any> extends Omit<SuperCookieInitOptions<V>, 'name' | 'value'> { name?: string | number; value?: V; } interface SuperCookieDefaults<V = any> extends Omit<SuperCookieSetOptions<V>, 'expires' | 'name'> { expires?: Date | false; name: string; } interface CookieStoreGetReturn extends Omit<CookieStoreSetOptions, 'value' | 'expires' | 'name' | "preserveFalsyExpirations"> { expires: string; name: string; value: string; } interface SuperCookieEvent<V = any> extends Omit<CookieEvent, 'changed'> { changed: SuperCookieDefaults<V>[]; } interface TargetedSuperCookieEvent<V = any> extends SuperCookieEvent<V> { change: SuperCookieDefaults<V>; } export default class SuperCookie<V = any> { private __pVals; private static __listeners; constructor(parameters: Omit<SuperCookieInitOptions<V>, 'name'> & { name: string | number; }); constructor(name: SuperCookieInitOptions['name'], parameters?: Omit<SuperCookieInitOptions<V>, 'name'>); constructor(name: SuperCookieInitOptions['name'], value: SuperCookieInitOptions["value"], parameters?: Partial<Omit<SuperCookieInitOptions, 'name' | 'value'>>); get name(): string; set name(value: string); get value(): V; set value(value: V); get domain(): string; set domain(value: string); get expires(): string | number | false | Date | null; set expires(value: string | number | false | Date | null); get partitioned(): boolean; set partitioned(v: boolean); get path(): string; set path(value: string); get sameSite(): "strict" | "lax" | "none"; set sameSite(sameSite: "strict" | "lax" | "none"); get secure(): boolean; set secure(value: boolean); get cookie(): Partial<CookieStoreSetOptions>; set cookie(v: Partial<CookieStoreSetOptions>); get parameters(): SuperCookieDefaults<V> & { (): SuperCookieDefaults; }; set parameters(parameters: Omit<SuperCookieSetOptions<V>, 'name'> & { name: string | number; }); ready: boolean; preserveFalsyExpirations: boolean; private get __theThenValue(); private __thenHolder; set then(v: (func: (thisArg: SuperCookie) => void) => void); private get __listeners(); private __formatter; private set __theThenValue(value); addEventListener(listener: (event: TargetedSuperCookieEvent) => void): void; asObject: () => SuperCookieDefaults; copy: (name: string) => SuperCookie<V>; delete: () => void; deleteSync: () => void; equals: (cookie: CookieStoreGetReturn | SuperCookieSetOptions) => boolean; get: () => Promise<SuperCookieDefaults<V>>; getSync: () => { name: string; value: string; }; onReady: () => void; removeEventListener(listener: (event: SuperCookieEvent) => void): void; set<SV = V>(parameters?: Omit<SuperCookieInitOptions<V>, 'name'>): Promise<void>; set<SV = V>(value?: SuperCookieSetOptions["value"], parameters?: Partial<Omit<SuperCookieSetOptions, 'name' | 'value'>>): Promise<void>; setSync<SV = V>(parameters?: Omit<SuperCookieInitOptions<SV>, 'name'>): void; setSync<SV = V>(value: any, parameters?: Omit<SuperCookieInitOptions<SV>, 'name' | 'value'>): void; get then(): (func: (thisArg: SuperCookie) => void) => void; toString: () => string; static addEventListener<V = any>(listener: (evt: SuperCookieEvent<V>) => void): void; static copy(name: string, newName: string, { preserveFalsyExpirations }?: { preserveFalsyExpirations?: boolean; }): Promise<SuperCookie<any>>; static delete(name: string, pathAndDomain: { path?: string; domain?: string; }): void; static delete(name: string, path?: string): void; static get(name: string, options?: { preserveFalsyExpirations?: boolean; }): Promise<SuperCookieDefaults<any>>; static getAll(options: { preserveFalsyExpirations?: boolean; }): Promise<SuperCookieDefaults[]>; static getSync: (cookieName: string, options?: { preserveFalsyExpirations?: boolean; }) => { name: string; value: string; }; static getAllSync: (options?: { preserveFalsyExpirations?: boolean; }) => { name: string; value: any; }[]; static equals: (cookie1: SuperCookie | SuperCookieSetOptions | CookieStoreGetReturn, cookie2: SuperCookie | SuperCookieSetOptions | CookieStoreGetReturn) => boolean; static removeEventListener(listener: (changes: CookieEvent) => void): void; static set<V = any>(parameters: SuperCookieSetOptions<V> & { name: string | number; }): Promise<void>; static set<V = any>(name: SuperCookieSetOptions['name'], parameters?: Omit<SuperCookieSetOptions<V>, 'name'>): Promise<void>; static set<V = any>(name: SuperCookieSetOptions['name'], value: V, parameters?: Partial<Omit<SuperCookieSetOptions, 'name' | 'value'>>): Promise<void>; static setSync<SV = any>(params?: SuperCookieInitOptions<SV>): void; static setSync<SV = any>(name: string, params?: Omit<SuperCookieInitOptions<SV>, 'name'>): void; static setSync<SV = any>(name: string, value: SV, params?: Omit<SuperCookieInitOptions<SV>, 'name' | 'value'>): void; private static get __cookieStore(); private static get __dCookie(); private __prune; private static __compareObject; private static __cookievalueConvert; private static __formatter; private static __getAllSimpleSync; private static __sortFromArgs; private static __superCookieValueConvert; } export {};