mirror of
https://github.com/fluencelabs/assemblyscript-json
synced 2025-04-25 06:42:24 +00:00
Use 64-bit integers for JSON numbers
This commit is contained in:
parent
e564e7171c
commit
895aefa646
@ -15,7 +15,7 @@ export abstract class JSONHandler {
|
||||
setNull(name: string): void {
|
||||
}
|
||||
|
||||
setInteger(name: string, value: i32): void {
|
||||
setInteger(name: string, value: i64): void {
|
||||
}
|
||||
|
||||
pushArray(name: string): bool {
|
||||
@ -51,9 +51,8 @@ export class ThrowingJSONHandler extends JSONHandler {
|
||||
assert(false, 'Unexpected null field ' + name);
|
||||
}
|
||||
|
||||
setInteger(name: string, value: i32): void {
|
||||
let arr: Array<i32> = [value];
|
||||
assert(false, 'Unexpected integer field ' + name + ' : ' + arr.toString());
|
||||
setInteger(name: string, value: i64): void {
|
||||
assert(false, 'Unexpected integer field ' + name + ' : ' + value.toString());
|
||||
}
|
||||
|
||||
pushArray(name: string): bool {
|
||||
@ -271,8 +270,8 @@ export class JSONDecoder<JSONHandlerT extends JSONHandler> {
|
||||
|
||||
private parseNumber(): bool {
|
||||
// TODO: Parse floats
|
||||
let number: i32 = 0;
|
||||
let sign: i32 = 1;
|
||||
let number: i64 = 0;
|
||||
let sign: i64 = 1;
|
||||
if (this.peekChar() == "-".charCodeAt(0)) {
|
||||
sign = -1;
|
||||
this.readChar();
|
||||
|
@ -35,7 +35,7 @@ export class JSONEncoder {
|
||||
this.write("null");
|
||||
}
|
||||
|
||||
setInteger(name: string, value: i32): void {
|
||||
setInteger(name: string, value: i64): void {
|
||||
this.writeKey(name);
|
||||
this.writeInteger(value);
|
||||
}
|
||||
@ -109,7 +109,7 @@ export class JSONEncoder {
|
||||
this.write(value ? "true" : "false");
|
||||
}
|
||||
|
||||
private writeInteger(value: i32): void {
|
||||
private writeInteger(value: i64): void {
|
||||
this.write(value.toString());
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user