UNPKG

sdg

Version:

pomelo ts

48 lines 3.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const protobufjs_1 = require("protobufjs"); const base_1 = tslib_1.__importDefault(require("../base")); const tools_1 = require("../util/tools"); class ProtobufComponent extends base_1.default { constructor(app, opts) { super(app, opts); this.protoPath = ''; this.version = ''; this.protoPath = opts.protoPath || ''; } async start() { const protos = tools_1.readDir(this.protoPath); if (protos.length === 0) throw 'none protos'; this.root = await protobufjs_1.load(protos); } encode(route, msg) { let data = msg; try { const Rsp = this.root.lookupType(route + 'Rsp'); data = Rsp.encode(Rsp.create(msg)).finish(); } catch (e) { } return data; } decode(route, body) { if (!(body instanceof Uint8Array)) return body; try { const Req = this.root.lookupType(route + 'Req'); return Req.decode(body).toJSON(); } catch (e) { } return body; } getVersion() { return this.version; } stop(force) { } } exports.default = ProtobufComponent; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9idWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9wcm90b2J1Zi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBd0M7QUFFeEMsMkRBQTJCO0FBRzNCLHlDQUF3QztBQUV4QyxNQUFxQixpQkFBa0IsU0FBUSxjQUFJO0lBS2pELFlBQVksR0FBZ0IsRUFBRSxJQUErQjtRQUMzRCxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBTFosY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFLbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQUs7UUFDaEIsTUFBTSxNQUFNLEdBQUcsZUFBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE1BQU0sYUFBYSxDQUFDO1FBRTdDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxpQkFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBYSxFQUFFLEdBQVk7UUFDdkMsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSTtZQUNGLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQztZQUNoRCxJQUFJLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDN0M7UUFBQyxPQUFPLENBQUMsRUFBRTtTQUNYO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQWEsRUFBRSxJQUFjO1FBQ3pDLElBQUksQ0FBQyxDQUFDLElBQUksWUFBWSxVQUFVLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUUvQyxJQUFJO1lBQ0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQ2hELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNsQztRQUFDLE9BQU8sQ0FBQyxFQUFFO1NBQ1g7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxJQUFJLENBQUMsS0FBYztJQUMxQixDQUFDO0NBQ0Y7QUE5Q0Qsb0NBOENDIn0=