blob: 6cbd283712ce17278f87ed5fbcf350640855a52d [file] [log] [blame]
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();