json-as 1.2.2 → 1.2.4

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.
Files changed (68) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/ARCHITECTURE.md +320 -0
  3. package/CONTRIBUTING.md +238 -0
  4. package/LICENSE +2 -2
  5. package/README.md +35 -1
  6. package/TODO +1 -0
  7. package/assembly/custom/chars.ts +9 -0
  8. package/assembly/deserialize/simd/string.ts +139 -78
  9. package/assembly/deserialize/simple/arbitrary.ts +1 -2
  10. package/assembly/deserialize/simple/object.ts +1 -1
  11. package/assembly/deserialize/simple/set.ts +169 -0
  12. package/assembly/deserialize/simple/staticarray/array.ts +37 -0
  13. package/assembly/deserialize/simple/staticarray/bool.ts +39 -0
  14. package/assembly/deserialize/simple/staticarray/float.ts +44 -0
  15. package/assembly/deserialize/simple/staticarray/integer.ts +44 -0
  16. package/assembly/deserialize/simple/staticarray/string.ts +45 -0
  17. package/assembly/deserialize/simple/staticarray/struct.ts +47 -0
  18. package/assembly/deserialize/simple/staticarray.ts +28 -0
  19. package/assembly/deserialize/simple/string.ts +31 -40
  20. package/assembly/deserialize/swar/string.ts +147 -109
  21. package/assembly/globals/tables.ts +1 -1
  22. package/assembly/index.ts +419 -276
  23. package/assembly/serialize/simd/string.ts +134 -40
  24. package/assembly/serialize/simple/arbitrary.ts +18 -10
  25. package/assembly/serialize/simple/set.ts +34 -0
  26. package/assembly/serialize/simple/staticarray.ts +30 -0
  27. package/assembly/serialize/simple/string.ts +54 -4
  28. package/assembly/serialize/swar/string.ts +128 -72
  29. package/assembly/test.ts +18 -32
  30. package/assembly/util/masks.ts +47 -0
  31. package/assembly/util/swar.ts +14 -0
  32. package/eslint.config.js +77 -0
  33. package/lib/as-bs.ts +142 -49
  34. package/package.json +18 -5
  35. package/transform/lib/builder.d.ts +87 -0
  36. package/transform/lib/builder.d.ts.map +1 -0
  37. package/transform/lib/builder.js +169 -169
  38. package/transform/lib/builder.js.map +1 -1
  39. package/transform/lib/index.d.ts +32 -0
  40. package/transform/lib/index.d.ts.map +1 -0
  41. package/transform/lib/index.js +36 -17
  42. package/transform/lib/index.js.map +1 -1
  43. package/transform/lib/linkers/alias.d.ts +12 -0
  44. package/transform/lib/linkers/alias.d.ts.map +1 -0
  45. package/transform/lib/linkers/alias.js +1 -1
  46. package/transform/lib/linkers/alias.js.map +1 -1
  47. package/transform/lib/linkers/custom.d.ts +10 -0
  48. package/transform/lib/linkers/custom.d.ts.map +1 -0
  49. package/transform/lib/linkers/imports.d.ts +3 -0
  50. package/transform/lib/linkers/imports.d.ts.map +1 -0
  51. package/transform/lib/linkers/imports.js +1 -1
  52. package/transform/lib/linkers/imports.js.map +1 -1
  53. package/transform/lib/types.d.ts +66 -0
  54. package/transform/lib/types.d.ts.map +1 -0
  55. package/transform/lib/types.js +6 -5
  56. package/transform/lib/types.js.map +1 -1
  57. package/transform/lib/util.d.ts +18 -0
  58. package/transform/lib/util.d.ts.map +1 -0
  59. package/transform/lib/util.js +4 -4
  60. package/transform/lib/util.js.map +1 -1
  61. package/transform/lib/visitor.d.ts +84 -0
  62. package/transform/lib/visitor.d.ts.map +1 -0
  63. package/transform/lib/visitor.js +76 -76
  64. package/transform/lib/visitor.js.map +1 -1
  65. package/transform/tsconfig.json +29 -2
  66. package/assembly/serialize/swar/number.ts +0 -0
  67. package/transform/lib/linkers/classes.js +0 -36
  68. package/transform/lib/linkers/classes.js.map +0 -1
@@ -0,0 +1,87 @@
1
+ import { ArrayLiteralExpression, AssertionExpression, BinaryExpression, BlockStatement, BreakStatement, CallExpression, ClassDeclaration, ClassExpression, CommaExpression, ContinueStatement, DeclarationStatement, DecoratorNode, DoStatement, ElementAccessExpression, EmptyStatement, EnumDeclaration, EnumValueDeclaration, ExportDefaultStatement, ExportImportStatement, ExportMember, ExportStatement, Expression, ExpressionStatement, FalseExpression, FieldDeclaration, FloatLiteralExpression, ForOfStatement, ForStatement, FunctionDeclaration, FunctionExpression, FunctionTypeNode, IdentifierExpression, IfStatement, ImportDeclaration, ImportStatement, IndexSignatureNode, InstanceOfExpression, IntegerLiteralExpression, InterfaceDeclaration, LiteralExpression, MethodDeclaration, NamedTypeNode, NamespaceDeclaration, NewExpression, Node, NullExpression, ObjectLiteralExpression, ParameterNode, ParenthesizedExpression, PropertyAccessExpression, RegexpLiteralExpression, ReturnStatement, Source, StringLiteralExpression, SwitchCase, SwitchStatement, TemplateLiteralExpression, TernaryExpression, ThrowStatement, TrueExpression, TryStatement, TypeDeclaration, TypeName, TypeNode, TypeParameterNode, UnaryExpression, UnaryPostfixExpression, UnaryPrefixExpression, VariableDeclaration, VariableStatement, WhileStatement } from "assemblyscript/dist/assemblyscript.js";
2
+ import { ThisExpression } from "types:assemblyscript/src/ast";
3
+ import { Visitor } from "./visitor.js";
4
+ export declare class ASTBuilder extends Visitor {
5
+ static build(node: Node): string;
6
+ private sb;
7
+ private indentLevel;
8
+ visitNode(node: Node): void;
9
+ visitSource(source: Source): void;
10
+ visitTypeNode(node: TypeNode): void;
11
+ visitThisExpression(_node: ThisExpression, _ref?: Node | null): void;
12
+ visitTypeName(node: TypeName): void;
13
+ visitNamedTypeNode(node: NamedTypeNode): void;
14
+ visitFunctionTypeNode(node: FunctionTypeNode): void;
15
+ visitTypeParameter(node: TypeParameterNode): void;
16
+ visitIdentifierExpression(node: IdentifierExpression): void;
17
+ visitArrayLiteralExpression(node: ArrayLiteralExpression): void;
18
+ visitObjectLiteralExpression(node: ObjectLiteralExpression): void;
19
+ visitAssertionExpression(node: AssertionExpression): void;
20
+ visitBinaryExpression(node: BinaryExpression): void;
21
+ visitCallExpression(node: CallExpression): void;
22
+ visitArguments(typeArguments: TypeNode[] | null, args: Expression[]): void;
23
+ visitClassExpression(node: ClassExpression): void;
24
+ visitCommaExpression(node: CommaExpression): void;
25
+ visitElementAccessExpression(node: ElementAccessExpression): void;
26
+ visitFunctionExpression(node: FunctionExpression): void;
27
+ visitLiteralExpression(node: LiteralExpression): void;
28
+ visitFloatLiteralExpression(node: FloatLiteralExpression): void;
29
+ visitInstanceOfExpression(node: InstanceOfExpression): void;
30
+ visitIntegerLiteralExpression(node: IntegerLiteralExpression): void;
31
+ visitStringLiteral(str: string): void;
32
+ private visitRawString;
33
+ visitStringLiteralExpression(node: StringLiteralExpression): void;
34
+ visitTemplateLiteralExpression(node: TemplateLiteralExpression): void;
35
+ visitRegexpLiteralExpression(node: RegexpLiteralExpression): void;
36
+ visitNewExpression(node: NewExpression): void;
37
+ visitParenthesizedExpression(node: ParenthesizedExpression): void;
38
+ visitPropertyAccessExpression(node: PropertyAccessExpression): void;
39
+ visitTernaryExpression(node: TernaryExpression): void;
40
+ visitUnaryExpression(node: UnaryExpression): void;
41
+ visitUnaryPostfixExpression(node: UnaryPostfixExpression): void;
42
+ visitUnaryPrefixExpression(node: UnaryPrefixExpression): void;
43
+ visitNodeAndTerminate(node: Node): void;
44
+ visitBlockStatement(node: BlockStatement): void;
45
+ visitBreakStatement(node: BreakStatement): void;
46
+ visitContinueStatement(node: ContinueStatement): void;
47
+ visitClassDeclaration(node: ClassDeclaration, isDefault?: boolean): void;
48
+ visitDoStatement(node: DoStatement): void;
49
+ visitEmptyStatement(_node: EmptyStatement): void;
50
+ visitEnumDeclaration(node: EnumDeclaration, isDefault?: boolean): void;
51
+ visitEnumValueDeclaration(node: EnumValueDeclaration): void;
52
+ visitExportImportStatement(node: ExportImportStatement): void;
53
+ visitExportMember(node: ExportMember): void;
54
+ visitExportStatement(node: ExportStatement): void;
55
+ visitExportDefaultStatement(node: ExportDefaultStatement): void;
56
+ visitExpressionStatement(node: ExpressionStatement): void;
57
+ visitFieldDeclaration(node: FieldDeclaration): void;
58
+ visitForStatement(node: ForStatement): void;
59
+ visitForOfStatement(node: ForOfStatement): void;
60
+ visitFunctionDeclaration(node: FunctionDeclaration, isDefault?: boolean): void;
61
+ visitFunctionCommon(node: FunctionDeclaration): void;
62
+ visitIfStatement(node: IfStatement): void;
63
+ visitImportDeclaration(node: ImportDeclaration): void;
64
+ visitImportStatement(node: ImportStatement): void;
65
+ visitIndexSignature(node: IndexSignatureNode): void;
66
+ visitInterfaceDeclaration(node: InterfaceDeclaration, isDefault?: boolean): void;
67
+ visitMethodDeclaration(node: MethodDeclaration): void;
68
+ visitNamespaceDeclaration(node: NamespaceDeclaration, isDefault?: boolean): void;
69
+ visitReturnStatement(node: ReturnStatement): void;
70
+ visitTrueExpression(_node: TrueExpression): void;
71
+ visitFalseExpression(_node: FalseExpression): void;
72
+ visitNullExpression(_node: NullExpression): void;
73
+ visitSwitchCase(node: SwitchCase): void;
74
+ visitSwitchStatement(node: SwitchStatement): void;
75
+ visitThrowStatement(node: ThrowStatement): void;
76
+ visitTryStatement(node: TryStatement): void;
77
+ visitTypeDeclaration(node: TypeDeclaration): void;
78
+ visitVariableDeclaration(node: VariableDeclaration): void;
79
+ visitVariableStatement(node: VariableStatement): void;
80
+ visitWhileStatement(node: WhileStatement): void;
81
+ serializeDecorator(node: DecoratorNode): void;
82
+ serializeParameter(node: ParameterNode): void;
83
+ serializeExternalModifiers(node: DeclarationStatement): void;
84
+ serializeAccessModifiers(node: DeclarationStatement): void;
85
+ finish(): string;
86
+ }
87
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}