UNPKG

sdg-rpc

Version:

pomelo ts rpc

32 lines 2.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createServer = void 0; const tslib_1 = require("tslib"); const sdg_loader_1 = require("sdg-loader"); const gateway_1 = tslib_1.__importDefault(require("./gateway")); const loadRemoteServices = (paths, context) => { const services = {}; paths.map(item => { const m = sdg_loader_1.load(item.path, context); if (m) { createNamespace(item.namespace, services); for (const i in m) { services[item.namespace][i] = m[i]; } } }); return services; }; const createNamespace = (namespace, proxy) => { proxy[namespace] = proxy[namespace] || {}; }; // export type Gateway = Gateway; const createServer = (opts) => { if (!opts || !opts.port || opts.port < 0 || !opts.paths) { throw new Error('opts.port or opts.paths invalid.'); } opts.services = loadRemoteServices(opts.paths, opts.context); return new gateway_1.default(opts); }; exports.createServer = createServer; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwyQ0FBa0M7QUFFbEMsZ0VBQWdDO0FBR2hDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUFjLEVBQUUsT0FBWSxFQUFhLEVBQUU7SUFDckUsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDZixNQUFNLENBQUMsR0FBRyxpQkFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEVBQUU7WUFDTCxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMxQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDakIsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDcEM7U0FDRjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxTQUFpQixFQUFFLEtBQWdCLEVBQUUsRUFBRTtJQUM5RCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUM1QyxDQUFDLENBQUM7QUFFRixpQ0FBaUM7QUFFMUIsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFvQixFQUFFLEVBQUU7SUFDbkQsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ3ZELE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztLQUNyRDtJQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFN0QsT0FBTyxJQUFJLGlCQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBUFcsUUFBQSxZQUFZLGdCQU92QiJ9