[JS/TS] Modernize TypeScript / JavaScript flatbuffers support (#6095)

This commit is contained in:
Björn Harrtell
2020-09-17 21:21:14 +02:00
committed by GitHub
parent b8e87fafe4
commit 94873e595c
21 changed files with 2093 additions and 1404 deletions

23
ts/long.ts Normal file
View File

@@ -0,0 +1,23 @@
export function createLong(low: number, high: number): Long {
return Long.create(low, high);
}
export class Long {
static readonly ZERO = new Long(0, 0)
low: number
high: number
constructor(low: number, high: number) {
this.low = low | 0;
this.high = high | 0;
}
static create(low: number, high: number): Long {
// Special-case zero to avoid GC overhead for default values
return low == 0 && high == 0 ? Long.ZERO : new Long(low, high);
}
toFloat64(): number {
return (this.low >>> 0) + this.high * 0x100000000;
}
equals(other: Long): boolean {
return this.low == other.low && this.high == other.high;
}
}