import assert from 'assert' import * as flatbuffers from 'flatbuffers' import optional_scalars from './ts-undefined-for-optionals/optional_scalars_generated.cjs' const { ScalarStuff, ScalarStuffT } = optional_scalars.optional_scalars; function testScalarStuffBuf(scalarStuff) { assert.strictEqual(scalarStuff.justI8(), -1); assert.strictEqual(scalarStuff.maybeI8(), undefined); assert.strictEqual(scalarStuff.defaultI8(), 42); assert.strictEqual(scalarStuff.justU8(), 1); assert.strictEqual(scalarStuff.maybeU8(), undefined); assert.strictEqual(scalarStuff.defaultU8(), 42); } function testScalarStuffUnpack(scalarStuff) { assert.strictEqual(scalarStuff.justI8, -1); assert.strictEqual(scalarStuff.maybeI8, undefined); assert.strictEqual(scalarStuff.defaultI8, 42); assert.strictEqual(scalarStuff.justU8, 1); assert.strictEqual(scalarStuff.maybeU8, undefined); assert.strictEqual(scalarStuff.defaultU8, 42); } function createScalarStuff(fbb) { ScalarStuff.startScalarStuff(fbb); ScalarStuff.addJustI8(fbb, -1); ScalarStuff.addJustU8(fbb, 1); var offset = ScalarStuff.endScalarStuff(fbb); ScalarStuff.finishScalarStuffBuffer(fbb, offset); } function main() { var fbb = new flatbuffers.Builder(); createScalarStuff(fbb); var buf = new flatbuffers.ByteBuffer(fbb.asUint8Array()); var scalarStuff = ScalarStuff.getRootAsScalarStuff(buf); testScalarStuffBuf(scalarStuff); testScalarStuffUnpack(scalarStuff.unpack()); var scalarStuff_to = new ScalarStuffT(); scalarStuff.unpackTo(scalarStuff_to); testScalarStuffUnpack(scalarStuff_to); fbb.clear(); ScalarStuff.finishScalarStuffBuffer(fbb, scalarStuff_to.pack(fbb)); var unpackBuf = new flatbuffers.ByteBuffer(fbb.asUint8Array()); testScalarStuffBuf(ScalarStuff.getRootAsScalarStuff(unpackBuf)); console.log('FlatBuffers --ts-undefined-for-optionals test: completed successfully'); } main();