omelop-json-schema
Version:
解析 ts 的interface 到 omelox-protobuf用的 json格式。
23 lines • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseAndWrite = void 0;
const fs = require("fs");
const main_1 = require("./main");
const protoInts = ['uInt32', 'sInt32', 'int32'];
const protoFloats = ['double', 'float'];
function protoType2JsonSchemaType(schemaDefine) {
protoInts.forEach((item) => {
schemaDefine = schemaDefine.split(`"type": \"${item}\"`).join(`"type": "integer"`);
});
protoFloats.forEach((item) => {
schemaDefine = schemaDefine.split(`"type": \"${item}\"`).join(`"type": "number"`);
});
return schemaDefine;
}
function parseAndWrite(sourcePath, clientPath, serverPath) {
const result = (0, main_1.parseToJsonSchem)(sourcePath);
fs.writeFileSync(clientPath, protoType2JsonSchemaType(JSON.stringify(result.client, null, 4)));
fs.writeFileSync(serverPath, protoType2JsonSchemaType(JSON.stringify(result.server, null, 4)));
}
exports.parseAndWrite = parseAndWrite;
//# sourceMappingURL=utils.js.map