@daevm/cheqd-sdk
Version:
A TypeScript SDK built with CosmJS to interact with cheqd network ledger
48 lines • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.applyMixins = exports.instantiateCheqdSDKModuleQuerierExtensionSetup = exports.instantiateCheqdSDKModuleRegistryTypes = exports.instantiateCheqdSDKModule = exports.AbstractCheqdSDKModule = void 0;
class AbstractCheqdSDKModule {
_signer;
methods = {};
querier;
_protectedMethods = ['constructor', 'getRegistryTypes', 'getQuerierExtensionSetup'];
static registryTypes = [];
static querierExtensionSetup = (base) => ({});
constructor(signer, querier) {
if (!signer) {
throw new Error("signer is required");
}
if (!querier) {
throw new Error("querier is required");
}
this._signer = signer;
this.querier = querier;
}
}
exports.AbstractCheqdSDKModule = AbstractCheqdSDKModule;
function instantiateCheqdSDKModule(module, ...args) {
return new module(...args);
}
exports.instantiateCheqdSDKModule = instantiateCheqdSDKModule;
function instantiateCheqdSDKModuleRegistryTypes(module) {
return module.registryTypes ?? [];
}
exports.instantiateCheqdSDKModuleRegistryTypes = instantiateCheqdSDKModuleRegistryTypes;
function instantiateCheqdSDKModuleQuerierExtensionSetup(module) {
return module.querierExtensionSetup ?? {};
}
exports.instantiateCheqdSDKModuleQuerierExtensionSetup = instantiateCheqdSDKModuleQuerierExtensionSetup;
function applyMixins(derivedCtor, constructors) {
let methods = {};
constructors.forEach((baseCtor) => {
Object.getOwnPropertyNames(baseCtor.prototype).forEach((name) => {
const property = baseCtor.prototype[name];
if (typeof property !== 'function' || derivedCtor.hasOwnProperty(name) || derivedCtor?.protectedMethods.includes(name) || baseCtor.prototype?._protectedMethods?.includes(name))
return;
methods = { ...methods, [name]: property };
});
});
return methods;
}
exports.applyMixins = applyMixins;
//# sourceMappingURL=_.js.map