UNPKG

@akala/core

Version:
73 lines 2.34 kB
"use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); __export(require("./base")); require("./rest"); require("./json-rpc-ws"); const helpers_1 = require("../helpers"); const each_1 = require("../each"); var api; (function (api_1) { function jsonrpcws(api) { return new (helpers_1.module('$api').resolve('jsonrpcws'))(api); } api_1.jsonrpcws = jsonrpcws; function rest(api) { return new (helpers_1.module('$api').resolve('rest'))(api); } api_1.rest = rest; })(api = exports.api || (exports.api = {})); function server(api, config) { return function (impl) { var implInstance = new impl(); buildServer(api, config, implInstance); return implInstance; }; } exports.server = server; function buildServer(api, config, implInstance) { each_1.each(config, function (cfg, key) { if (cfg === false) return; var builderCtor = helpers_1.module('$api').resolve(key); if (builderCtor) { var builder = new builderCtor(api); if (builder.createServer) builder.createServer(cfg, implInstance); } }); } exports.buildServer = buildServer; function client(api, config) { return function (impl) { var implInstance = new impl(); buildClient(api, config, implInstance); return implInstance; }; } exports.client = client; function buildClient(api, config, implInstance) { each_1.each(config, function (cfg, key) { if (cfg === false) return; createClient(key, api, cfg, implInstance); }); } exports.buildClient = buildClient; function createServerProxy(builderName, api, client) { var builder = helpers_1.module('$api').resolve(builderName); if (!builder) return null; return new builder(api).createServerProxy(client); } exports.createServerProxy = createServerProxy; function createClient(builderName, api, client, clientImplementation) { var builder = helpers_1.module('$api').resolve(builderName); if (!builder) return null; return new builder(api).createClient(client, clientImplementation); } exports.createClient = createClient; //# sourceMappingURL=index.js.map