UNPKG

webext-options-sync-per-domain

Version:

Helps you manage and autosave your extension's options, separately for each additional permission.

30 lines (29 loc) 1.13 kB
import OptionsSync, { type Options, type Setup } from 'webext-options-sync'; export * from 'webext-options-sync'; export { default as OptionsSync } from 'webext-options-sync'; export type SyncedForm = Readonly<{ domainCount: number; getSelectedDomain: () => string; onChange(callback: (domain: string) => void): void; }>; export default class OptionsSyncPerDomain<UserOptions extends Options> { #private; static readonly migrations: { removeUnused(options: Options, defaults: Options): void; }; constructor(options: Setup<UserOptions>); getOptionsForOrigin(origin?: string): OptionsSync<UserOptions>; getAllOrigins(): Promise<Map<string, OptionsSync<UserOptions>>>; getAdditionalOrigins(): Promise<Array<{ origin: string; domain: string; }>>; syncForm(form: string | HTMLFormElement): Promise<Readonly<{ domainCount: number; getSelectedDomain: () => string; onChange: (callback: (domain: string) => void) => void; }>>; private getStorageNameForOrigin; private getOriginFromDomain; private readonly _domainChangeHandler; }