UNPKG

dobo

Version:

DBMS for Bajo Framework

53 lines (46 loc) 955 B
/** * Feature factory function. * * @async * @returns {Promise<void>} */ async function featureFactory () { const { Tools } = this.app.baseClass /** * Feature class definition. * * `this.plugin` should be the one who owned this adapter * @class */ class DoboFeature extends Tools { /** * Constructor. */ constructor (plugin, options = {}) { super(plugin) /** * Feature name * @type {string} */ this.name = options.name /** * Feature handler function. * @type {Function} */ this.handler = options.handler } /** * Dispose the instance and clean up resources. * @async * @method * @returns {Promise<void>} */ dispose = async () => { await super.dispose() this.name = null this.handler = null } } this.app.baseClass.DoboFeature = DoboFeature } export default featureFactory