UNPKG

@redhare/lowcode-types

Version:

Types for Ali lowCode engine

61 lines (60 loc) 1.91 kB
import { IPublicTypeDisposable } from '../type'; import { IPublicModelPreference } from './'; export interface IPublicModelEngineConfig { /** * 判断指定 key 是否有值 * check if config has certain key configed * @param key * @returns */ has(key: string): boolean; /** * 获取指定 key 的值 * get value by key * @param key * @param defaultValue * @returns */ get(key: string, defaultValue?: any): any; /** * 设置指定 key 的值 * set value for certain key * @param key * @param value */ set(key: string, value: any): void; /** * 批量设值,set 的对象版本 * set multiple config key-values * @param config */ setConfig(config: { [key: string]: any; }): void; /** * 获取指定 key 的值,若此时还未赋值,则等待,若已有值,则直接返回值 * 注:此函数返回 Promise 实例,只会执行(fullfill)一次 * wait until value of certain key is set, will only be * triggered once. * @param key * @returns */ onceGot(key: string): Promise<any>; /** * 获取指定 key 的值,函数回调模式,若多次被赋值,回调会被多次调用 * set callback for event of value set for some key * this will be called each time the value is set * @param key * @param fn * @returns */ onGot(key: string, fn: (data: any) => void): IPublicTypeDisposable; /** * 获取全局 Preference, 用于管理全局浏览器侧用户 Preference,如 Panel 是否钉住 * get global user preference manager, which can be use to store * user`s preference in user localstorage, such as a panel is pinned or not. * @returns {IPublicModelPreference} * @since v1.1.0 */ getPreference(): IPublicModelPreference; }