@cognigy/rest-api-client
Version:
Cognigy REST-Client
34 lines • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Base = void 0;
class Base {
constructor(options = {}) {
this.options = options;
// apply plugins
// https://stackoverflow.com/a/16345172
const classConstructor = this.constructor;
classConstructor.plugins.forEach((plugin) => {
Object.assign(this, plugin(this, options));
});
}
static plugin(plugin) {
var _a;
const currentPlugins = this.plugins;
const BaseWithPlugins = (_a = class extends this {
},
_a.plugins = currentPlugins.concat(plugin),
_a);
return BaseWithPlugins;
}
static defaults(defaults) {
const OctokitWithDefaults = class extends this {
constructor(...args) {
super(Object.assign({}, defaults, args[0] || {}));
}
};
return OctokitWithDefaults;
}
}
exports.Base = Base;
Base.plugins = [];
//# sourceMappingURL=PluginBase.js.map