@foxpage/foxpage-manager
Version:
foxpage resource manager
44 lines (43 loc) • 1.19 kB
TypeScript
import { Application, Content, ResourceUpdateInfo, Tag, TagManager, TagMatchOption } from '@foxpage/foxpage-types';
import { ManagerBaseImpl } from '../common';
/**
* tag manager
*
* @export
* @class TagManagerImpl
*/
export declare class TagManagerImpl extends ManagerBaseImpl<Content> implements TagManager {
/**
* fileId & pageIds map
* key: fileId, value: pageIds
*
* @private
*/
private pageIdMap;
constructor(app: Application);
/**
* add tag
*
* @param {ContentTag} content
*/
addTag(content: Content): void;
/**
* remove tags by pageIds
*
* @param {string[]} pageIds
*/
removeTags(pageIds?: string[]): void;
/**
* get tag, contains content info
*
* @param {Tag[]} tags
* @param {TagMatchOption} opt
* @return {*} {(Promise<Content | null>)}
*/
matchTag(tags: Tag[], opt: TagMatchOption): Promise<Content | null>;
protected onPull(data: ResourceUpdateInfo): Promise<void>;
protected createInstance(data: Content): Promise<Content>;
protected onFetch(_list: string[]): Promise<undefined>;
private freshWithTags;
destroy(): void;
}