UNPKG

@foxpage/foxpage-manager

Version:

foxpage resource manager

61 lines (60 loc) 1.97 kB
import { Application, Material, MaterialManager, Relations, ResourceUpdateInfo } from '@foxpage/foxpage-types'; import { ManagerBaseImpl } from '../common'; import { MaterialInstance } from './material'; /** * material manager * * @export * @class MaterialManager * @extends {ManagerBaseImpl} */ export declare class MaterialManagerImpl extends ManagerBaseImpl<Material> implements MaterialManager { /** * content id & fileId+locale map * * @private */ private contentMap; constructor(app: Application); /** * add material to manager * * @param {Material} material */ addMaterial(material: Material): MaterialInstance; /** * remove local material via materialKeys * * @param {string[]} materialKeys */ removeMaterials(materialKeys: string[]): void; /** * get material from local first, not exist will fetch from server * * @param {string} materialFileIds fileId * @param {Record<string, any>} opt contain locale * @return {*} {(Promise<Material | undefined>)} */ getMaterial(materialFileIds: string, opt: Record<string, any>): Promise<Material | undefined>; /** * get materials * * @param {string[]} materialFileIds fileIds * @param {Record<string, any>} opt contain locale * @return {*} {Promise<Material[]>} */ getMaterials(materialFileIds: string[], opt: Record<string, any>): Promise<Material[]>; /** * fetch application material */ freshMaterials(materialKey: string[]): Promise<Material[]>; protected onFetch(list: string[]): Promise<MaterialInstance[]>; protected onPull(data: ResourceUpdateInfo): Promise<void>; protected onStash(data: Relations): void; protected createInstance(data: Material): Promise<MaterialInstance>; private newMaterial; private addMaterialKeys; private removeMaterialKeys; private getMaterialIds; destroy(): void; }