json-as 0.9.9-a → 0.9.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/nodejs.yml +1 -1
- package/CHANGELOG +1 -0
- package/README.md +1 -1
- package/assembly/__tests__/test.spec.ts +1 -2
- package/assembly/test.ts +32 -72
- package/build/test.spec.wasm +0 -0
- package/build/test.spec.wasm.map +1 -1
- package/build/test.spec.wat +3488 -8664
- package/build/test.wasm +0 -0
- package/build/test.wasm.map +1 -1
- package/build/test.wat +7452 -23148
- package/package.json +3 -5
- package/transform/lib/index.js +1 -4
- package/transform/package.json +1 -1
- package/transform/src/index.ts +3 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "json-as",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.10",
|
|
4
4
|
"description": "JSON encoder/decoder for AssemblyScript",
|
|
5
5
|
"types": "assembly/index.ts",
|
|
6
6
|
"author": "Jairus Tanaka",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"scripts": {
|
|
18
18
|
"test": "wasmtime build/test.spec.wasm",
|
|
19
19
|
"pretest": "asc assembly/__tests__/test.spec.ts --target test",
|
|
20
|
-
"build:test": "JSON_DEBUG=true asc assembly/test.ts --
|
|
20
|
+
"build:test": "JSON_DEBUG=true asc assembly/test.ts --transform ./transform -o ./build/test.wasm",
|
|
21
21
|
"build:bench": "asc bench/benchmark.ts -o bench/benchmark.wasm --transform ./transform --optimizeLevel 3 --shrinkLevel 0 --converge --noAssert --uncheckedBehavior always --runtime stub",
|
|
22
22
|
"bench:wasmtime": "wasmtime ./bench/benchmark.wasm",
|
|
23
23
|
"bench:wasmer": "wasmer --llvm ./bench/benchmark.wasm",
|
|
@@ -26,8 +26,7 @@
|
|
|
26
26
|
"test:wavm": "wavm run ./build/test.wasm",
|
|
27
27
|
"test:lunatic": "lunatic ./build/test.wasm",
|
|
28
28
|
"test:wasm3": "wasm3 ./build/test.wasm",
|
|
29
|
-
"prettier": "as-prettier -w ."
|
|
30
|
-
"preinstall": "bun link json-as"
|
|
29
|
+
"prettier": "as-prettier -w ."
|
|
31
30
|
},
|
|
32
31
|
"devDependencies": {
|
|
33
32
|
"@assemblyscript/wasi-shim": "^0.1.0",
|
|
@@ -36,7 +35,6 @@
|
|
|
36
35
|
"assemblyscript": "^0.27.28",
|
|
37
36
|
"assemblyscript-prettier": "^3.0.1",
|
|
38
37
|
"benchmark": "^2.1.4",
|
|
39
|
-
"json-as": "link:json-as",
|
|
40
38
|
"microtime": "^3.1.1",
|
|
41
39
|
"prettier": "^3.3.2",
|
|
42
40
|
"tinybench": "^2.8.0",
|
package/transform/lib/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { FieldDeclaration } from "assemblyscript/dist/assemblyscript.js";
|
|
2
1
|
import { toString, isStdlib } from "visitor-as/dist/utils.js";
|
|
3
2
|
import { BaseVisitor, SimpleParser } from "visitor-as/dist/index.js";
|
|
4
3
|
import { Transform } from "assemblyscript/dist/transform.js";
|
|
@@ -26,7 +25,7 @@ class JSONTransform extends BaseVisitor {
|
|
|
26
25
|
schema.node = node;
|
|
27
26
|
schema.name = node.name.text;
|
|
28
27
|
const members = [
|
|
29
|
-
...node.members.filter(v => v
|
|
28
|
+
...node.members.filter(v => v.kind === 54 /* NodeKind.FieldDeclaration */)
|
|
30
29
|
];
|
|
31
30
|
if (node.extendsType) {
|
|
32
31
|
schema.parent = this.schemasList.find((v) => v.name == node.extendsType?.name.identifier.text);
|
|
@@ -63,8 +62,6 @@ class JSONTransform extends BaseVisitor {
|
|
|
63
62
|
this.schemasList.push(schema);
|
|
64
63
|
}
|
|
65
64
|
for (const member of members) {
|
|
66
|
-
if (!(member instanceof FieldDeclaration))
|
|
67
|
-
continue;
|
|
68
65
|
const name = member.name;
|
|
69
66
|
if (!member.type) {
|
|
70
67
|
throw new Error("Fields must be strongly typed! Found " + toString(member) + " at " + node.range.source.normalizedPath);
|
package/transform/package.json
CHANGED
package/transform/src/index.ts
CHANGED
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
NamedTypeNode,
|
|
6
6
|
StringLiteralExpression,
|
|
7
7
|
Parser,
|
|
8
|
-
Source
|
|
8
|
+
Source,
|
|
9
|
+
NodeKind
|
|
9
10
|
} from "assemblyscript/dist/assemblyscript.js";
|
|
10
11
|
|
|
11
12
|
import { toString, isStdlib } from "visitor-as/dist/utils.js";
|
|
12
13
|
import { BaseVisitor, SimpleParser } from "visitor-as/dist/index.js";
|
|
13
14
|
import { Transform } from "assemblyscript/dist/transform.js";
|
|
14
15
|
import { CommonFlags } from "types:assemblyscript/src/common";
|
|
15
|
-
import { DecoratorNode } from "types:assemblyscript/src/ast";
|
|
16
16
|
|
|
17
17
|
class JSONTransform extends BaseVisitor {
|
|
18
18
|
public schemasList: SchemaData[] = [];
|
|
@@ -38,7 +38,7 @@ class JSONTransform extends BaseVisitor {
|
|
|
38
38
|
schema.name = node.name.text;
|
|
39
39
|
|
|
40
40
|
const members = [
|
|
41
|
-
...node.members.filter(v => v
|
|
41
|
+
...node.members.filter(v => v.kind === NodeKind.FieldDeclaration)
|
|
42
42
|
];
|
|
43
43
|
|
|
44
44
|
if (node.extendsType) {
|
|
@@ -86,7 +86,6 @@ class JSONTransform extends BaseVisitor {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
for (const member of members) {
|
|
89
|
-
if (!(member instanceof FieldDeclaration)) continue;
|
|
90
89
|
const name = member.name;
|
|
91
90
|
if (!member.type) {
|
|
92
91
|
throw new Error("Fields must be strongly typed! Found " + toString(member) + " at " + node.range.source.normalizedPath);
|