@se-puu/qpack
Version:
Quick serializer and de-serializer
175 lines (173 loc) • 7.08 kB
text/typescript
import { QDecoder } from "../../src/decoder/decoder";
import { QEncoder } from "../../src/encoder/encoder";
import { Uint6, Uint8, Uint16, Uint24, Uint32, Uint40, Uint48, Nint5, Int8, Int16, Int24, Int32, Int40, Int48 } from "../../src/lib/size-enum";
import { randomNegativeIntBetween, randomPositiveIntBetween } from "../lib";
export class TestExt8_1 {
static readonly extCode = 1204;
arr5Min = [12,"test",12n];
bool = Math.random() > 0.5;
nul = undefined;
num6Min = 0;
num6Random = randomPositiveIntBetween(0, Uint6.Max);
num6Max = Uint6.Max;
num8Min = Uint6.Max + 1;
num8Random = randomPositiveIntBetween(Uint6.Max + 1, Uint8.Max);
num8Max = Uint8.Max;
num16Min = Uint8.Max + 1;
num16Random = randomPositiveIntBetween(Uint8.Max + 1, Uint16.Max);
num16Max = Uint16.Max;
num24Min = Uint16.Max + 1;
num24Random = randomPositiveIntBetween(Uint16.Max + 1, Uint24.Max);
num24Max = Uint24.Max;
num32Min = Uint24.Max + 1;
num32Random = randomPositiveIntBetween(Uint24.Max + 1, Uint32.Max);
num32Max = Uint32.Max;
num40Min = Uint32.Max + 1;
num40Random = randomPositiveIntBetween(Uint32.Max + 1, Uint40.Max);
num40Max = Uint40.Max;
num48Min = Uint40.Max + 1;
num48Random = randomPositiveIntBetween(Uint40.Max + 1, Uint48.Max);
num48Max = Uint48.Max;
numMin = Uint48.Max + 1;
numRandom = randomPositiveIntBetween(Uint48.Max + 1, Number.MAX_SAFE_INTEGER);
numMax = Number.MAX_SAFE_INTEGER;
mnum5Min = -1;
mnum5Random = randomNegativeIntBetween(-1, Nint5.Min);
mnum5Max = Nint5.Min;
mnum8Min = Nint5.Min - 1;
mnum8Random = randomNegativeIntBetween(Nint5.Min - 1, Int8.Min);
mnum8Max = Int8.Min;
mnum16Min = Int8.Min - 1;
mnum16Random = randomNegativeIntBetween(Int8.Min - 1, Int16.Min);
mnum16Max = Int16.Min;
mnum24Min = Int16.Min - 1;
mnum24Random = randomNegativeIntBetween(Int16.Min - 1, Int24.Min);
mnum24Max = Int24.Min;
mnum32Min = Int24.Min - 1;
mnum32Random = randomNegativeIntBetween(Int24.Min - 1, Int32.Min);
mnum32Max = Int32.Min;
mnum40Min = Int32.Min - 1;
mnum40Random = randomNegativeIntBetween(Int32.Min - 1, Int40.Min);
mnum40Max = Int40.Min;
mnum48Min = Int40.Min - 1;
mnum48Random = randomNegativeIntBetween(Int40.Min - 1, Int48.Min);
mnum48Max = Int48.Min;
mnumMin = Int48.Min - 1;
mnumRandom = randomNegativeIntBetween(Int48.Min - 1, Number.MIN_SAFE_INTEGER);
mnumMax = Number.MIN_SAFE_INTEGER;
obj5Min = {data:12};
time = Date.now();
static encode(encoder: QEncoder, data: TestExt8_1): void {
encoder.write(data.arr5Min);
encoder.write(data.bool);
encoder.write(data.nul);
encoder.write(data.num6Min);
encoder.write(data.num6Random);
encoder.write(data.num6Max);
encoder.write(data.num8Min);
encoder.write(data.num8Random);
encoder.write(data.num8Max);
encoder.write(data.num16Min);
encoder.write(data.num16Random);
encoder.write(data.num16Max);
encoder.write(data.num24Min);
encoder.write(data.num24Random);
encoder.write(data.num24Max);
encoder.write(data.num32Min);
encoder.write(data.num32Random);
encoder.write(data.num32Max);
encoder.write(data.num40Min);
encoder.write(data.num40Random);
encoder.write(data.num40Max);
encoder.write(data.num48Min);
encoder.write(data.num48Random);
encoder.write(data.num48Max);
encoder.write(data.numMin);
encoder.write(data.numRandom);
encoder.write(data.numMax);
encoder.write(data.mnum5Min);
encoder.write(data.mnum5Random);
encoder.write(data.mnum5Max);
encoder.write(data.mnum8Min);
encoder.write(data.mnum8Random);
encoder.write(data.mnum8Max);
encoder.write(data.mnum16Min);
encoder.write(data.mnum16Random);
encoder.write(data.mnum16Max);
encoder.write(data.mnum24Min);
encoder.write(data.mnum24Random);
encoder.write(data.mnum24Max);
encoder.write(data.mnum32Min);
encoder.write(data.mnum32Random);
encoder.write(data.mnum32Max);
encoder.write(data.mnum40Min);
encoder.write(data.mnum40Random);
encoder.write(data.mnum40Max);
encoder.write(data.mnum48Min);
encoder.write(data.mnum48Random);
encoder.write(data.mnum48Max);
encoder.write(data.mnumMin);
encoder.write(data.mnumRandom);
encoder.write(data.mnumMax);
encoder.write(data.obj5Min);
encoder.write(data.time);
return;
}
static decode(decoder: QDecoder): TestExt8_1 {
const retObj = new TestExt8_1();
retObj.arr5Min = decoder.read();
retObj.bool = decoder.read();
retObj.nul = decoder.read();
retObj.num6Min = decoder.read();
retObj.num6Random = decoder.read();
retObj.num6Max = decoder.read();
retObj.num8Min = decoder.read();
retObj.num8Random = decoder.read();
retObj.num8Max = decoder.read();
retObj.num16Min = decoder.read();
retObj.num16Random = decoder.read();
retObj.num16Max = decoder.read();
retObj.num24Min = decoder.read();
retObj.num24Random = decoder.read();
retObj.num24Max = decoder.read();
retObj.num32Min = decoder.read();
retObj.num32Random = decoder.read();
retObj.num32Max = decoder.read();
retObj.num40Min = decoder.read();
retObj.num40Random = decoder.read();
retObj.num40Max = decoder.read();
retObj.num48Min = decoder.read();
retObj.num48Random = decoder.read();
retObj.num48Max = decoder.read();
retObj.numMin = decoder.read();
retObj.numRandom = decoder.read();
retObj.numMax = decoder.read();
retObj.mnum5Min = decoder.read();
retObj.mnum5Random = decoder.read();
retObj.mnum5Max = decoder.read();
retObj.mnum8Min = decoder.read();
retObj.mnum8Random = decoder.read();
retObj.mnum8Max = decoder.read();
retObj.mnum16Min = decoder.read();
retObj.mnum16Random = decoder.read();
retObj.mnum16Max = decoder.read();
retObj.mnum24Min = decoder.read();
retObj.mnum24Random = decoder.read();
retObj.mnum24Max = decoder.read();
retObj.mnum32Min = decoder.read();
retObj.mnum32Random = decoder.read();
retObj.mnum32Max = decoder.read();
retObj.mnum40Min = decoder.read();
retObj.mnum40Random = decoder.read();
retObj.mnum40Max = decoder.read();
retObj.mnum48Min = decoder.read();
retObj.mnum48Random = decoder.read();
retObj.mnum48Max = decoder.read();
retObj.mnumMin = decoder.read();
retObj.mnumRandom = decoder.read();
retObj.mnumMax = decoder.read();
retObj.obj5Min = decoder.read();
retObj.time = decoder.read();
return retObj;
}
}