UNPKG

@bigmi/core

Version:

TypeScript library for Bitcoin apps.

45 lines 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createClient = createClient; exports.rpcSchema = rpcSchema; const parseAccount_js_1 = require("../utils/parseAccount.js"); const uid_js_1 = require("../utils/uid.js"); function createClient(parameters) { const { cacheTime = parameters.pollingInterval ?? 4000, key = 'base', name = 'Base Client', pollingInterval = 4000, type = 'base', } = parameters; const chain = parameters.chain; const account = parameters.account ? (0, parseAccount_js_1.parseAccount)(parameters.account) : undefined; const { config, request, value } = parameters.transport({ chain, pollingInterval, }); const transport = { ...config, ...value }; const client = { account, cacheTime, chain, key, name, pollingInterval, request, transport, type, uid: (0, uid_js_1.uid)(), }; function extend(base) { return (extendFn) => { const extended = extendFn(base); for (const key in client) { delete extended[key]; } const combined = { ...base, ...extended }; return Object.assign(combined, { extend: extend(combined) }); }; } return Object.assign(client, { extend: extend(client) }); } function rpcSchema() { return null; } //# sourceMappingURL=createClient.js.map