@foxpage/foxpage-manager
Version:
foxpage resource manager
49 lines (48 loc) • 1.56 kB
TypeScript
import { Application, Relations, ResourceUpdateInfo, Variable, VariableManager } from '@foxpage/foxpage-types';
import { ManagerBaseImpl } from '../common';
import { VariableInstance } from './variable';
/**
* variable manager
*
* @export
* @class VariableManager
* @extends {ManagerBaseImpl}
*/
export declare class VariableManagerImpl extends ManagerBaseImpl<Variable> implements VariableManager {
constructor(app: Application);
/**
* add variable to manager
*
* @param {Variable} variable
*/
addVariable(variable: Variable): VariableInstance;
/**
* remove local variable via variableId
*
* @param {string[]} variableIds
*/
removeVariables(variableIds: string[]): void;
/**
* get variable from local first, not exist will fetch from server
*
* @param {string} variableId
* @return {*} {(Promise<Variable | undefined>)}
*/
getVariable(variableId: string): Promise<Variable | undefined>;
/**
* get variables
*
* @param {string[]} variableIds
* @return {*} {Promise<Variable[]>}
*/
getVariables(variableIds: string[]): Promise<Variable[]>;
/**
* fetch application variable
*/
freshVariables(variableIds: string[]): Promise<Variable[]>;
protected onFetch(list: string[]): Promise<Variable[]>;
protected onPull(data: ResourceUpdateInfo): Promise<void>;
protected onStash(data: Relations): void;
protected createInstance(data: Variable): Promise<VariableInstance>;
private newVariable;
}