UNPKG

capnpc-ts

Version:

Cap'n Proto schema compiler for TypeScript.

30 lines 1.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const tap_1 = tslib_1.__importDefault(require("tap")); const util_1 = require("../util"); const capnp = tslib_1.__importStar(require("capnp-ts")); const Schema = tslib_1.__importStar(require("capnp-ts/src/std/schema.capnp.js")); const ast_creators_1 = require("../../src/ast-creators"); const typescript_1 = tslib_1.__importDefault(require("typescript")); const TEST_REQUEST = util_1.readFileBuffer("test/data/test-request.bin"); void tap_1.default.test("createValueExpression", (t) => { const m = new capnp.Message(TEST_REQUEST, false); // Find a node with a default pointer value to play around with. const node = m .getRoot(Schema.CodeGeneratorRequest) .getNodes() .find((n) => n.getDisplayName().split(":")[1] === "TestDefaults"); if (node === undefined) { t.fail(); return; } const value = node.getStruct().getFields().get(29).getSlot().getDefaultValue(); const printer = typescript_1.default.createPrinter(); const sourceFile = typescript_1.default.createSourceFile("", "", typescript_1.default.ScriptTarget.ES2017); t.equal(printer.printNode(typescript_1.default.EmitHint.Expression, ast_creators_1.createValueExpression(value), sourceFile), "capnp.readRawPointer(new Uint8Array([0x10, 0x07, 0x11, 0x01, 0x1e, 0x11, 0x09, 0x32, 0x11, 0x09, 0x32, " + "0x11, 0x09, 0x2a, 0x1f, 0x70, 0x6c, 0x75, 0x67, 0x68, 0x1f, 0x78, 0x79, 0x7a, 0x7a, 0x79, 0x0f, 0x74, 0x68, " + "0x75, 0x64]).buffer)"); t.end(); }); //# sourceMappingURL=ast-creators.spec.js.map