@acala-network/types
Version:
Acala types for @polkadot/api
34 lines (33 loc) • 1.25 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.typesFromDefs = exports.typesAliasFromDefs = exports.jsonrpcFromDefs = void 0;
function jsonrpcFromDefs(definitions, jsonrpc = {}) {
Object.keys(definitions)
.filter((key) => Object.keys(definitions[key]?.rpc || {}).length !== 0)
.forEach((section) => {
jsonrpc[section] = {};
Object.entries(definitions[section].rpc).forEach(([method, def]) => {
const isSubscription = !!def.pubsub;
jsonrpc[section][method] = {
...def,
isSubscription,
jsonrpc: `${section}_${method}`,
method,
section,
};
});
});
return jsonrpc;
}
exports.jsonrpcFromDefs = jsonrpcFromDefs;
function typesAliasFromDefs(definitions, initAlias = {}) {
return Object.values(definitions).reduce((res, { typesAlias }) => ({ ...typesAlias, ...res }), initAlias);
}
exports.typesAliasFromDefs = typesAliasFromDefs;
function typesFromDefs(definitions, initTypes = {}) {
return Object.values(definitions).reduce((res, { types }) => ({
...res,
...types,
}), initTypes);
}
exports.typesFromDefs = typesFromDefs;
;