| 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(); |