UNPKG

webext-options-sync-per-domain

Version:

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

34 lines (33 loc) 1.26 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: 1; getSelectedDomain: () => "default"; onChange(): void; }> | Readonly<{ domainCount: number; getSelectedDomain: () => string; onChange: (callback: (domain: string) => void) => Promise<void>; }>>; private getStorageNameForOrigin; private getOriginFromDomain; private readonly _domainChangeHandler; }