@foxpage/foxpage-manager
Version:
foxpage resource manager
44 lines (43 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FPFunctionInstance = void 0;
const common_1 = require("../common");
/**
* function
*
* @export
* @interface FPFunction
* @extends {ContentDetailInstance<FPFunctionItem>}
*/
class FPFunctionInstance extends common_1.ContentDetailInstance {
constructor(data) {
super(data);
this.type = 'function';
/**
* function item map
*
* @type {Map<string, FPFunctionItem>}
*/
this.functionItemMap = new Map();
// list to map
this.schemas.forEach(item => {
this.functionItemMap.set(item.name, item);
});
}
/**
* get function item content
*
* @param {string} functionName
* @return {*} {(FPFunctionItem | undefined)}
*/
getFunctionItem(functionName) {
return this.functionItemMap.get(functionName) || null;
}
/**
* destroy, clear map data
*/
destroy() {
this.functionItemMap.clear();
}
}
exports.FPFunctionInstance = FPFunctionInstance;