UNPKG

@yelon/theme

Version:

ng-yunzai theme system library.

40 lines (39 loc) 1.54 kB
import { InjectionToken, Provider } from '@angular/core'; import { Observable } from 'rxjs'; import { App, Layout, SettingsNotify, User } from './types'; import * as i0 from "@angular/core"; export interface SettingsKeys { /** Layout data specifies the stored key, default: `layout` */ layout: string; /** User data specifies the stored key, default: `user` */ user: string; /** App data specifies the stored key, default: `app` */ app: string; } export declare const YUNZAI_SETTING_KEYS: InjectionToken<SettingsKeys>; export declare const YUNZAI_SETTING_DEFAULT: Provider; export declare class SettingsService<L extends Layout = Layout, U extends User = User, A extends App = App> { private readonly KEYS; private readonly platform; private notify$; private _app; private _user; private _layout; getData(key: string): any; setData(key: string, value: any): void; get layout(): L; get app(): A; get user(): U; get notify(): Observable<SettingsNotify>; setLayout<T extends Layout = Layout>(name: T, value?: any): boolean; setLayout(name: string | L, value?: any): boolean; getLayout<T>(): T; setApp<T extends App = App>(value: T): void; setApp(value: A): void; getApp<T>(): T; setUser<T extends User = User>(value: T): void; setUser(value: U): void; getUser<T>(): T; static ɵfac: i0.ɵɵFactoryDeclaration<SettingsService<any, any, any>, never>; static ɵprov: i0.ɵɵInjectableDeclaration<SettingsService<any, any, any>>; }