json-as 1.2.6 → 1.3.0

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 (348) hide show
  1. package/.as-test/coverage/naive/coverage.arbitrary.spec.ts.log.json +5628 -0
  2. package/.as-test/coverage/naive/coverage.array.spec.ts.log.json +5187 -0
  3. package/.as-test/coverage/naive/coverage.bool.spec.ts.log.json +5187 -0
  4. package/.as-test/coverage/naive/coverage.box.spec.ts.log.json +5187 -0
  5. package/.as-test/coverage/naive/coverage.custom.spec.ts.log.json +5187 -0
  6. package/.as-test/coverage/naive/coverage.date.spec.ts.log.json +5187 -0
  7. package/.as-test/coverage/naive/coverage.enum.spec.ts.log.json +5187 -0
  8. package/.as-test/coverage/naive/coverage.float.spec.ts.log.json +5187 -0
  9. package/.as-test/coverage/naive/coverage.generics.spec.ts.log.json +5187 -0
  10. package/.as-test/coverage/naive/coverage.hierarchy.spec.ts.log.json +5187 -0
  11. package/.as-test/coverage/naive/coverage.integer.spec.ts.log.json +5187 -0
  12. package/.as-test/coverage/naive/coverage.map.spec.ts.log.json +5187 -0
  13. package/.as-test/coverage/naive/coverage.namespace.spec.ts.log.json +5187 -0
  14. package/.as-test/coverage/naive/coverage.null.spec.ts.log.json +5187 -0
  15. package/.as-test/coverage/naive/coverage.raw.spec.ts.log.json +5187 -0
  16. package/.as-test/coverage/naive/coverage.resolving.spec.ts.log.json +5628 -0
  17. package/.as-test/coverage/naive/coverage.set.spec.ts.log.json +5187 -0
  18. package/.as-test/coverage/naive/coverage.staticarray.spec.ts.log.json +5187 -0
  19. package/.as-test/coverage/naive/coverage.string.spec.ts.log.json +5187 -0
  20. package/.as-test/coverage/naive/coverage.struct.spec.ts.log.json +5187 -0
  21. package/.as-test/coverage/naive/coverage.types.spec.ts.log.json +5187 -0
  22. package/.as-test/coverage/simd/coverage.arbitrary.spec.ts.log.json +5628 -0
  23. package/.as-test/coverage/simd/coverage.array.spec.ts.log.json +5187 -0
  24. package/.as-test/coverage/simd/coverage.bool.spec.ts.log.json +5187 -0
  25. package/.as-test/coverage/simd/coverage.box.spec.ts.log.json +5187 -0
  26. package/.as-test/coverage/simd/coverage.custom.spec.ts.log.json +5187 -0
  27. package/.as-test/coverage/simd/coverage.date.spec.ts.log.json +5187 -0
  28. package/.as-test/coverage/simd/coverage.enum.spec.ts.log.json +5187 -0
  29. package/.as-test/coverage/simd/coverage.float.spec.ts.log.json +5187 -0
  30. package/.as-test/coverage/simd/coverage.generics.spec.ts.log.json +5187 -0
  31. package/.as-test/coverage/simd/coverage.hierarchy.spec.ts.log.json +5187 -0
  32. package/.as-test/coverage/simd/coverage.integer.spec.ts.log.json +5187 -0
  33. package/.as-test/coverage/simd/coverage.map.spec.ts.log.json +5187 -0
  34. package/.as-test/coverage/simd/coverage.namespace.spec.ts.log.json +5187 -0
  35. package/.as-test/coverage/simd/coverage.null.spec.ts.log.json +5187 -0
  36. package/.as-test/coverage/simd/coverage.raw.spec.ts.log.json +5187 -0
  37. package/.as-test/coverage/simd/coverage.resolving.spec.ts.log.json +5628 -0
  38. package/.as-test/coverage/simd/coverage.set.spec.ts.log.json +5187 -0
  39. package/.as-test/coverage/simd/coverage.staticarray.spec.ts.log.json +5187 -0
  40. package/.as-test/coverage/simd/coverage.string.spec.ts.log.json +5187 -0
  41. package/.as-test/coverage/simd/coverage.struct.spec.ts.log.json +5187 -0
  42. package/.as-test/coverage/simd/coverage.types.spec.ts.log.json +5187 -0
  43. package/.as-test/coverage/swar/coverage.arbitrary.spec.ts.log.json +5628 -0
  44. package/.as-test/coverage/swar/coverage.array.spec.ts.log.json +5187 -0
  45. package/.as-test/coverage/swar/coverage.bool.spec.ts.log.json +5187 -0
  46. package/.as-test/coverage/swar/coverage.box.spec.ts.log.json +5187 -0
  47. package/.as-test/coverage/swar/coverage.custom.spec.ts.log.json +5187 -0
  48. package/.as-test/coverage/swar/coverage.date.spec.ts.log.json +5187 -0
  49. package/.as-test/coverage/swar/coverage.enum.spec.ts.log.json +5187 -0
  50. package/.as-test/coverage/swar/coverage.float.spec.ts.log.json +5187 -0
  51. package/.as-test/coverage/swar/coverage.generics.spec.ts.log.json +5187 -0
  52. package/.as-test/coverage/swar/coverage.hierarchy.spec.ts.log.json +5187 -0
  53. package/.as-test/coverage/swar/coverage.integer.spec.ts.log.json +5187 -0
  54. package/.as-test/coverage/swar/coverage.map.spec.ts.log.json +5187 -0
  55. package/.as-test/coverage/swar/coverage.namespace.spec.ts.log.json +5187 -0
  56. package/.as-test/coverage/swar/coverage.null.spec.ts.log.json +5187 -0
  57. package/.as-test/coverage/swar/coverage.raw.spec.ts.log.json +5187 -0
  58. package/.as-test/coverage/swar/coverage.resolving.spec.ts.log.json +5628 -0
  59. package/.as-test/coverage/swar/coverage.set.spec.ts.log.json +5187 -0
  60. package/.as-test/coverage/swar/coverage.staticarray.spec.ts.log.json +5187 -0
  61. package/.as-test/coverage/swar/coverage.string.spec.ts.log.json +5187 -0
  62. package/.as-test/coverage/swar/coverage.struct.spec.ts.log.json +5187 -0
  63. package/.as-test/coverage/swar/coverage.types.spec.ts.log.json +5187 -0
  64. package/.as-test/logs/naive/run.arbitrary.spec.ts.log.json +943 -0
  65. package/.as-test/logs/naive/run.array.spec.ts.log.json +1053 -0
  66. package/.as-test/logs/naive/run.bool.spec.ts.log.json +257 -0
  67. package/.as-test/logs/naive/run.box.spec.ts.log.json +353 -0
  68. package/.as-test/logs/naive/run.custom.spec.ts.log.json +309 -0
  69. package/.as-test/logs/naive/run.date.spec.ts.log.json +397 -0
  70. package/.as-test/logs/naive/run.enum.spec.ts.log.json +343 -0
  71. package/.as-test/logs/naive/run.float.spec.ts.log.json +453 -0
  72. package/.as-test/logs/naive/run.generics.spec.ts.log.json +393 -0
  73. package/.as-test/logs/naive/run.hierarchy.spec.ts.log.json +325 -0
  74. package/.as-test/logs/naive/run.integer.spec.ts.log.json +373 -0
  75. package/.as-test/logs/naive/run.map.spec.ts.log.json +247 -0
  76. package/.as-test/logs/naive/run.namespace.spec.ts.log.json +361 -0
  77. package/.as-test/logs/naive/run.null.spec.ts.log.json +273 -0
  78. package/.as-test/logs/naive/run.raw.spec.ts.log.json +309 -0
  79. package/.as-test/logs/naive/run.resolving.spec.ts.log.json +273 -0
  80. package/.as-test/logs/naive/run.set.spec.ts.log.json +733 -0
  81. package/.as-test/logs/naive/run.staticarray.spec.ts.log.json +931 -0
  82. package/.as-test/logs/naive/run.string.spec.ts.log.json +2289 -0
  83. package/.as-test/logs/naive/run.struct.spec.ts.log.json +523 -0
  84. package/.as-test/logs/naive/run.types.spec.ts.log.json +273 -0
  85. package/.as-test/logs/naive/test.arbitrary.spec.ts.log.json +943 -0
  86. package/.as-test/logs/naive/test.array.spec.ts.log.json +1053 -0
  87. package/.as-test/logs/naive/test.bool.spec.ts.log.json +257 -0
  88. package/.as-test/logs/naive/test.box.spec.ts.log.json +353 -0
  89. package/.as-test/logs/naive/test.custom.spec.ts.log.json +309 -0
  90. package/.as-test/logs/naive/test.date.spec.ts.log.json +397 -0
  91. package/.as-test/logs/naive/test.enum.spec.ts.log.json +343 -0
  92. package/.as-test/logs/naive/test.float.spec.ts.log.json +453 -0
  93. package/.as-test/logs/naive/test.generics.spec.ts.log.json +393 -0
  94. package/.as-test/logs/naive/test.hierarchy.spec.ts.log.json +325 -0
  95. package/.as-test/logs/naive/test.integer.spec.ts.log.json +373 -0
  96. package/.as-test/logs/naive/test.log.json +2289 -0
  97. package/.as-test/logs/naive/test.map.spec.ts.log.json +247 -0
  98. package/.as-test/logs/naive/test.namespace.spec.ts.log.json +361 -0
  99. package/.as-test/logs/naive/test.null.spec.ts.log.json +273 -0
  100. package/.as-test/logs/naive/test.raw.spec.ts.log.json +309 -0
  101. package/.as-test/logs/naive/test.resolving.spec.ts.log.json +273 -0
  102. package/.as-test/logs/naive/test.set.spec.ts.log.json +733 -0
  103. package/.as-test/logs/naive/test.staticarray.spec.ts.log.json +931 -0
  104. package/.as-test/logs/naive/test.string.spec.ts.log.json +2345 -0
  105. package/.as-test/logs/naive/test.struct.spec.ts.log.json +523 -0
  106. package/.as-test/logs/naive/test.types.spec.ts.log.json +273 -0
  107. package/.as-test/logs/simd/run.arbitrary.spec.ts.log.json +943 -0
  108. package/.as-test/logs/simd/run.array.spec.ts.log.json +1053 -0
  109. package/.as-test/logs/simd/run.bool.spec.ts.log.json +257 -0
  110. package/.as-test/logs/simd/run.box.spec.ts.log.json +353 -0
  111. package/.as-test/logs/simd/run.custom.spec.ts.log.json +309 -0
  112. package/.as-test/logs/simd/run.date.spec.ts.log.json +397 -0
  113. package/.as-test/logs/simd/run.enum.spec.ts.log.json +343 -0
  114. package/.as-test/logs/simd/run.float.spec.ts.log.json +453 -0
  115. package/.as-test/logs/simd/run.generics.spec.ts.log.json +393 -0
  116. package/.as-test/logs/simd/run.hierarchy.spec.ts.log.json +325 -0
  117. package/.as-test/logs/simd/run.integer.spec.ts.log.json +373 -0
  118. package/.as-test/logs/simd/run.map.spec.ts.log.json +247 -0
  119. package/.as-test/logs/simd/run.namespace.spec.ts.log.json +361 -0
  120. package/.as-test/logs/simd/run.null.spec.ts.log.json +273 -0
  121. package/.as-test/logs/simd/run.raw.spec.ts.log.json +309 -0
  122. package/.as-test/logs/simd/run.resolving.spec.ts.log.json +273 -0
  123. package/.as-test/logs/simd/run.set.spec.ts.log.json +733 -0
  124. package/.as-test/logs/simd/run.staticarray.spec.ts.log.json +931 -0
  125. package/.as-test/logs/simd/run.string.spec.ts.log.json +2289 -0
  126. package/.as-test/logs/simd/run.struct.spec.ts.log.json +523 -0
  127. package/.as-test/logs/simd/run.types.spec.ts.log.json +273 -0
  128. package/.as-test/logs/simd/test.arbitrary.spec.ts.log.json +943 -0
  129. package/.as-test/logs/simd/test.array.spec.ts.log.json +1053 -0
  130. package/.as-test/logs/simd/test.bool.spec.ts.log.json +257 -0
  131. package/.as-test/logs/simd/test.box.spec.ts.log.json +353 -0
  132. package/.as-test/logs/simd/test.custom.spec.ts.log.json +309 -0
  133. package/.as-test/logs/simd/test.date.spec.ts.log.json +397 -0
  134. package/.as-test/logs/simd/test.enum.spec.ts.log.json +343 -0
  135. package/.as-test/logs/simd/test.float.spec.ts.log.json +453 -0
  136. package/.as-test/logs/simd/test.generics.spec.ts.log.json +393 -0
  137. package/.as-test/logs/simd/test.hierarchy.spec.ts.log.json +325 -0
  138. package/.as-test/logs/simd/test.integer.spec.ts.log.json +373 -0
  139. package/.as-test/logs/simd/test.log.json +11371 -0
  140. package/.as-test/logs/simd/test.map.spec.ts.log.json +247 -0
  141. package/.as-test/logs/simd/test.namespace.spec.ts.log.json +361 -0
  142. package/.as-test/logs/simd/test.null.spec.ts.log.json +273 -0
  143. package/.as-test/logs/simd/test.raw.spec.ts.log.json +309 -0
  144. package/.as-test/logs/simd/test.resolving.spec.ts.log.json +273 -0
  145. package/.as-test/logs/simd/test.set.spec.ts.log.json +733 -0
  146. package/.as-test/logs/simd/test.staticarray.spec.ts.log.json +931 -0
  147. package/.as-test/logs/simd/test.string.spec.ts.log.json +2345 -0
  148. package/.as-test/logs/simd/test.struct.spec.ts.log.json +523 -0
  149. package/.as-test/logs/simd/test.types.spec.ts.log.json +273 -0
  150. package/.as-test/logs/swar/run.arbitrary.spec.ts.log.json +943 -0
  151. package/.as-test/logs/swar/run.array.spec.ts.log.json +1053 -0
  152. package/.as-test/logs/swar/run.bool.spec.ts.log.json +257 -0
  153. package/.as-test/logs/swar/run.box.spec.ts.log.json +353 -0
  154. package/.as-test/logs/swar/run.custom.spec.ts.log.json +309 -0
  155. package/.as-test/logs/swar/run.date.spec.ts.log.json +397 -0
  156. package/.as-test/logs/swar/run.enum.spec.ts.log.json +343 -0
  157. package/.as-test/logs/swar/run.float.spec.ts.log.json +453 -0
  158. package/.as-test/logs/swar/run.generics.spec.ts.log.json +393 -0
  159. package/.as-test/logs/swar/run.hierarchy.spec.ts.log.json +325 -0
  160. package/.as-test/logs/swar/run.integer.spec.ts.log.json +373 -0
  161. package/.as-test/logs/swar/run.map.spec.ts.log.json +247 -0
  162. package/.as-test/logs/swar/run.namespace.spec.ts.log.json +361 -0
  163. package/.as-test/logs/swar/run.null.spec.ts.log.json +273 -0
  164. package/.as-test/logs/swar/run.raw.spec.ts.log.json +309 -0
  165. package/.as-test/logs/swar/run.resolving.spec.ts.log.json +273 -0
  166. package/.as-test/logs/swar/run.set.spec.ts.log.json +733 -0
  167. package/.as-test/logs/swar/run.staticarray.spec.ts.log.json +931 -0
  168. package/.as-test/logs/swar/run.string.spec.ts.log.json +2289 -0
  169. package/.as-test/logs/swar/run.struct.spec.ts.log.json +523 -0
  170. package/.as-test/logs/swar/run.types.spec.ts.log.json +273 -0
  171. package/.as-test/logs/swar/test.arbitrary.spec.ts.log.json +943 -0
  172. package/.as-test/logs/swar/test.array.spec.ts.log.json +1053 -0
  173. package/.as-test/logs/swar/test.bool.spec.ts.log.json +257 -0
  174. package/.as-test/logs/swar/test.box.spec.ts.log.json +353 -0
  175. package/.as-test/logs/swar/test.custom.spec.ts.log.json +309 -0
  176. package/.as-test/logs/swar/test.date.spec.ts.log.json +397 -0
  177. package/.as-test/logs/swar/test.enum.spec.ts.log.json +343 -0
  178. package/.as-test/logs/swar/test.float.spec.ts.log.json +453 -0
  179. package/.as-test/logs/swar/test.generics.spec.ts.log.json +393 -0
  180. package/.as-test/logs/swar/test.hierarchy.spec.ts.log.json +325 -0
  181. package/.as-test/logs/swar/test.integer.spec.ts.log.json +373 -0
  182. package/.as-test/logs/swar/test.log.json +11371 -0
  183. package/.as-test/logs/swar/test.map.spec.ts.log.json +247 -0
  184. package/.as-test/logs/swar/test.namespace.spec.ts.log.json +361 -0
  185. package/.as-test/logs/swar/test.null.spec.ts.log.json +273 -0
  186. package/.as-test/logs/swar/test.raw.spec.ts.log.json +309 -0
  187. package/.as-test/logs/swar/test.resolving.spec.ts.log.json +273 -0
  188. package/.as-test/logs/swar/test.set.spec.ts.log.json +733 -0
  189. package/.as-test/logs/swar/test.staticarray.spec.ts.log.json +931 -0
  190. package/.as-test/logs/swar/test.string.spec.ts.log.json +2345 -0
  191. package/.as-test/logs/swar/test.struct.spec.ts.log.json +523 -0
  192. package/.as-test/logs/swar/test.types.spec.ts.log.json +273 -0
  193. package/.as-test/logs/test.arbitrary.spec.ts.log.json +943 -0
  194. package/.as-test/logs/test.array.spec.ts.log.json +1053 -0
  195. package/.as-test/logs/test.bool.spec.ts.log.json +257 -0
  196. package/.as-test/logs/test.box.spec.ts.log.json +353 -0
  197. package/.as-test/logs/test.custom.spec.ts.log.json +309 -0
  198. package/.as-test/logs/test.date.spec.ts.log.json +397 -0
  199. package/.as-test/logs/test.enum.spec.ts.log.json +343 -0
  200. package/.as-test/logs/test.float.spec.ts.log.json +453 -0
  201. package/.as-test/logs/test.generics.spec.ts.log.json +393 -0
  202. package/.as-test/logs/test.hierarchy.spec.ts.log.json +325 -0
  203. package/.as-test/logs/test.integer.spec.ts.log.json +373 -0
  204. package/.as-test/logs/test.log.json +11371 -0
  205. package/.as-test/logs/test.map.spec.ts.log.json +247 -0
  206. package/.as-test/logs/test.namespace.spec.ts.log.json +361 -0
  207. package/.as-test/logs/test.null.spec.ts.log.json +273 -0
  208. package/.as-test/logs/test.raw.spec.ts.log.json +309 -0
  209. package/.as-test/logs/test.resolving.spec.ts.log.json +273 -0
  210. package/.as-test/logs/test.set.spec.ts.log.json +733 -0
  211. package/.as-test/logs/test.staticarray.spec.ts.log.json +931 -0
  212. package/.as-test/logs/test.string.spec.ts.log.json +2289 -0
  213. package/.as-test/logs/test.struct.spec.ts.log.json +523 -0
  214. package/.as-test/logs/test.types.spec.ts.log.json +273 -0
  215. package/.as-test/runners/default.bindings.js +68 -0
  216. package/.as-test/runners/default.wasi.js +38 -0
  217. package/ARCHITECTURE.md +6 -3
  218. package/CONTRIBUTING.md +9 -3
  219. package/README.md +39 -22
  220. package/as-test.config.json +40 -0
  221. package/assembly/custom/util.ts +24 -70
  222. package/assembly/deserialize/float.ts +181 -0
  223. package/assembly/deserialize/helpers/uint.ts +12 -0
  224. package/assembly/deserialize/index/arbitrary.ts +25 -0
  225. package/assembly/deserialize/index/array.ts +61 -0
  226. package/assembly/deserialize/index/bool.ts +1 -0
  227. package/assembly/deserialize/index/date.ts +1 -0
  228. package/assembly/deserialize/index/float.ts +1 -0
  229. package/assembly/deserialize/index/integer.ts +1 -0
  230. package/assembly/deserialize/index/map.ts +1 -0
  231. package/assembly/deserialize/index/object.ts +1 -0
  232. package/assembly/deserialize/index/raw.ts +1 -0
  233. package/assembly/deserialize/index/set.ts +1 -0
  234. package/assembly/deserialize/index/staticarray.ts +1 -0
  235. package/assembly/deserialize/index/string.ts +15 -0
  236. package/assembly/deserialize/index/struct.ts +1 -0
  237. package/assembly/deserialize/index/typedarray.ts +1 -0
  238. package/assembly/deserialize/index/unsigned.ts +1 -0
  239. package/assembly/deserialize/index.ts +14 -0
  240. package/assembly/deserialize/integer.ts +42 -0
  241. package/assembly/deserialize/simd/array/integer.ts +307 -0
  242. package/assembly/deserialize/simd/string.ts +129 -10
  243. package/assembly/deserialize/simple/arbitrary.ts +5 -12
  244. package/assembly/deserialize/simple/array/arbitrary.ts +12 -36
  245. package/assembly/deserialize/simple/array/array.ts +2 -8
  246. package/assembly/deserialize/simple/array/bool.ts +2 -8
  247. package/assembly/deserialize/simple/array/box.ts +2 -8
  248. package/assembly/deserialize/simple/array/float.ts +2 -8
  249. package/assembly/deserialize/simple/array/integer.ts +2 -8
  250. package/assembly/deserialize/simple/array/map.ts +6 -26
  251. package/assembly/deserialize/simple/array/object.ts +6 -26
  252. package/assembly/deserialize/simple/array/raw.ts +18 -61
  253. package/assembly/deserialize/simple/array/string.ts +5 -10
  254. package/assembly/deserialize/simple/array/struct.ts +6 -26
  255. package/assembly/deserialize/simple/array.ts +2 -5
  256. package/assembly/deserialize/simple/bool.ts +2 -6
  257. package/assembly/deserialize/simple/map.ts +29 -102
  258. package/assembly/deserialize/simple/object.ts +24 -81
  259. package/assembly/deserialize/simple/raw.ts +1 -4
  260. package/assembly/deserialize/simple/set.ts +11 -37
  261. package/assembly/deserialize/simple/staticarray/array.ts +1 -1
  262. package/assembly/deserialize/simple/staticarray/bool.ts +1 -1
  263. package/assembly/deserialize/simple/staticarray/float.ts +1 -1
  264. package/assembly/deserialize/simple/staticarray/integer.ts +1 -1
  265. package/assembly/deserialize/simple/staticarray/string.ts +7 -14
  266. package/assembly/deserialize/simple/staticarray/struct.ts +1 -1
  267. package/assembly/deserialize/simple/staticarray.ts +57 -21
  268. package/assembly/deserialize/simple/string.ts +2 -8
  269. package/assembly/deserialize/simple/struct.ts +25 -121
  270. package/assembly/deserialize/simple/typedarray.ts +94 -0
  271. package/assembly/deserialize/swar/array/arbitrary.ts +8 -0
  272. package/assembly/deserialize/swar/array/array.ts +39 -0
  273. package/assembly/deserialize/swar/array/bool.ts +47 -0
  274. package/assembly/deserialize/swar/array/box.ts +8 -0
  275. package/assembly/deserialize/swar/array/float.ts +39 -0
  276. package/assembly/deserialize/swar/array/integer.ts +461 -0
  277. package/assembly/deserialize/swar/array/map.ts +7 -0
  278. package/assembly/deserialize/swar/array/object.ts +44 -0
  279. package/assembly/deserialize/swar/array/raw.ts +8 -0
  280. package/assembly/deserialize/swar/array/shared.ts +96 -0
  281. package/assembly/deserialize/swar/array/string.ts +39 -0
  282. package/assembly/deserialize/swar/array/struct.ts +44 -0
  283. package/assembly/deserialize/swar/array.ts +49 -0
  284. package/assembly/deserialize/swar/string.ts +650 -14
  285. package/assembly/deserialize/unsigned.ts +75 -0
  286. package/assembly/index.d.ts +1 -3
  287. package/assembly/index.ts +251 -265
  288. package/assembly/serialize/index/arbitrary.ts +70 -0
  289. package/assembly/serialize/index/array.ts +1 -0
  290. package/assembly/serialize/index/bool.ts +1 -0
  291. package/assembly/serialize/index/date.ts +1 -0
  292. package/assembly/serialize/index/float.ts +1 -0
  293. package/assembly/serialize/index/integer.ts +1 -0
  294. package/assembly/serialize/index/map.ts +1 -0
  295. package/assembly/serialize/index/object.ts +46 -0
  296. package/assembly/serialize/index/raw.ts +1 -0
  297. package/assembly/serialize/index/set.ts +1 -0
  298. package/assembly/serialize/index/staticarray.ts +1 -0
  299. package/assembly/serialize/index/string.ts +15 -0
  300. package/assembly/serialize/index/struct.ts +1 -0
  301. package/assembly/serialize/index/typedarray.ts +1 -0
  302. package/assembly/serialize/index.ts +13 -0
  303. package/assembly/serialize/simd/string.ts +1 -2
  304. package/assembly/serialize/simple/raw.ts +1 -5
  305. package/assembly/serialize/simple/typedarray.ts +63 -0
  306. package/assembly/serialize/swar/string.ts +3 -10
  307. package/assembly/test.ts +21 -27
  308. package/assembly/util/concat.ts +1 -5
  309. package/assembly/util/index.ts +1 -0
  310. package/assembly/util/masks.ts +12 -18
  311. package/assembly/util/memory.ts +0 -0
  312. package/assembly/util/snp.ts +1 -4
  313. package/assembly/util/stringScan.ts +24 -0
  314. package/assembly/util/swar.ts +1 -6
  315. package/eslint.config.js +21 -13
  316. package/lib/as-bs.ts +69 -78
  317. package/package.json +8 -5
  318. package/test.ts +99 -0
  319. package/tools/assemblyscript-eslint-local.js +1 -24
  320. package/tools/assemblyscript-eslint.js +38 -14
  321. package/tools/assemblyscript-prettier-plugin.js +33 -0
  322. package/tools/replacer.js +63 -0
  323. package/transform/lib/builder.d.ts.map +1 -1
  324. package/transform/lib/builder.js +5 -13
  325. package/transform/lib/builder.js.map +1 -1
  326. package/transform/lib/index.d.ts.map +1 -1
  327. package/transform/lib/index.js +529 -735
  328. package/transform/lib/index.js.map +1 -1
  329. package/transform/lib/linkers/alias.d.ts.map +1 -1
  330. package/transform/lib/linkers/alias.js.map +1 -1
  331. package/transform/lib/linkers/custom.d.ts.map +1 -1
  332. package/transform/lib/linkers/custom.js +4 -9
  333. package/transform/lib/linkers/custom.js.map +1 -1
  334. package/transform/lib/linkers/imports.d.ts.map +1 -1
  335. package/transform/lib/linkers/imports.js.map +1 -1
  336. package/transform/lib/types.d.ts +4 -0
  337. package/transform/lib/types.d.ts.map +1 -1
  338. package/transform/lib/types.js +70 -21
  339. package/transform/lib/types.js.map +1 -1
  340. package/transform/lib/util.d.ts.map +1 -1
  341. package/transform/lib/util.js +1 -1
  342. package/transform/lib/util.js.map +1 -1
  343. package/transform/lib/visitor.d.ts.map +1 -1
  344. package/transform/lib/visitor.js +1 -2
  345. package/transform/lib/visitor.js.map +1 -1
  346. package/.prettierrc +0 -3
  347. package/assembly/deserialize/simple/float.ts +0 -11
  348. package/assembly/deserialize/simple/integer.ts +0 -9
package/lib/as-bs.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { OBJECT, TOTAL_OVERHEAD } from "rt/common";
2
+ import { heap } from "memory";
2
3
 
3
4
  // Buffer management constants
4
- const SHRINK_EVERY_N: usize = 200;
5
+ const SHRINK_EVERY_N_MASK: usize = 255; // check every 256 outputs
5
6
  const MIN_BUFFER_SIZE: usize = 128;
6
7
 
7
8
  // Exponential moving average smoothing factor (0.0 to 1.0)
@@ -13,11 +14,11 @@ const EMA_ALPHA_SHIFT: usize = 3; // 1/8 = 0.125
13
14
  * Central buffer namespace for managing memory operations.
14
15
  */
15
16
  export namespace bs {
16
- /** Current buffer pointer. */
17
- export let buffer: ArrayBuffer = new ArrayBuffer(i32(MIN_BUFFER_SIZE));
17
+ /** Current unmanaged backing store pointer. */
18
+ export let buffer: usize = heap.alloc(MIN_BUFFER_SIZE);
18
19
 
19
20
  /** Current offset within the buffer. */
20
- export let offset: usize = changetype<usize>(buffer);
21
+ export let offset: usize = buffer;
21
22
 
22
23
  /** Byte length of the buffer. */
23
24
  let bufferSize: usize = MIN_BUFFER_SIZE;
@@ -46,15 +47,50 @@ export namespace bs {
46
47
  typicalSize += (newSize - typicalSize) >> EMA_ALPHA_SHIFT;
47
48
  }
48
49
 
50
+ // @ts-expect-error: @inline is a valid decorator
51
+ @inline function renewBuffer(newSize: usize): void {
52
+ const oldPtr = buffer;
53
+ const newPtr = heap.realloc(oldPtr, newSize);
54
+ const delta = newPtr - oldPtr;
55
+ offset += delta;
56
+ if (pauseOffset != 0) pauseOffset += delta;
57
+ buffer = newPtr;
58
+ bufferSize = newSize;
59
+ }
60
+
61
+ // @ts-expect-error: @inline is a valid decorator
62
+ @inline function reserve(requiredSize: usize, extra: usize): void {
63
+ if (requiredSize <= bufferSize) return;
64
+ // Grow aggressively (2x) to minimize realloc frequency in hot serialization paths.
65
+ let next = bufferSize << 1;
66
+ const minNext = requiredSize + extra;
67
+ if (next < minNext) next = minNext;
68
+ renewBuffer(next);
69
+ }
70
+
71
+ // @ts-expect-error: @inline is a valid decorator
72
+ @inline function finalizeDynamicOutput(len: usize): void {
73
+ counter += 1;
74
+ updateTypicalSize(len);
75
+ if ((counter & SHRINK_EVERY_N_MASK) == 0 && bufferSize > typicalSize << 2) {
76
+ resize(u32(typicalSize << 1));
77
+ }
78
+ offset = buffer;
79
+ stackSize = 0;
80
+ }
81
+
49
82
  export let cacheOutput: usize = 0;
50
83
  export let cacheOutputLen: usize = 0;
51
84
 
52
85
  // @ts-expect-error: @inline is a valid decorator
53
86
  @inline export function digestArena(): void {
54
87
  if (cacheOutput === 0) return;
55
- proposeSize(cacheOutputLen);
56
- memory.copy(bs.offset, cacheOutput, cacheOutputLen);
88
+ const len = cacheOutputLen;
89
+ proposeSize(<u32>len);
90
+ memory.copy(offset, cacheOutput, len);
91
+ offset += len;
57
92
  bs.cacheOutput = 0;
93
+ bs.cacheOutputLen = 0;
58
94
  }
59
95
  /**
60
96
  * Stores the state of the buffer, allowing further changes to be reset
@@ -93,16 +129,7 @@ export namespace bs {
93
129
  */
94
130
  // @ts-expect-error: @inline is a valid decorator
95
131
  @inline export function ensureSize(size: u32): void {
96
- if (offset + usize(size) > bufferSize + changetype<usize>(buffer)) {
97
- const deltaBytes = usize(size) + MIN_BUFFER_SIZE;
98
- bufferSize += deltaBytes;
99
- // @ts-expect-error: __renew is a runtime builtin
100
- const newPtr = changetype<ArrayBuffer>(
101
- __renew(changetype<usize>(buffer), bufferSize),
102
- );
103
- offset = offset + changetype<usize>(newPtr) - changetype<usize>(buffer);
104
- buffer = newPtr;
105
- }
132
+ reserve(offset - buffer + usize(size), MIN_BUFFER_SIZE);
106
133
  }
107
134
 
108
135
  /**
@@ -112,16 +139,8 @@ export namespace bs {
112
139
  */
113
140
  // @ts-expect-error: @inline is a valid decorator
114
141
  @inline export function proposeSize(size: u32): void {
115
- if ((stackSize += size) > bufferSize) {
116
- const deltaBytes = size;
117
- bufferSize += deltaBytes;
118
- // @ts-expect-error: __renew is a runtime builtin
119
- const newPtr = changetype<ArrayBuffer>(
120
- __renew(changetype<usize>(buffer), bufferSize),
121
- );
122
- offset = offset + changetype<usize>(newPtr) - changetype<usize>(buffer);
123
- buffer = newPtr;
124
- }
142
+ stackSize += size;
143
+ reserve(stackSize, 0);
125
144
  }
126
145
 
127
146
  /**
@@ -131,16 +150,8 @@ export namespace bs {
131
150
  */
132
151
  // @ts-expect-error: @inline is a valid decorator
133
152
  @inline export function growSize(size: u32): void {
134
- if ((stackSize += size) > bufferSize) {
135
- const deltaBytes = usize(size) + MIN_BUFFER_SIZE;
136
- bufferSize += deltaBytes;
137
- // @ts-expect-error: __renew is a runtime builtin
138
- const newPtr = changetype<ArrayBuffer>(
139
- __renew(changetype<usize>(buffer), bufferSize),
140
- );
141
- offset = offset + changetype<usize>(newPtr) - changetype<usize>(buffer);
142
- buffer = newPtr;
143
- }
153
+ stackSize += size;
154
+ reserve(stackSize, MIN_BUFFER_SIZE);
144
155
  }
145
156
 
146
157
  /**
@@ -149,13 +160,13 @@ export namespace bs {
149
160
  */
150
161
  // @ts-expect-error: @inline is a valid decorator
151
162
  @inline export function resize(newSize: u32): void {
152
- // @ts-expect-error: __renew is a runtime builtin
153
- const newPtr = changetype<ArrayBuffer>(
154
- __renew(changetype<usize>(buffer), newSize),
155
- );
156
- bufferSize = newSize;
157
- offset = changetype<usize>(newPtr);
163
+ const oldPtr = buffer;
164
+ const newPtr = heap.realloc(buffer, newSize);
165
+ const delta = newPtr - oldPtr;
166
+ if (pauseOffset != 0) pauseOffset += delta;
158
167
  buffer = newPtr;
168
+ bufferSize = newSize;
169
+ offset = buffer;
159
170
  stackSize = 0;
160
171
  }
161
172
 
@@ -166,10 +177,10 @@ export namespace bs {
166
177
  // @ts-expect-error: @inline is a valid decorator
167
178
  @inline export function cpyOut<T>(): T {
168
179
  if (pauseOffset == 0) {
169
- const len = offset - changetype<usize>(buffer);
180
+ const len = offset - buffer;
170
181
  // @ts-expect-error: __new is a runtime builtin
171
182
  const _out = __new(len, idof<T>());
172
- memory.copy(_out, changetype<usize>(buffer), len);
183
+ memory.copy(_out, buffer, len);
173
184
  return changetype<T>(_out);
174
185
  } else {
175
186
  const len = offset - pauseOffset;
@@ -191,19 +202,11 @@ export namespace bs {
191
202
  @inline export function out<T>(): T {
192
203
  let out: usize;
193
204
  if (cacheOutput === 0) {
194
- const len = offset - changetype<usize>(buffer);
205
+ const len = offset - buffer;
195
206
  // @ts-expect-error: __new is a runtime builtin
196
207
  out = __new(len, idof<T>());
197
- memory.copy(out, changetype<usize>(buffer), len);
198
-
199
- counter++;
200
- // Use exponential moving average for smoother size tracking
201
- updateTypicalSize(len);
202
- if (counter >= SHRINK_EVERY_N) {
203
- // Shrink if buffer is 4x larger than typical, resize to 2x typical
204
- if (bufferSize > typicalSize << 2) resize(u32(typicalSize << 1));
205
- counter = 0;
206
- }
208
+ memory.copy(out, buffer, len);
209
+ finalizeDynamicOutput(len);
207
210
  } else {
208
211
  // zero-copy path
209
212
  // @ts-expect-error: __new is a runtime builtin
@@ -211,10 +214,10 @@ export namespace bs {
211
214
  memory.copy(out, cacheOutput, cacheOutputLen);
212
215
  // reset arena flag
213
216
  cacheOutput = 0;
217
+ cacheOutputLen = 0;
218
+ offset = buffer;
219
+ stackSize = 0;
214
220
  }
215
-
216
- offset = changetype<usize>(buffer);
217
- stackSize = 0;
218
221
  return changetype<T>(out);
219
222
  }
220
223
 
@@ -224,10 +227,10 @@ export namespace bs {
224
227
  */
225
228
  // @ts-expect-error: @inline is a valid decorator
226
229
  @inline export function view<T>(): T {
227
- const len = offset - changetype<usize>(buffer);
230
+ const len = offset - buffer;
228
231
  // @ts-expect-error: __new is a runtime builtin
229
232
  const _out = __new(len, idof<T>());
230
- memory.copy(_out, changetype<usize>(buffer), len);
233
+ memory.copy(_out, buffer, len);
231
234
  return changetype<T>(_out);
232
235
  }
233
236
 
@@ -239,26 +242,14 @@ export namespace bs {
239
242
  */
240
243
  // @ts-expect-error: @inline is a valid decorator
241
244
  @inline export function outTo<T>(dst: usize): T {
242
- const len = offset - changetype<usize>(buffer);
243
- // @ts-expect-error: __renew is a runtime builtin
244
- if (len != changetype<OBJECT>(dst - TOTAL_OVERHEAD).rtSize)
245
- __renew(len, idof<T>());
246
- memory.copy(dst, changetype<usize>(buffer), len);
247
-
248
- counter++;
249
- // Use exponential moving average for smoother size tracking
250
- updateTypicalSize(len);
251
-
252
- if (counter >= SHRINK_EVERY_N) {
253
- // Shrink if buffer is 4x larger than typical, resize to 2x typical
254
- if (bufferSize > typicalSize << 2) {
255
- resize(typicalSize << 1);
256
- }
257
- counter = 0;
245
+ const len = offset - buffer;
246
+ if (len != changetype<OBJECT>(dst - TOTAL_OVERHEAD).rtSize) {
247
+ // @ts-expect-error: __renew is a runtime builtin
248
+ dst = __renew(dst, len);
258
249
  }
250
+ memory.copy(dst, buffer, len);
259
251
 
260
- offset = changetype<usize>(buffer);
261
- stackSize = 0;
252
+ finalizeDynamicOutput(len);
262
253
  return changetype<T>(dst);
263
254
  }
264
255
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "json-as",
3
- "version": "1.2.6",
3
+ "version": "1.3.0",
4
4
  "author": "Jairus Tanaka",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,14 +12,13 @@
12
12
  "@assemblyscript/wasi-shim": "^0.1.0",
13
13
  "@eslint/js": "^9.0.0",
14
14
  "@types/node": "^25.0.10",
15
- "as-heap-analyzer": "^1.2.0",
15
+ "as-test": "^1.0.1",
16
16
  "assemblyscript": "^0.28.9",
17
17
  "assemblyscript-prettier": "^3.0.1",
18
18
  "chartjs-node-canvas": "^5.0.0",
19
19
  "chartjs-plugin-datalabels": "^2.2.0",
20
20
  "eslint": "^10.0.0",
21
- "globals": "^17.0.0",
22
- "prettier": "3.6.2",
21
+ "prettier": "3.8.1",
23
22
  "tinybench": "^6.0.0",
24
23
  "typescript": "^5.9.3",
25
24
  "typescript-eslint": "^8.0.0"
@@ -63,9 +62,13 @@
63
62
  },
64
63
  "scripts": {
65
64
  "ci": "act",
66
- "test": "bash ./run-tests.sh",
65
+ "test": "ast test --disable coverage --disable try-as",
66
+ "test:ci": "ast test --disable coverage --clean",
67
+ "test:coverage": "ast test --enable coverage",
68
+ "bench": "npm run bench:as && npm run bench:js && ./build-charts.sh",
67
69
  "bench:as": "bash ./run-bench.as.sh",
68
70
  "bench:js": "bash ./run-bench.js.sh",
71
+ "bench:publish": "bash ./publish-benchmarks.sh",
69
72
  "build:test": "JSON_DEBUG=0 JSON_WRITE=assembly/test.ts asc assembly/test.ts --transform ./transform -o ./build/test.wasm --textFile ./build/test.wat --enable simd --debug --config ./node_modules/@assemblyscript/wasi-shim/asconfig.json",
70
73
  "build:tmp:test": "JSON_DEBUG=1 asc assembly/test.tmp.ts -o ./build/test.wasm --textFile ./build/test.wat --enable simd --debug --config ./node_modules/@assemblyscript/wasi-shim/asconfig.json",
71
74
  "build:test:wine": "JSON_DEBUG=1 JSON_WRITE=assembly/test.ts NODE_SKIP_PLATFORM_CHECK=1 wine ~/.win-bin/node/node.exe ./node_modules/assemblyscript/bin/asc.js assembly/test.ts --transform ./transform -o ./build/test.wasm --textFile ./build/test.wat --debug --config ./node_modules/@assemblyscript/wasi-shim/asconfig.json",
package/test.ts ADDED
@@ -0,0 +1,99 @@
1
+ class UserPreferences {
2
+ theme!: string;
3
+ notifications!: boolean;
4
+ language!: string;
5
+ timezone!: string;
6
+ privacy_level!: string;
7
+ two_factor_enabled!: boolean;
8
+ }
9
+
10
+ class RecentActivity {
11
+ action!: string;
12
+ timestamp!: string;
13
+ target!: string;
14
+ }
15
+
16
+ class MediumAPIResponse {
17
+ id!: number;
18
+ username!: string;
19
+ full_name!: string;
20
+ email!: string;
21
+ avatar_url!: string;
22
+ bio!: string;
23
+ website!: string;
24
+ location!: string;
25
+ joined_at!: string;
26
+ is_verified!: boolean;
27
+ is_premium!: boolean;
28
+ follower_count!: number;
29
+ following_count!: number;
30
+
31
+ preferences!: UserPreferences;
32
+ tags!: string[];
33
+
34
+ recent_activity!: RecentActivity[];
35
+ }
36
+
37
+ const v1 = new MediumAPIResponse();
38
+ const prefs = new UserPreferences();
39
+
40
+ prefs.theme = "dark";
41
+ prefs.notifications = true;
42
+ prefs.language = "en-US";
43
+ prefs.timezone = "America/Los_Angeles";
44
+ prefs.privacy_level = "friends_only";
45
+ prefs.two_factor_enabled = false;
46
+
47
+ v1.id = 42;
48
+ v1.username = "jairus";
49
+ v1.full_name = "Jairus Tanaka";
50
+ v1.email = "me@jairus.dev";
51
+ v1.avatar_url = "https://avatars.githubusercontent.com/u/123456?v=4";
52
+ v1.bio = "I like compilers, elegant algorithms, bare metal, simd, and wasm.";
53
+ v1.website = "https://jairus.dev/";
54
+ v1.location = "Seattle, WA";
55
+ v1.joined_at = "2020-01-15T08:30:00Z";
56
+ v1.is_verified = true;
57
+ v1.is_premium = true;
58
+ v1.follower_count = 61;
59
+ v1.following_count = 39;
60
+
61
+ v1.preferences = prefs;
62
+
63
+ v1.tags = ["typescript", "webassembly", "performance", "rust", "assemblyscript", "json"];
64
+
65
+ v1.recent_activity = new Array<RecentActivity>(5);
66
+
67
+ const act0 = new RecentActivity();
68
+ act0.action = "starred";
69
+ act0.timestamp = "2025-12-22T10:15:00Z";
70
+ act0.target = "assemblyscript/json-as";
71
+ v1.recent_activity[0] = act0;
72
+
73
+ const act1 = new RecentActivity();
74
+ act1.action = "commented";
75
+ act1.timestamp = "2025-12-22T09:42:00Z";
76
+ act1.target = "issue #142";
77
+ v1.recent_activity[1] = act1;
78
+
79
+ const act2 = new RecentActivity();
80
+ act2.action = "pushed";
81
+ act2.timestamp = "2025-12-21T23:58:00Z";
82
+ act2.target = "main branch";
83
+ v1.recent_activity[2] = act2;
84
+
85
+ const act3 = new RecentActivity();
86
+ act3.action = "forked";
87
+ act3.timestamp = "2025-12-21T18:20:00Z";
88
+ act3.target = "fast-json-wasm";
89
+ v1.recent_activity[3] = act3;
90
+
91
+ const act4 = new RecentActivity();
92
+ act4.action = "created";
93
+ act4.timestamp = "2025-12-21T14:10:00Z";
94
+ act4.target = "new benchmark suite";
95
+ v1.recent_activity[4] = act4;
96
+
97
+ const serialized = JSON.stringify(v1);
98
+
99
+ console.log(serialized);
@@ -3,27 +3,4 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
 
6
- /* ESLint configuration for AssemblyScript */
7
-
8
- import * as ts from "typescript";
9
- import * as parser from "@typescript-eslint/parser";
10
- import utils from "../node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js";
11
-
12
- // In AssemblyScript, functions and variables can be decorated
13
- const nodeCanBeDecorated = utils.nodeCanBeDecorated;
14
- utils.nodeCanBeDecorated = function (node) {
15
- switch (node.kind) {
16
- case ts.SyntaxKind.FunctionDeclaration:
17
- case ts.SyntaxKind.VariableStatement:
18
- return true;
19
- default:
20
- return nodeCanBeDecorated(node);
21
- }
22
- };
23
-
24
- const config = {
25
- files: ["assembly/**/*.ts"],
26
- languageOptions: { parser: parser },
27
- };
28
-
29
- export default { config };
6
+ export { default } from "./assemblyscript-eslint.js";
@@ -5,24 +5,48 @@
5
5
 
6
6
  /* ESLint configuration for AssemblyScript */
7
7
 
8
- import * as ts from "typescript";
8
+ import path from "node:path";
9
+ import { createRequire } from "node:module";
9
10
  import * as parser from "@typescript-eslint/parser";
10
- import utils from "../../../@typescript-eslint/typescript-estree/dist/node-utils.js";
11
-
12
- // In AssemblyScript, functions and variables can be decorated
13
- const nodeCanBeDecorated = utils.nodeCanBeDecorated;
14
- utils.nodeCanBeDecorated = function (node) {
15
- switch (node.kind) {
16
- case ts.SyntaxKind.FunctionDeclaration:
17
- case ts.SyntaxKind.VariableStatement:
18
- return true;
19
- default:
20
- return nodeCanBeDecorated(node);
11
+ const PATCH_FLAG = "__json_as_eslint_assemblyscript_patch__";
12
+
13
+ function isDecoratorPlacementError(error) {
14
+ return error instanceof Error && typeof error.message === "string" && error.message.includes("Decorators are not valid here");
15
+ }
16
+
17
+ function patchDecoratorChecksForAssemblyScript() {
18
+ if (globalThis[PATCH_FLAG]) return;
19
+
20
+ try {
21
+ const require = createRequire(import.meta.url);
22
+ const estreePackagePath = require.resolve("@typescript-eslint/typescript-estree/package.json");
23
+ const estreePackageRoot = path.dirname(estreePackagePath);
24
+ const checkModifiers = require(path.join(estreePackageRoot, "dist/check-modifiers.js"));
25
+
26
+ if (typeof checkModifiers.checkModifiers !== "function") return;
27
+
28
+ const originalCheckModifiers = checkModifiers.checkModifiers;
29
+ checkModifiers.checkModifiers = function (node) {
30
+ try {
31
+ return originalCheckModifiers(node);
32
+ } catch (error) {
33
+ if (isDecoratorPlacementError(error)) {
34
+ return;
35
+ }
36
+ throw error;
37
+ }
38
+ };
39
+
40
+ globalThis[PATCH_FLAG] = true;
41
+ } catch {
42
+ // Ignore when internals are unavailable; linting falls back to default behavior.
21
43
  }
22
- };
44
+ }
45
+
46
+ patchDecoratorChecksForAssemblyScript();
23
47
 
24
48
  const config = {
25
- files: ["assembly/**/*.ts"],
49
+ files: ["**/*.ts"],
26
50
  languageOptions: { parser: parser },
27
51
  };
28
52
 
@@ -0,0 +1,33 @@
1
+ import pluginEstree from "prettier/plugins/estree";
2
+ import pluginTypescript from "prettier/plugins/typescript";
3
+ import { magic, preProcess } from "./replacer.js";
4
+ import { builders } from "prettier/doc";
5
+
6
+ const estreePrinter = pluginEstree.printers.estree;
7
+
8
+ const as_estree = {
9
+ ...estreePrinter,
10
+ printComment(commentPath, options) {
11
+ const comment = commentPath.getValue().value;
12
+ if (comment.startsWith(magic) && comment.endsWith(magic)) {
13
+ const doc = [];
14
+ if (commentPath.stack[commentPath.stack.length - 2] === 0) {
15
+ doc.push(builders.hardline);
16
+ }
17
+ doc.push(comment.slice(magic.length, -magic.length));
18
+ return doc;
19
+ }
20
+ return estreePrinter.printComment(commentPath, options);
21
+ },
22
+ };
23
+
24
+ export default {
25
+ parsers: {
26
+ typescript: {
27
+ ...pluginTypescript.parsers.typescript,
28
+ astFormat: "as-estree",
29
+ preprocess: preProcess,
30
+ },
31
+ },
32
+ printers: { "as-estree": as_estree },
33
+ };
@@ -0,0 +1,63 @@
1
+ import assemblyscript from "assemblyscript";
2
+
3
+ export const magic = "MAGIC_ASSEMBLYSCRIPT_PRETTIER_1996";
4
+ const prefix = "/*" + magic;
5
+ const postfix = magic + "*/";
6
+ const NodeKind = assemblyscript.NodeKind;
7
+
8
+ function visitDecorators(node) {
9
+ let list = [];
10
+ let _visit = (_node) => {
11
+ switch (_node.kind) {
12
+ case NodeKind.Source: {
13
+ _node.statements.forEach((statement) => {
14
+ _visit(statement);
15
+ });
16
+ break;
17
+ }
18
+ case NodeKind.ClassDeclaration:
19
+ case NodeKind.InterfaceDeclaration:
20
+ case NodeKind.NamespaceDeclaration: {
21
+ _node.members.forEach((statement) => {
22
+ _visit(statement);
23
+ });
24
+ break;
25
+ }
26
+ }
27
+ if (_node.decorators) {
28
+ list.push(
29
+ ..._node.decorators.map((decorator) => {
30
+ return {
31
+ start: decorator.range.start,
32
+ end: decorator.range.end,
33
+ };
34
+ }),
35
+ );
36
+ }
37
+ };
38
+ _visit(node);
39
+ return list;
40
+ }
41
+
42
+ /**
43
+ *
44
+ * @param {string} code
45
+ * @returns {string}
46
+ */
47
+ export function preProcess(code) {
48
+ let parser = new assemblyscript.Parser();
49
+ parser.parseFile(code, "pre_process.ts", false);
50
+ let source = parser.sources[0];
51
+
52
+ const decorators = visitDecorators(source);
53
+ decorators.sort((a, b) => a.start - b.start);
54
+ let cursor = 0;
55
+ const removeDecoratorCodes = decorators.map((decorator) => {
56
+ let s1 = code.slice(cursor, decorator.start);
57
+ let s2 = code.slice(decorator.start, decorator.end);
58
+ cursor = decorator.end;
59
+ return `${s1}${prefix}${s2}`;
60
+ });
61
+ removeDecoratorCodes.push(code.slice(cursor));
62
+ return removeDecoratorCodes.join(postfix);
63
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { isTypeOmitted, operatorTokenToString, util, } from "assemblyscript/dist/assemblyscript.js";
1
+ import { isTypeOmitted, operatorTokenToString, util } from "assemblyscript/dist/assemblyscript.js";
2
2
  import { Visitor } from "./visitor.js";
3
3
  function assert(isTruish, message = "assertion error") {
4
4
  if (!isTruish)
@@ -522,9 +522,7 @@ export class ASTBuilder extends Visitor {
522
522
  else {
523
523
  const last = sb[sb.length - 1];
524
524
  const lastCharPos = last.length - 1;
525
- if (lastCharPos >= 0 &&
526
- (last.charCodeAt(lastCharPos) == 125 ||
527
- last.charCodeAt(lastCharPos) == 59)) {
525
+ if (lastCharPos >= 0 && (last.charCodeAt(lastCharPos) == 125 || last.charCodeAt(lastCharPos) == 59)) {
528
526
  sb.push("\n");
529
527
  }
530
528
  else {
@@ -632,8 +630,7 @@ export class ASTBuilder extends Visitor {
632
630
  }
633
631
  for (let i = 0, k = members.length; i < k; ++i) {
634
632
  const member = members[i];
635
- if (member.kind != 54 ||
636
- member.parameterIndex < 0) {
633
+ if (member.kind != 54 || member.parameterIndex < 0) {
637
634
  util.indent(sb, indentLevel);
638
635
  this.visitNodeAndTerminate(member);
639
636
  }
@@ -928,8 +925,7 @@ export class ASTBuilder extends Visitor {
928
925
  }
929
926
  }
930
927
  else {
931
- if (!isTypeOmitted(returnType) &&
932
- !node.isAny(524288 | 4096)) {
928
+ if (!isTypeOmitted(returnType) && !node.isAny(524288 | 4096)) {
933
929
  sb.push("): ");
934
930
  this.visitTypeNode(returnType);
935
931
  }
@@ -1250,11 +1246,7 @@ export class ASTBuilder extends Visitor {
1250
1246
  const numDeclarations = declarations.length;
1251
1247
  const firstDeclaration = declarations[0];
1252
1248
  this.serializeExternalModifiers(firstDeclaration);
1253
- sb.push(firstDeclaration.is(8)
1254
- ? "const "
1255
- : firstDeclaration.is(16)
1256
- ? "let "
1257
- : "var ");
1249
+ sb.push(firstDeclaration.is(8) ? "const " : firstDeclaration.is(16) ? "let " : "var ");
1258
1250
  this.visitVariableDeclaration(node.declarations[0]);
1259
1251
  for (let i = 1; i < numDeclarations; ++i) {
1260
1252
  sb.push(", ");