@funded-labs/plug-controller
Version:
Internet Computer Plug wallet's controller
21 lines (20 loc) • 861 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createExtendedActorClass = void 0;
const agent_1 = require("@dfinity/agent");
const createExtendedActorClass = (agent, methods, canisterId, IDLFactory) => {
class ExtendedActor extends agent_1.Actor.createActorClass(IDLFactory) {
constructor() {
super({ agent, canisterId });
Object.keys(this).forEach(methodName => {
this[`_${methodName}`] = this[methodName];
});
Object.keys(methods).forEach(methodName => {
this[methodName] = ((...args) => methods[methodName](this, ...args));
});
}
}
return ExtendedActor;
};
exports.createExtendedActorClass = createExtendedActorClass;
exports.default = { createExtendedActorClass: exports.createExtendedActorClass };