From 07af06a615687d35fbcb31d58a04650e1c359350 Mon Sep 17 00:00:00 2001 From: JairusSW Date: Tue, 11 Jun 2024 12:11:39 -0700 Subject: [PATCH] sync --- assembly/deserialize/array/number.ts | 2 ++ assembly/deserialize/number.ts | 8 ++++++-- assembly/test.ts | 6 +++--- package.json | 6 +++--- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/assembly/deserialize/array/number.ts b/assembly/deserialize/array/number.ts index e7d612d..3babd4e 100644 --- a/assembly/deserialize/array/number.ts +++ b/assembly/deserialize/array/number.ts @@ -13,6 +13,7 @@ import { deserializeNumber } from "../number"; if (lastPos === 0 && ((char >= 48 && char <= 57) || char === 45)) { lastPos = i; } else if ((isSpace(char) || char == commaCode) && lastPos > 0) { + console.log("result: " + data.slice(lastPos, i)); result.push(deserializeNumber>(data, lastPos, i)); lastPos = 0; } @@ -21,6 +22,7 @@ import { deserializeNumber } from "../number"; const char = unsafeCharCodeAt(data, i); if (char !== rightBracketCode) { result.push(deserializeNumber>(data, lastPos, i + 1)); + console.log("result: " + data.slice(lastPos, i + 1)); break; } } diff --git a/assembly/deserialize/number.ts b/assembly/deserialize/number.ts index 1dd8b53..b30a282 100644 --- a/assembly/deserialize/number.ts +++ b/assembly/deserialize/number.ts @@ -1,11 +1,15 @@ -import { snip_fast } from "../src/util"; +import { __atoi_fast, snip_fast } from "../src/util"; // @ts-ignore: Decorator @inline export function deserializeNumber(data: string, start: i32 = 0, end: i32 = 0): T { if (isInteger()) { // @ts-ignore - return snip_fast(data, start, end || data.length << 1); + return __atoi_fast( + data, + start << 1, + end << 1 || data.length << 1 + ); } // @ts-ignore const type: T = 0; diff --git a/assembly/test.ts b/assembly/test.ts index 9a03359..3b03fb6 100644 --- a/assembly/test.ts +++ b/assembly/test.ts @@ -132,9 +132,9 @@ describe("Serialize Maps", () => { }); describe("Deserialize Number", () => { - expect(JSON.serialize(deserializeNumber("1234e3")).toString()).toBe("1234000"); + expect(JSON.serialize(deserializeNumber("1234")).toString()).toBe("1234"); }) -/* + describe("Deserialize String[]", () => { expect(JSON.serialize(deserializeStringArray("[\"hello\",\"world\"]")).toString()).toBe("[\"hello\",\"world\"]"); @@ -147,7 +147,7 @@ describe("Deserialize Number[]", () => { describe("Deserialize Boolean[]", () => { expect(JSON.serialize(deserializeBooleanArray("[true, false]")).toString()).toBe("[true,false]"); }); - +/* describe("Deserialize [][]", () => { deserializeArray("[[[]],[[[]]]]") });*/ \ No newline at end of file diff --git a/package.json b/package.json index fb2ad9e..2b8d58d 100644 --- a/package.json +++ b/package.json @@ -42,14 +42,14 @@ "microtime": "^3.1.1", "prettier": "^3.1.1", "tinybench": "^2.8.0", - "typescript": "^5.3.3", - "visitor-as": "^0.11.4" + "typescript": "^5.3.3" }, "dependencies": { "as-container": "^0.8.0", "as-string-sink": "^0.5.3", "as-variant": "^0.4.1", - "as-virtual": "^0.1.9" + "as-virtual": "^0.1.9", + "json-as": "^0.8.4" }, "overrides": { "assemblyscript": "$assemblyscript"