json-as 0.9.29 → 1.0.0-alpha.1

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 (107) hide show
  1. package/.github/workflows/nodejs.yml +0 -3
  2. package/.prettierrc.json +3 -2
  3. package/CHANGELOG +13 -0
  4. package/LICENSE +1 -1
  5. package/README.md +22 -7
  6. package/as-test.config.json +1 -1
  7. package/asconfig.json +2 -2
  8. package/assembly/__benches__/misc.bench.ts +17 -32
  9. package/assembly/__tests__/bool.spec.ts +1 -1
  10. package/assembly/__tests__/simd/string.spec.ts +32 -0
  11. package/assembly/custom/memory.ts +25 -0
  12. package/assembly/custom/util.ts +14 -92
  13. package/assembly/deserialize/simd/string.ts +103 -0
  14. package/assembly/deserialize/simple/arbitrary.ts +17 -0
  15. package/assembly/deserialize/simple/array/arbitrary.ts +113 -0
  16. package/assembly/deserialize/simple/array/array.ts +18 -0
  17. package/assembly/deserialize/simple/array/bool.ts +17 -0
  18. package/assembly/deserialize/simple/array/float.ts +28 -0
  19. package/assembly/deserialize/simple/array/integer.ts +27 -0
  20. package/assembly/deserialize/simple/array/map.ts +18 -0
  21. package/assembly/deserialize/simple/array/object.ts +18 -0
  22. package/assembly/deserialize/simple/array/string.ts +22 -0
  23. package/assembly/deserialize/simple/array.ts +48 -0
  24. package/assembly/deserialize/simple/bool.ts +9 -0
  25. package/assembly/deserialize/simple/date.ts +11 -0
  26. package/assembly/deserialize/simple/float.ts +10 -0
  27. package/assembly/deserialize/simple/integer.ts +5 -0
  28. package/assembly/deserialize/simple/map.ts +154 -0
  29. package/assembly/deserialize/simple/object.ts +159 -0
  30. package/assembly/deserialize/simple/string.ts +48 -0
  31. package/assembly/globals/tables.ts +417 -0
  32. package/assembly/index.d.ts +9 -13
  33. package/assembly/index.ts +266 -146
  34. package/assembly/serialize/simd/string.ts +176 -0
  35. package/assembly/serialize/simple/arbitrary.ts +36 -0
  36. package/assembly/serialize/simple/array.ts +32 -0
  37. package/assembly/serialize/simple/bool.ts +19 -0
  38. package/assembly/serialize/simple/date.ts +13 -0
  39. package/assembly/serialize/simple/float.ts +7 -0
  40. package/assembly/serialize/simple/integer.ts +7 -0
  41. package/assembly/serialize/simple/map.ts +43 -0
  42. package/assembly/serialize/simple/object.ts +7 -0
  43. package/assembly/serialize/simple/string.ts +48 -0
  44. package/assembly/test.ts +41 -27
  45. package/assembly/tsconfig.json +2 -91
  46. package/assembly/types.ts +0 -0
  47. package/assembly/util/atoi.ts +35 -0
  48. package/assembly/util/bytes.ts +12 -0
  49. package/assembly/util/concat.ts +9 -0
  50. package/assembly/util/getArrayDepth.ts +17 -0
  51. package/assembly/util/index.ts +5 -0
  52. package/assembly/util/isSpace.ts +4 -0
  53. package/assembly/util/nextPowerOf2.ts +4 -0
  54. package/assembly/util/ptrToStr.ts +7 -0
  55. package/assembly/util/snp.ts +69 -0
  56. package/bench.js +5 -5
  57. package/modules/bs/index.ts +167 -0
  58. package/modules/tsconfig.json +8 -0
  59. package/package.json +42 -48
  60. package/transform/lib/builder.js +1353 -0
  61. package/transform/lib/builder.js.map +1 -0
  62. package/transform/lib/index.js +497 -332
  63. package/transform/lib/index.js.map +1 -1
  64. package/transform/lib/index.old.js +404 -0
  65. package/transform/lib/index.old.js.map +1 -0
  66. package/transform/lib/linker.js +18 -0
  67. package/transform/lib/linker.js.map +1 -0
  68. package/transform/lib/types.js +25 -0
  69. package/transform/lib/types.js.map +1 -0
  70. package/transform/lib/util.js +47 -0
  71. package/transform/lib/util.js.map +1 -0
  72. package/transform/lib/visitor.js +529 -446
  73. package/transform/lib/visitor.js.map +1 -0
  74. package/transform/package.json +1 -34
  75. package/transform/src/builder.ts +1371 -0
  76. package/transform/src/index.ts +564 -341
  77. package/transform/src/linker.ts +21 -0
  78. package/transform/src/types.ts +27 -0
  79. package/transform/src/util.ts +56 -0
  80. package/transform/src/visitor.ts +531 -0
  81. package/transform/tsconfig.json +3 -1
  82. package/assembly/__benches__/as-tral.d.ts +0 -1
  83. package/assembly/__tests__/date.spec.ts +0 -12
  84. package/assembly/custom/bs.ts +0 -202
  85. package/assembly/deserialize/array/array.ts +0 -31
  86. package/assembly/deserialize/array/bool.ts +0 -19
  87. package/assembly/deserialize/array/float.ts +0 -24
  88. package/assembly/deserialize/array/integer.ts +0 -24
  89. package/assembly/deserialize/array/map.ts +0 -27
  90. package/assembly/deserialize/array/object.ts +0 -27
  91. package/assembly/deserialize/array/string.ts +0 -29
  92. package/assembly/deserialize/array.ts +0 -46
  93. package/assembly/deserialize/bool.ts +0 -34
  94. package/assembly/deserialize/date.ts +0 -19
  95. package/assembly/deserialize/float.ts +0 -21
  96. package/assembly/deserialize/integer.ts +0 -16
  97. package/assembly/deserialize/map.ts +0 -139
  98. package/assembly/deserialize/object.ts +0 -211
  99. package/assembly/deserialize/string.ts +0 -149
  100. package/assembly/serialize/array.ts +0 -44
  101. package/assembly/serialize/bool.ts +0 -10
  102. package/assembly/serialize/date.ts +0 -4
  103. package/assembly/serialize/float.ts +0 -4
  104. package/assembly/serialize/integer.ts +0 -5
  105. package/assembly/serialize/map.ts +0 -24
  106. package/assembly/serialize/object.ts +0 -13
  107. package/assembly/serialize/string.ts +0 -284
@@ -0,0 +1,417 @@
1
+ export const SERIALIZE_ESCAPE_TABLE = memory.data<u16>([
2
+ 48,
3
+ 48,
4
+ 48,
5
+ 49,
6
+ 48,
7
+ 50,
8
+ 48,
9
+ 51, // Pair 0-3
10
+ 48,
11
+ 52,
12
+ 48,
13
+ 53,
14
+ 48,
15
+ 54,
16
+ 48,
17
+ 55, // Pair 4-7
18
+
19
+ 92,
20
+ 98,
21
+ 92,
22
+ 116,
23
+ 92,
24
+ 110,
25
+ 48,
26
+ 98, // Pair 8-11
27
+ 92,
28
+ 102,
29
+ 92,
30
+ 114,
31
+ 48,
32
+ 101,
33
+ 48,
34
+ 102, // Pair 12-15
35
+
36
+ 49,
37
+ 48,
38
+ 49,
39
+ 49,
40
+ 49,
41
+ 50,
42
+ 49,
43
+ 51, // Pair 16-19
44
+ 49,
45
+ 52,
46
+ 49,
47
+ 53,
48
+ 49,
49
+ 54,
50
+ 49,
51
+ 55, // Pair 20-23
52
+
53
+ 49,
54
+ 56,
55
+ 49,
56
+ 57,
57
+ 49,
58
+ 97,
59
+ 49,
60
+ 98, // Pair 24-27
61
+ 49,
62
+ 99,
63
+ 49,
64
+ 100,
65
+ 49,
66
+ 101,
67
+ 49,
68
+ 102, // Pair 28-31
69
+
70
+ 0,
71
+ 0,
72
+ 0,
73
+ 0,
74
+ 92,
75
+ 34,
76
+ 0,
77
+ 0, // Pair 32-35
78
+ 0,
79
+ 0,
80
+ 0,
81
+ 0,
82
+ 0,
83
+ 0,
84
+ 0,
85
+ 0, // Pair 36-39
86
+
87
+ 0,
88
+ 0,
89
+ 0,
90
+ 0,
91
+ 0,
92
+ 0,
93
+ 0,
94
+ 0, // Pair 40-43
95
+ 0,
96
+ 0,
97
+ 0,
98
+ 0,
99
+ 0,
100
+ 0,
101
+ 0,
102
+ 0, // Pair 44-47
103
+
104
+ 0,
105
+ 0,
106
+ 0,
107
+ 0,
108
+ 0,
109
+ 0,
110
+ 0,
111
+ 0, // Pair 48-51
112
+ 0,
113
+ 0,
114
+ 0,
115
+ 0,
116
+ 0,
117
+ 0,
118
+ 0,
119
+ 0, // Pair 52-55
120
+
121
+ 0,
122
+ 0,
123
+ 0,
124
+ 0,
125
+ 0,
126
+ 0,
127
+ 0,
128
+ 0, // Pair 56-59
129
+ 0,
130
+ 0,
131
+ 0,
132
+ 0,
133
+ 0,
134
+ 0,
135
+ 0,
136
+ 0, // Pair 60-63
137
+
138
+ 0,
139
+ 0,
140
+ 0,
141
+ 0,
142
+ 0,
143
+ 0,
144
+ 0,
145
+ 0, // Pair 64-67
146
+ 0,
147
+ 0,
148
+ 0,
149
+ 0,
150
+ 0,
151
+ 0,
152
+ 0,
153
+ 0, // Pair 68-71
154
+
155
+ 0,
156
+ 0,
157
+ 0,
158
+ 0,
159
+ 0,
160
+ 0,
161
+ 0,
162
+ 0, // Pair 72-75
163
+ 0,
164
+ 0,
165
+ 0,
166
+ 0,
167
+ 0,
168
+ 0,
169
+ 0,
170
+ 0, // Pair 76-79
171
+
172
+ 0,
173
+ 0,
174
+ 0,
175
+ 0,
176
+ 0,
177
+ 0,
178
+ 0,
179
+ 0, // Pair 80-83
180
+ 0,
181
+ 0,
182
+ 0,
183
+ 0,
184
+ 0,
185
+ 0,
186
+ 0,
187
+ 0, // Pair 84-87
188
+
189
+ 0,
190
+ 0,
191
+ 0,
192
+ 0,
193
+ 0,
194
+ 0,
195
+ 0,
196
+ 0, // Pair 88-91
197
+ 92,
198
+ 92, // Pair 92-93
199
+ ]);
200
+
201
+ export const DESERIALIZE_ESCAPE_TABLE = memory.data<u8>([
202
+ 0,
203
+ 0,
204
+ 0,
205
+ 0,
206
+ 0,
207
+ 0,
208
+ 0,
209
+ 0, // 0-7
210
+ 0,
211
+ 0,
212
+ 0,
213
+ 0,
214
+ 0,
215
+ 0,
216
+ 0,
217
+ 0, // 8-15
218
+ 0,
219
+ 0,
220
+ 0,
221
+ 0,
222
+ 0,
223
+ 0,
224
+ 0,
225
+ 0, // 16-23
226
+ 0,
227
+ 0,
228
+ 0,
229
+ 0,
230
+ 0,
231
+ 0,
232
+ 0,
233
+ 0, // 24-31
234
+ 0,
235
+ 0,
236
+ 34,
237
+ 0,
238
+ 0,
239
+ 0,
240
+ 0,
241
+ 0, // 32-39
242
+ 0,
243
+ 0,
244
+ 0,
245
+ 0,
246
+ 0,
247
+ 0,
248
+ 0,
249
+ 0, // 40-47
250
+ 0,
251
+ 0,
252
+ 0,
253
+ 0,
254
+ 0,
255
+ 0,
256
+ 0,
257
+ 0, // 48-55
258
+ 0,
259
+ 0,
260
+ 0,
261
+ 0,
262
+ 0,
263
+ 0,
264
+ 0,
265
+ 0, // 56-63
266
+ 0,
267
+ 0,
268
+ 0,
269
+ 0,
270
+ 0,
271
+ 0,
272
+ 0,
273
+ 0, // 64-71
274
+ 0,
275
+ 0,
276
+ 0,
277
+ 0,
278
+ 0,
279
+ 0,
280
+ 0,
281
+ 0, // 72-79
282
+ 0,
283
+ 0,
284
+ 0,
285
+ 0,
286
+ 0,
287
+ 0,
288
+ 0,
289
+ 0, // 80-87
290
+ 0,
291
+ 0,
292
+ 0,
293
+ 0,
294
+ 92,
295
+ 0,
296
+ 0,
297
+ 0, // 88-95
298
+ 0,
299
+ 0,
300
+ 8,
301
+ 0,
302
+ 0,
303
+ 0,
304
+ 12,
305
+ 0, // 96-103
306
+ 0,
307
+ 0,
308
+ 0,
309
+ 0,
310
+ 0,
311
+ 0,
312
+ 10,
313
+ 0, // 104-111
314
+ 0,
315
+ 0,
316
+ 13,
317
+ 0,
318
+ 9,
319
+ 117,
320
+ 0,
321
+ 0, // 112-119
322
+ 0,
323
+ 0,
324
+ 0,
325
+ 0,
326
+ 0,
327
+ 0,
328
+ 0,
329
+ 0, // 120-127
330
+ 0,
331
+ 0,
332
+ 0,
333
+ 0,
334
+ 0,
335
+ 0,
336
+ 0,
337
+ 0, // 128-135
338
+ 0,
339
+ 0,
340
+ 0,
341
+ 0,
342
+ 0,
343
+ 0,
344
+ 0,
345
+ 0, // 136-143
346
+ 0,
347
+ 0,
348
+ 0,
349
+ 0,
350
+ 0,
351
+ 0,
352
+ 0,
353
+ 0, // 144-151
354
+ ]);
355
+
356
+ export const ESCAPE_HEX_TABLE =
357
+ memory.data<u8>([
358
+ 0,
359
+ 1,
360
+ 2,
361
+ 3,
362
+ 4,
363
+ 5,
364
+ 6,
365
+ 7, // 0-7
366
+ 8,
367
+ 9,
368
+ 0,
369
+ 0,
370
+ 0,
371
+ 0,
372
+ 0,
373
+ 0, // 8-15
374
+ 0,
375
+ 0,
376
+ 0,
377
+ 0,
378
+ 0,
379
+ 0,
380
+ 0,
381
+ 0, // 16-23
382
+ 0,
383
+ 0,
384
+ 0,
385
+ 0,
386
+ 0,
387
+ 0,
388
+ 0,
389
+ 0, // 24-31
390
+ 0,
391
+ 0,
392
+ 0,
393
+ 0,
394
+ 0,
395
+ 0,
396
+ 0,
397
+ 0, // 32-39
398
+ 0,
399
+ 0,
400
+ 0,
401
+ 0,
402
+ 0,
403
+ 0,
404
+ 0,
405
+ 0, // 40-47
406
+ 0,
407
+ 10,
408
+ 11,
409
+ 12,
410
+ 13,
411
+ 14,
412
+ 15, // 48-54
413
+ ]) - 48;
414
+
415
+ export const POW_TEN_TABLE_32 = memory.data<u32>([1, 10, 1_000, 10_000, 100_000, 1_000_000, 10_000_000, 100_000_000, 1_000_000_000]);
416
+
417
+ export const POW_TEN_TABLE_64 = memory.data<u64>([1, 10, 1_000, 10_000, 100_000, 1_000_000, 10_000_000, 100_000_000, 1_000_000_000, 10_000_000_000, 100_000_000_000, 1_000_000_000_000, 10_000_000_000_000, 100_000_000_000_000, 1_000_000_000_000_000, 10_000_000_000_000_000, 100_000_000_000_000_000, 1_000_000_000_000_000_000, 10_000_000_000_000_000_000]);
@@ -1,35 +1,31 @@
1
1
  /**
2
- * Class decorator that enables the class to be serializable as JSON.
2
+ * Class decorator that enables the class to be recognized as JSON.
3
3
  */
4
- declare function json(target: any): void;
4
+ declare function json(..._): void;
5
5
 
6
6
  /**
7
- * Class decorator that enables the class to be serializable as JSON.
7
+ * Class decorator that enables the class to be recognized as JSON.
8
8
  */
9
- declare function serializable(target: any): void;
9
+ declare function serializable(..._): void;
10
10
 
11
11
  /**
12
12
  * Property decorator that provides an alias name for JSON serialization.
13
13
  */
14
- declare function alias(name: string): Function;
14
+ declare function alias(newName: string): Function;
15
15
 
16
16
  /**
17
17
  * Property decorator that allows omits a field, making it be ignored.
18
18
  */
19
- declare function omit(): Function;
19
+ declare function omit(..._): void;
20
20
 
21
21
  /**
22
22
  * Property decorator that allows a field to be omitted when equal to an Expression.
23
23
  */
24
- declare function omitif(condition: string): Function;
24
+ declare function omitif(condition: string | ((value: any) => boolean)): Function;
25
25
 
26
26
  /**
27
27
  * Property decorator that allows a field to be omitted when a property is null.
28
28
  */
29
- declare function omitnull(): Function;
29
+ declare function omitnull(..._): Function;
30
30
 
31
- /**
32
- * Property decorator that allows a field to be flattened.
33
- * @param fieldName - Points to the field to flatten. Can use dot-notation here like @omit("foo.identifier.text")
34
- */
35
- declare function flatten(fieldName: string = "value"): Function;
31
+ declare type Raw = number;