goscript 0.1.0 → 0.1.2

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 (495) hide show
  1. package/README.md +267 -255
  2. package/cmd/goscript/cmd-test.go +286 -0
  3. package/cmd/goscript/cmd-test_test.go +76 -0
  4. package/cmd/goscript/cmd_compile.go +9 -0
  5. package/cmd/goscript/main.go +1 -0
  6. package/compiler/build-flags.go +38 -0
  7. package/compiler/compile-request.go +33 -0
  8. package/compiler/compiler.go +1 -1
  9. package/compiler/compliance_test.go +0 -10
  10. package/compiler/config.go +2 -0
  11. package/compiler/gotest/owner.go +24 -0
  12. package/compiler/gotest/package-result.go +69 -0
  13. package/compiler/gotest/request.go +210 -0
  14. package/compiler/gotest/result.go +28 -0
  15. package/compiler/gotest/runner.go +1225 -0
  16. package/compiler/gotest/runner_test.go +1271 -0
  17. package/compiler/gotest/test.go +9 -0
  18. package/compiler/index.test.ts +1 -1
  19. package/compiler/lowered-program.go +80 -21
  20. package/compiler/lowering.go +6754 -602
  21. package/compiler/override-facts.go +357 -0
  22. package/compiler/override-registry.go +52 -190
  23. package/compiler/override-registry_test.go +182 -0
  24. package/compiler/package-graph.go +50 -27
  25. package/compiler/package-graph_test.go +99 -9
  26. package/compiler/package-test-function.go +9 -0
  27. package/compiler/package-test-graph-package.go +40 -0
  28. package/compiler/package-test-graph-variant.go +129 -0
  29. package/compiler/package-test-graph.go +112 -0
  30. package/compiler/package-test-graph_test.go +202 -0
  31. package/compiler/runtime-contract.go +229 -29
  32. package/compiler/runtime-contract_test.go +44 -30
  33. package/compiler/semantic-model-types.go +25 -6
  34. package/compiler/semantic-model.go +819 -74
  35. package/compiler/semantic-model_test.go +104 -0
  36. package/compiler/service.go +10 -4
  37. package/compiler/skeleton_test.go +2777 -524
  38. package/compiler/tsworkspace/owner-process-unix_test.go +72 -0
  39. package/compiler/tsworkspace/owner.go +342 -0
  40. package/compiler/tsworkspace/owner_test.go +93 -0
  41. package/compiler/tsworkspace/result.go +17 -0
  42. package/compiler/tsworkspace/tool-process-other.go +14 -0
  43. package/compiler/tsworkspace/tool-process-unix.go +19 -0
  44. package/compiler/typescript-emitter.go +576 -86
  45. package/compiler/wasm/compile.go +1 -1
  46. package/compiler/wasm/compile_test.go +61 -11
  47. package/compiler/wasm_api.go +172 -7
  48. package/dist/gs/builtin/builtin.d.ts +40 -3
  49. package/dist/gs/builtin/builtin.js +430 -22
  50. package/dist/gs/builtin/builtin.js.map +1 -1
  51. package/dist/gs/builtin/channel.d.ts +32 -10
  52. package/dist/gs/builtin/channel.js +119 -25
  53. package/dist/gs/builtin/channel.js.map +1 -1
  54. package/dist/gs/builtin/defer.d.ts +1 -0
  55. package/dist/gs/builtin/defer.js +12 -2
  56. package/dist/gs/builtin/defer.js.map +1 -1
  57. package/dist/gs/builtin/hostio.d.ts +9 -0
  58. package/dist/gs/builtin/hostio.js +25 -0
  59. package/dist/gs/builtin/hostio.js.map +1 -1
  60. package/dist/gs/builtin/map.js +40 -6
  61. package/dist/gs/builtin/map.js.map +1 -1
  62. package/dist/gs/builtin/print.js.map +1 -1
  63. package/dist/gs/builtin/slice.d.ts +64 -10
  64. package/dist/gs/builtin/slice.js +619 -244
  65. package/dist/gs/builtin/slice.js.map +1 -1
  66. package/dist/gs/builtin/type.d.ts +7 -2
  67. package/dist/gs/builtin/type.js +128 -29
  68. package/dist/gs/builtin/type.js.map +1 -1
  69. package/dist/gs/builtin/varRef.d.ts +7 -0
  70. package/dist/gs/builtin/varRef.js +23 -0
  71. package/dist/gs/builtin/varRef.js.map +1 -1
  72. package/dist/gs/bytes/buffer.gs.js +74 -70
  73. package/dist/gs/bytes/buffer.gs.js.map +1 -1
  74. package/dist/gs/bytes/iter.gs.js +13 -13
  75. package/dist/gs/bytes/iter.gs.js.map +1 -1
  76. package/dist/gs/bytes/reader.gs.js +20 -18
  77. package/dist/gs/bytes/reader.gs.js.map +1 -1
  78. package/dist/gs/compress/zlib/index.d.ts +26 -0
  79. package/dist/gs/compress/zlib/index.js +168 -0
  80. package/dist/gs/compress/zlib/index.js.map +1 -0
  81. package/dist/gs/context/context.d.ts +6 -5
  82. package/dist/gs/context/context.js +17 -12
  83. package/dist/gs/context/context.js.map +1 -1
  84. package/dist/gs/crypto/ecdh/index.d.ts +52 -0
  85. package/dist/gs/crypto/ecdh/index.js +226 -0
  86. package/dist/gs/crypto/ecdh/index.js.map +1 -0
  87. package/dist/gs/crypto/ed25519/index.d.ts +34 -0
  88. package/dist/gs/crypto/ed25519/index.js +160 -0
  89. package/dist/gs/crypto/ed25519/index.js.map +1 -0
  90. package/dist/gs/crypto/internal/constanttime/index.d.ts +4 -0
  91. package/dist/gs/crypto/internal/constanttime/index.js +18 -0
  92. package/dist/gs/crypto/internal/constanttime/index.js.map +1 -0
  93. package/dist/gs/crypto/internal/fips140deps/byteorder/index.d.ts +1 -0
  94. package/dist/gs/crypto/internal/fips140deps/byteorder/index.js +2 -0
  95. package/dist/gs/crypto/internal/fips140deps/byteorder/index.js.map +1 -0
  96. package/dist/gs/crypto/internal/fips140deps/godebug/index.d.ts +1 -0
  97. package/dist/gs/crypto/internal/fips140deps/godebug/index.js +2 -0
  98. package/dist/gs/crypto/internal/fips140deps/godebug/index.js.map +1 -0
  99. package/dist/gs/crypto/rand/index.d.ts +2 -0
  100. package/dist/gs/crypto/rand/index.js +85 -0
  101. package/dist/gs/crypto/rand/index.js.map +1 -1
  102. package/dist/gs/crypto/sha256/index.d.ts +8 -0
  103. package/dist/gs/crypto/sha256/index.js +118 -0
  104. package/dist/gs/crypto/sha256/index.js.map +1 -0
  105. package/dist/gs/crypto/sha512/index.d.ts +14 -0
  106. package/dist/gs/crypto/sha512/index.js +129 -0
  107. package/dist/gs/crypto/sha512/index.js.map +1 -0
  108. package/dist/gs/embed/index.d.ts +7 -0
  109. package/dist/gs/embed/index.js +16 -0
  110. package/dist/gs/embed/index.js.map +1 -0
  111. package/dist/gs/encoding/json/index.d.ts +4 -0
  112. package/dist/gs/encoding/json/index.js +33 -0
  113. package/dist/gs/encoding/json/index.js.map +1 -1
  114. package/dist/gs/errors/errors.d.ts +4 -0
  115. package/dist/gs/errors/errors.js +108 -4
  116. package/dist/gs/errors/errors.js.map +1 -1
  117. package/dist/gs/fmt/fmt.d.ts +4 -4
  118. package/dist/gs/fmt/fmt.js +42 -11
  119. package/dist/gs/fmt/fmt.js.map +1 -1
  120. package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.d.ts +37 -2
  121. package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.js +245 -1
  122. package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.js.map +1 -1
  123. package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/json/index.d.ts +189 -0
  124. package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/json/index.js +861 -0
  125. package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/json/index.js.map +1 -0
  126. package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.d.ts +217 -0
  127. package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js +814 -0
  128. package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js.map +1 -0
  129. package/dist/gs/github.com/aperturerobotics/util/conc/index.d.ts +20 -0
  130. package/dist/gs/github.com/aperturerobotics/util/conc/index.js +134 -0
  131. package/dist/gs/github.com/aperturerobotics/util/conc/index.js.map +1 -0
  132. package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/browser/browser.js.map +1 -1
  133. package/dist/gs/github.com/hack-pad/safejs/internal/catch/index.d.ts +3 -0
  134. package/dist/gs/github.com/hack-pad/safejs/internal/catch/index.js +50 -0
  135. package/dist/gs/github.com/hack-pad/safejs/internal/catch/index.js.map +1 -0
  136. package/dist/gs/github.com/klauspost/compress/internal/le/index.d.ts +9 -0
  137. package/dist/gs/github.com/klauspost/compress/internal/le/index.js +72 -0
  138. package/dist/gs/github.com/klauspost/compress/internal/le/index.js.map +1 -0
  139. package/dist/gs/github.com/mr-tron/base58/base58/index.d.ts +27 -0
  140. package/dist/gs/github.com/mr-tron/base58/base58/index.js +172 -0
  141. package/dist/gs/github.com/mr-tron/base58/base58/index.js.map +1 -0
  142. package/dist/gs/github.com/zeebo/blake3/internal/consts/index.d.ts +21 -0
  143. package/dist/gs/github.com/zeebo/blake3/internal/consts/index.js +22 -0
  144. package/dist/gs/github.com/zeebo/blake3/internal/consts/index.js.map +1 -0
  145. package/dist/gs/go/internal/scannerhooks/index.d.ts +3 -0
  146. package/dist/gs/go/internal/scannerhooks/index.js +5 -0
  147. package/dist/gs/go/internal/scannerhooks/index.js.map +1 -0
  148. package/dist/gs/go/scanner/index.d.ts +13 -0
  149. package/dist/gs/go/scanner/index.js +35 -0
  150. package/dist/gs/go/scanner/index.js.map +1 -1
  151. package/dist/gs/go/token/index.d.ts +156 -0
  152. package/dist/gs/go/token/index.js +507 -4
  153. package/dist/gs/go/token/index.js.map +1 -1
  154. package/dist/gs/hash/fnv/index.d.ts +57 -0
  155. package/dist/gs/hash/fnv/index.js +299 -0
  156. package/dist/gs/hash/fnv/index.js.map +1 -0
  157. package/dist/gs/hash/index.d.ts +17 -0
  158. package/dist/gs/hash/index.js +94 -0
  159. package/dist/gs/hash/index.js.map +1 -0
  160. package/dist/gs/internal/abi/index.d.ts +4 -0
  161. package/dist/gs/internal/abi/index.js +10 -0
  162. package/dist/gs/internal/abi/index.js.map +1 -1
  163. package/dist/gs/internal/bytealg/index.d.ts +2 -0
  164. package/dist/gs/internal/bytealg/index.js +14 -0
  165. package/dist/gs/internal/bytealg/index.js.map +1 -1
  166. package/dist/gs/internal/byteorder/index.d.ts +8 -2
  167. package/dist/gs/internal/byteorder/index.js +56 -25
  168. package/dist/gs/internal/byteorder/index.js.map +1 -1
  169. package/dist/gs/internal/godebug/index.d.ts +12 -0
  170. package/dist/gs/internal/godebug/index.js +30 -0
  171. package/dist/gs/internal/godebug/index.js.map +1 -0
  172. package/dist/gs/io/fs/index.d.ts +1 -0
  173. package/dist/gs/io/fs/index.js +1 -0
  174. package/dist/gs/io/fs/index.js.map +1 -1
  175. package/dist/gs/io/fs/readlink.d.ts +8 -0
  176. package/dist/gs/io/fs/readlink.js +60 -0
  177. package/dist/gs/io/fs/readlink.js.map +1 -0
  178. package/dist/gs/io/fs/walk.d.ts +3 -3
  179. package/dist/gs/io/fs/walk.js +7 -7
  180. package/dist/gs/io/fs/walk.js.map +1 -1
  181. package/dist/gs/io/io.d.ts +40 -6
  182. package/dist/gs/io/io.js +151 -26
  183. package/dist/gs/io/io.js.map +1 -1
  184. package/dist/gs/iter/iter.d.ts +3 -2
  185. package/dist/gs/iter/iter.js.map +1 -1
  186. package/dist/gs/maps/iter.d.ts +5 -5
  187. package/dist/gs/maps/iter.js +48 -21
  188. package/dist/gs/maps/iter.js.map +1 -1
  189. package/dist/gs/maps/maps.d.ts +6 -6
  190. package/dist/gs/maps/maps.js +1 -1
  191. package/dist/gs/maps/maps.js.map +1 -1
  192. package/dist/gs/math/bits/index.d.ts +13 -4
  193. package/dist/gs/math/bits/index.js +70 -48
  194. package/dist/gs/math/bits/index.js.map +1 -1
  195. package/dist/gs/math/const.gs.d.ts +5 -5
  196. package/dist/gs/math/const.gs.js +4 -4
  197. package/dist/gs/math/const.gs.js.map +1 -1
  198. package/dist/gs/mime/index.d.ts +1 -0
  199. package/dist/gs/mime/index.js +52 -0
  200. package/dist/gs/mime/index.js.map +1 -0
  201. package/dist/gs/net/http/httptest/index.d.ts +30 -0
  202. package/dist/gs/net/http/httptest/index.js +101 -0
  203. package/dist/gs/net/http/httptest/index.js.map +1 -0
  204. package/dist/gs/net/http/index.d.ts +131 -0
  205. package/dist/gs/net/http/index.js +307 -0
  206. package/dist/gs/net/http/index.js.map +1 -0
  207. package/dist/gs/net/http/pprof/index.d.ts +8 -0
  208. package/dist/gs/net/http/pprof/index.js +59 -0
  209. package/dist/gs/net/http/pprof/index.js.map +1 -0
  210. package/dist/gs/os/dir_unix.gs.js +2 -2
  211. package/dist/gs/os/dir_unix.gs.js.map +1 -1
  212. package/dist/gs/os/error.gs.js +9 -7
  213. package/dist/gs/os/error.gs.js.map +1 -1
  214. package/dist/gs/os/types_js.gs.js +95 -15
  215. package/dist/gs/os/types_js.gs.js.map +1 -1
  216. package/dist/gs/path/filepath/match.js +165 -3
  217. package/dist/gs/path/filepath/match.js.map +1 -1
  218. package/dist/gs/path/filepath/path.d.ts +8 -4
  219. package/dist/gs/path/filepath/path.js +192 -8
  220. package/dist/gs/path/filepath/path.js.map +1 -1
  221. package/dist/gs/path/path.d.ts +4 -1
  222. package/dist/gs/path/path.js +16 -4
  223. package/dist/gs/path/path.js.map +1 -1
  224. package/dist/gs/reflect/index.d.ts +4 -3
  225. package/dist/gs/reflect/index.js +3 -2
  226. package/dist/gs/reflect/index.js.map +1 -1
  227. package/dist/gs/reflect/iter.js +2 -2
  228. package/dist/gs/reflect/iter.js.map +1 -1
  229. package/dist/gs/reflect/map.js +29 -0
  230. package/dist/gs/reflect/map.js.map +1 -1
  231. package/dist/gs/reflect/type.d.ts +31 -9
  232. package/dist/gs/reflect/type.js +536 -43
  233. package/dist/gs/reflect/type.js.map +1 -1
  234. package/dist/gs/reflect/types.d.ts +1 -0
  235. package/dist/gs/reflect/types.js +3 -1
  236. package/dist/gs/reflect/types.js.map +1 -1
  237. package/dist/gs/reflect/value.d.ts +4 -1
  238. package/dist/gs/reflect/value.js +39 -1
  239. package/dist/gs/reflect/value.js.map +1 -1
  240. package/dist/gs/reflect/visiblefields.js +1 -1
  241. package/dist/gs/reflect/visiblefields.js.map +1 -1
  242. package/dist/gs/runtime/debug/index.d.ts +41 -0
  243. package/dist/gs/runtime/debug/index.js +66 -0
  244. package/dist/gs/runtime/debug/index.js.map +1 -0
  245. package/dist/gs/runtime/pprof/index.d.ts +20 -0
  246. package/dist/gs/runtime/pprof/index.js +85 -0
  247. package/dist/gs/runtime/pprof/index.js.map +1 -0
  248. package/dist/gs/runtime/runtime.d.ts +35 -3
  249. package/dist/gs/runtime/runtime.js +72 -0
  250. package/dist/gs/runtime/runtime.js.map +1 -1
  251. package/dist/gs/runtime/trace/index.d.ts +19 -0
  252. package/dist/gs/runtime/trace/index.js +64 -0
  253. package/dist/gs/runtime/trace/index.js.map +1 -0
  254. package/dist/gs/slices/slices.d.ts +42 -8
  255. package/dist/gs/slices/slices.js +425 -11
  256. package/dist/gs/slices/slices.js.map +1 -1
  257. package/dist/gs/sort/slice.gs.d.ts +5 -3
  258. package/dist/gs/sort/slice.gs.js +60 -22
  259. package/dist/gs/sort/slice.gs.js.map +1 -1
  260. package/dist/gs/sort/sort.gs.d.ts +4 -4
  261. package/dist/gs/sort/sort.gs.js +11 -8
  262. package/dist/gs/sort/sort.gs.js.map +1 -1
  263. package/dist/gs/strings/builder.d.ts +1 -1
  264. package/dist/gs/strings/builder.js +29 -19
  265. package/dist/gs/strings/builder.js.map +1 -1
  266. package/dist/gs/strings/iter.js +140 -75
  267. package/dist/gs/strings/iter.js.map +1 -1
  268. package/dist/gs/strings/replace.js +2 -2
  269. package/dist/gs/strings/replace.js.map +1 -1
  270. package/dist/gs/strings/strings.js +52 -6
  271. package/dist/gs/strings/strings.js.map +1 -1
  272. package/dist/gs/sync/atomic/type.gs.d.ts +9 -8
  273. package/dist/gs/sync/atomic/type.gs.js +0 -2
  274. package/dist/gs/sync/atomic/type.gs.js.map +1 -1
  275. package/dist/gs/sync/sync.d.ts +8 -3
  276. package/dist/gs/sync/sync.js +66 -11
  277. package/dist/gs/sync/sync.js.map +1 -1
  278. package/dist/gs/syscall/constants.d.ts +36 -24
  279. package/dist/gs/syscall/constants.js +12 -0
  280. package/dist/gs/syscall/constants.js.map +1 -1
  281. package/dist/gs/syscall/errors.d.ts +117 -111
  282. package/dist/gs/syscall/errors.js +45 -0
  283. package/dist/gs/syscall/errors.js.map +1 -1
  284. package/dist/gs/syscall/fs.d.ts +37 -0
  285. package/dist/gs/syscall/fs.js +102 -0
  286. package/dist/gs/syscall/fs.js.map +1 -1
  287. package/dist/gs/syscall/js/index.d.ts +90 -0
  288. package/dist/gs/syscall/js/index.js +383 -0
  289. package/dist/gs/syscall/js/index.js.map +1 -0
  290. package/dist/gs/syscall/types.d.ts +26 -1
  291. package/dist/gs/syscall/types.js +45 -1
  292. package/dist/gs/syscall/types.js.map +1 -1
  293. package/dist/gs/testing/index.d.ts +1 -0
  294. package/dist/gs/testing/index.js +2 -0
  295. package/dist/gs/testing/index.js.map +1 -0
  296. package/dist/gs/testing/testing.d.ts +78 -0
  297. package/dist/gs/testing/testing.js +318 -0
  298. package/dist/gs/testing/testing.js.map +1 -0
  299. package/dist/gs/time/time.d.ts +41 -4
  300. package/dist/gs/time/time.js +227 -36
  301. package/dist/gs/time/time.js.map +1 -1
  302. package/dist/gs/unicode/unicode.d.ts +23 -1
  303. package/dist/gs/unicode/unicode.js +79 -10
  304. package/dist/gs/unicode/unicode.js.map +1 -1
  305. package/dist/gs/unicode/utf8/utf8.d.ts +4 -4
  306. package/dist/gs/unicode/utf8/utf8.js +24 -11
  307. package/dist/gs/unicode/utf8/utf8.js.map +1 -1
  308. package/dist/gs/unique/index.d.ts +11 -0
  309. package/dist/gs/unique/index.js +76 -0
  310. package/dist/gs/unique/index.js.map +1 -0
  311. package/go.mod +8 -8
  312. package/go.sum +14 -14
  313. package/gs/builtin/builtin.ts +585 -27
  314. package/gs/builtin/channel.ts +183 -29
  315. package/gs/builtin/defer.ts +13 -2
  316. package/gs/builtin/hostio.test.ts +1 -0
  317. package/gs/builtin/hostio.ts +38 -0
  318. package/gs/builtin/map.ts +46 -6
  319. package/gs/builtin/print.ts +12 -3
  320. package/gs/builtin/runtime-contract.test.ts +383 -10
  321. package/gs/builtin/slice.test.ts +70 -0
  322. package/gs/builtin/slice.ts +785 -265
  323. package/gs/builtin/type.ts +160 -41
  324. package/gs/builtin/varRef.ts +40 -1
  325. package/gs/bytes/buffer.gs.ts +74 -70
  326. package/gs/bytes/iter.gs.ts +13 -14
  327. package/gs/bytes/meta.json +8 -3
  328. package/gs/bytes/reader.gs.ts +20 -19
  329. package/gs/compress/zlib/index.test.ts +28 -0
  330. package/gs/compress/zlib/index.ts +200 -0
  331. package/gs/compress/zlib/meta.json +3 -0
  332. package/gs/context/context.test.ts +71 -0
  333. package/gs/context/context.ts +30 -29
  334. package/gs/crypto/ecdh/index.test.ts +43 -0
  335. package/gs/crypto/ecdh/index.ts +274 -0
  336. package/gs/crypto/ed25519/index.test.ts +41 -0
  337. package/gs/crypto/ed25519/index.ts +238 -0
  338. package/gs/crypto/ed25519/meta.json +13 -0
  339. package/gs/crypto/internal/constanttime/index.test.ts +25 -0
  340. package/gs/crypto/internal/constanttime/index.ts +22 -0
  341. package/gs/crypto/internal/fips140deps/byteorder/index.ts +1 -0
  342. package/gs/crypto/internal/fips140deps/godebug/index.ts +1 -0
  343. package/gs/crypto/rand/index.test.ts +89 -1
  344. package/gs/crypto/rand/index.ts +103 -1
  345. package/gs/crypto/rand/meta.json +4 -1
  346. package/gs/crypto/sha256/index.test.ts +78 -0
  347. package/gs/crypto/sha256/index.ts +150 -0
  348. package/gs/crypto/sha256/meta.json +9 -0
  349. package/gs/crypto/sha512/index.test.ts +31 -0
  350. package/gs/crypto/sha512/index.ts +161 -0
  351. package/gs/crypto/sha512/meta.json +11 -0
  352. package/gs/embed/index.ts +20 -0
  353. package/gs/embed/meta.json +5 -0
  354. package/gs/encoding/json/index.test.ts +39 -3
  355. package/gs/encoding/json/index.ts +45 -3
  356. package/gs/errors/errors.test.ts +85 -0
  357. package/gs/errors/errors.ts +132 -4
  358. package/gs/fmt/fmt.test.ts +3 -1
  359. package/gs/fmt/fmt.ts +55 -19
  360. package/gs/github.com/aperturerobotics/protobuf-go-lite/index.test.ts +128 -1
  361. package/gs/github.com/aperturerobotics/protobuf-go-lite/index.ts +342 -4
  362. package/gs/github.com/aperturerobotics/protobuf-go-lite/json/index.test.ts +180 -0
  363. package/gs/github.com/aperturerobotics/protobuf-go-lite/json/index.ts +1084 -0
  364. package/gs/github.com/aperturerobotics/starpc/srpc/index.test.ts +31 -0
  365. package/gs/github.com/aperturerobotics/starpc/srpc/index.ts +1233 -0
  366. package/gs/github.com/aperturerobotics/starpc/srpc/meta.json +46 -0
  367. package/gs/github.com/aperturerobotics/util/conc/index.test.ts +30 -0
  368. package/gs/github.com/aperturerobotics/util/conc/index.ts +172 -0
  369. package/gs/github.com/aperturerobotics/util/conc/meta.json +9 -0
  370. package/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/browser/browser.ts +1 -4
  371. package/gs/github.com/hack-pad/safejs/internal/catch/index.test.ts +35 -0
  372. package/gs/github.com/hack-pad/safejs/internal/catch/index.ts +65 -0
  373. package/gs/github.com/hack-pad/safejs/internal/catch/meta.json +9 -0
  374. package/gs/github.com/klauspost/compress/internal/le/index.test.ts +37 -0
  375. package/gs/github.com/klauspost/compress/internal/le/index.ts +115 -0
  376. package/gs/github.com/mr-tron/base58/base58/index.test.ts +70 -0
  377. package/gs/github.com/mr-tron/base58/base58/index.ts +231 -0
  378. package/gs/github.com/mr-tron/base58/base58/meta.json +3 -0
  379. package/gs/github.com/zeebo/blake3/internal/consts/index.test.ts +46 -0
  380. package/gs/github.com/zeebo/blake3/internal/consts/index.ts +26 -0
  381. package/gs/go/internal/scannerhooks/index.test.ts +14 -0
  382. package/gs/go/internal/scannerhooks/index.ts +9 -0
  383. package/gs/go/scanner/index.test.ts +22 -0
  384. package/gs/go/scanner/index.ts +47 -0
  385. package/gs/go/token/index.test.ts +47 -1
  386. package/gs/go/token/index.ts +583 -4
  387. package/gs/hash/fnv/index.test.ts +67 -0
  388. package/gs/hash/fnv/index.ts +351 -0
  389. package/gs/hash/fnv/meta.json +3 -0
  390. package/gs/hash/index.test.ts +37 -0
  391. package/gs/hash/index.ts +118 -0
  392. package/gs/hash/meta.json +5 -0
  393. package/gs/internal/abi/index.test.ts +18 -0
  394. package/gs/internal/abi/index.ts +14 -0
  395. package/gs/internal/bytealg/index.test.ts +18 -0
  396. package/gs/internal/bytealg/index.ts +16 -0
  397. package/gs/internal/byteorder/index.test.ts +39 -0
  398. package/gs/internal/byteorder/index.ts +100 -27
  399. package/gs/internal/godebug/index.test.ts +16 -0
  400. package/gs/internal/godebug/index.ts +35 -0
  401. package/gs/io/fs/index.ts +1 -0
  402. package/gs/io/fs/meta.json +5 -0
  403. package/gs/io/fs/readlink.test.ts +43 -0
  404. package/gs/io/fs/readlink.ts +69 -0
  405. package/gs/io/fs/walk.test.ts +61 -0
  406. package/gs/io/fs/walk.ts +17 -9
  407. package/gs/io/io.ts +177 -31
  408. package/gs/io/meta.json +10 -2
  409. package/gs/iter/iter.ts +8 -2
  410. package/gs/maps/iter.ts +75 -26
  411. package/gs/maps/maps.test.ts +23 -0
  412. package/gs/maps/maps.ts +13 -11
  413. package/gs/math/bits/index.test.ts +20 -0
  414. package/gs/math/bits/index.ts +107 -64
  415. package/gs/math/const.gs.test.ts +11 -5
  416. package/gs/math/const.gs.ts +5 -6
  417. package/gs/mime/index.ts +60 -0
  418. package/gs/net/http/httptest/index.test.ts +53 -0
  419. package/gs/net/http/httptest/index.ts +120 -0
  420. package/gs/net/http/index.test.ts +148 -0
  421. package/gs/net/http/index.ts +432 -0
  422. package/gs/net/http/meta.json +6 -0
  423. package/gs/net/http/pprof/index.test.ts +47 -0
  424. package/gs/net/http/pprof/index.ts +65 -0
  425. package/gs/os/dir_unix.gs.ts +2 -3
  426. package/gs/os/error.gs.ts +9 -10
  427. package/gs/os/error.test.ts +41 -0
  428. package/gs/os/file_unix_js.test.ts +55 -0
  429. package/gs/os/tempfile.gs.test.ts +37 -10
  430. package/gs/os/types_js.gs.ts +96 -17
  431. package/gs/path/filepath/match.test.ts +31 -12
  432. package/gs/path/filepath/match.ts +181 -3
  433. package/gs/path/filepath/meta.json +6 -0
  434. package/gs/path/filepath/path.test.ts +80 -0
  435. package/gs/path/filepath/path.ts +244 -11
  436. package/gs/path/path.ts +20 -5
  437. package/gs/reflect/field.test.ts +63 -0
  438. package/gs/reflect/index.ts +5 -1
  439. package/gs/reflect/iter.ts +2 -2
  440. package/gs/reflect/map.test.ts +42 -1
  441. package/gs/reflect/map.ts +39 -0
  442. package/gs/reflect/type.ts +728 -65
  443. package/gs/reflect/typefor.test.ts +100 -0
  444. package/gs/reflect/types.ts +3 -1
  445. package/gs/reflect/value.ts +50 -1
  446. package/gs/reflect/visiblefields.ts +1 -1
  447. package/gs/runtime/debug/index.test.ts +45 -0
  448. package/gs/runtime/debug/index.ts +96 -0
  449. package/gs/runtime/pprof/index.test.ts +36 -0
  450. package/gs/runtime/pprof/index.ts +104 -0
  451. package/gs/runtime/pprof/meta.json +6 -0
  452. package/gs/runtime/runtime.test.ts +19 -0
  453. package/gs/runtime/runtime.ts +98 -3
  454. package/gs/runtime/trace/index.test.ts +45 -0
  455. package/gs/runtime/trace/index.ts +97 -0
  456. package/gs/runtime/trace/meta.json +7 -0
  457. package/gs/slices/meta.json +2 -1
  458. package/gs/slices/slices.test.ts +180 -0
  459. package/gs/slices/slices.ts +502 -15
  460. package/gs/sort/meta.json +7 -0
  461. package/gs/sort/slice.gs.ts +85 -26
  462. package/gs/sort/slice.test.ts +40 -0
  463. package/gs/sort/sort.gs.ts +16 -13
  464. package/gs/strings/builder.test.ts +8 -0
  465. package/gs/strings/builder.ts +33 -20
  466. package/gs/strings/iter.test.ts +5 -7
  467. package/gs/strings/iter.ts +146 -71
  468. package/gs/strings/replace.test.ts +1 -4
  469. package/gs/strings/replace.ts +6 -6
  470. package/gs/strings/strings.test.ts +4 -0
  471. package/gs/strings/strings.ts +54 -6
  472. package/gs/sync/atomic/type.gs.ts +13 -14
  473. package/gs/sync/meta.json +3 -1
  474. package/gs/sync/sync.test.ts +69 -1
  475. package/gs/sync/sync.ts +72 -13
  476. package/gs/syscall/constants.ts +39 -24
  477. package/gs/syscall/errors.ts +165 -112
  478. package/gs/syscall/fs.ts +195 -0
  479. package/gs/syscall/js/index.ts +485 -0
  480. package/gs/syscall/js/meta.json +4 -0
  481. package/gs/syscall/net.test.ts +111 -0
  482. package/gs/syscall/types.ts +63 -2
  483. package/gs/testing/index.ts +1 -0
  484. package/gs/testing/meta.json +5 -0
  485. package/gs/testing/testing.test.ts +146 -0
  486. package/gs/testing/testing.ts +399 -0
  487. package/gs/time/meta.json +2 -2
  488. package/gs/time/time.test.ts +110 -0
  489. package/gs/time/time.ts +309 -57
  490. package/gs/unicode/unicode.test.ts +36 -0
  491. package/gs/unicode/unicode.ts +115 -9
  492. package/gs/unicode/utf8/utf8.test.ts +13 -0
  493. package/gs/unicode/utf8/utf8.ts +28 -16
  494. package/gs/unique/index.ts +98 -0
  495. package/package.json +3 -2
@@ -0,0 +1,21 @@
1
+ export declare const IV0 = 1779033703;
2
+ export declare const IV1 = 3144134277;
3
+ export declare const IV2 = 1013904242;
4
+ export declare const IV3 = 2773480762;
5
+ export declare const IV4 = 1359893119;
6
+ export declare const IV5 = 2600822924;
7
+ export declare const IV6 = 528734635;
8
+ export declare const IV7 = 1541459225;
9
+ export declare const IV: number[];
10
+ export declare const Flag_ChunkStart: number;
11
+ export declare const Flag_ChunkEnd: number;
12
+ export declare const Flag_Parent: number;
13
+ export declare const Flag_Root: number;
14
+ export declare const Flag_Keyed: number;
15
+ export declare const Flag_DeriveKeyContext: number;
16
+ export declare const Flag_DeriveKeyMaterial: number;
17
+ export declare const BlockLen = 64;
18
+ export declare const ChunkLen = 1024;
19
+ export declare const HasAVX2 = false;
20
+ export declare const HasSSE41 = false;
21
+ export declare const OptimizeLittleEndian = false;
@@ -0,0 +1,22 @@
1
+ export const IV0 = 0x6a09e667;
2
+ export const IV1 = 0xbb67ae85;
3
+ export const IV2 = 0x3c6ef372;
4
+ export const IV3 = 0xa54ff53a;
5
+ export const IV4 = 0x510e527f;
6
+ export const IV5 = 0x9b05688c;
7
+ export const IV6 = 0x1f83d9ab;
8
+ export const IV7 = 0x5be0cd19;
9
+ export const IV = [IV0, IV1, IV2, IV3, IV4, IV5, IV6, IV7];
10
+ export const Flag_ChunkStart = 1 << 0;
11
+ export const Flag_ChunkEnd = 1 << 1;
12
+ export const Flag_Parent = 1 << 2;
13
+ export const Flag_Root = 1 << 3;
14
+ export const Flag_Keyed = 1 << 4;
15
+ export const Flag_DeriveKeyContext = 1 << 5;
16
+ export const Flag_DeriveKeyMaterial = 1 << 6;
17
+ export const BlockLen = 64;
18
+ export const ChunkLen = 1024;
19
+ export const HasAVX2 = false;
20
+ export const HasSSE41 = false;
21
+ export const OptimizeLittleEndian = false;
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../gs/github.com/zeebo/blake3/internal/consts/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,CAAA;AAC7B,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,CAAA;AAC7B,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,CAAA;AAC7B,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,CAAA;AAC7B,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,CAAA;AAC7B,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,CAAA;AAC7B,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,CAAA;AAC7B,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,CAAA;AAE7B,MAAM,CAAC,MAAM,EAAE,GAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,CAAA;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,CAAA;AACnC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAA;AACjC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,CAAA;AAChC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAI,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAI,CAAC,CAAA;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAA;AAC1B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAA;AAE5B,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAA;AAC5B,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAA;AAE7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type * as token from '@goscript/go/token/index.js';
2
+ export declare let StringEnd: ((scanner: any) => token.Pos) | null;
3
+ export declare function __goscript_set_StringEnd(value: ((scanner: any) => token.Pos) | null): void;
@@ -0,0 +1,5 @@
1
+ export let StringEnd = null;
2
+ export function __goscript_set_StringEnd(value) {
3
+ StringEnd = value;
4
+ }
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../gs/go/internal/scannerhooks/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAI,SAAS,GAAyC,IAAI,CAAA;AAEjE,MAAM,UAAU,wBAAwB,CACtC,KAA2C;IAE3C,SAAS,GAAG,KAAK,CAAA;AACnB,CAAC"}
@@ -18,7 +18,19 @@ export declare class Error {
18
18
  static __typeInfo: $.StructTypeInfo;
19
19
  }
20
20
  export type ErrorList = $.Slice<Error | null>;
21
+ export type ErrorHandler = (pos: token.Position, msg: string) => void;
22
+ export type Mode = number;
21
23
  export declare const ScanComments = 1;
24
+ export declare class Scanner {
25
+ ErrorCount: number;
26
+ private file;
27
+ private src;
28
+ private err;
29
+ private done;
30
+ clone(): Scanner;
31
+ Init(file: token.File | $.VarRef<token.File> | null, src: $.Slice<number>, err: ErrorHandler | null, _mode: Mode): void;
32
+ Scan(): [token.Pos, token.Token, string];
33
+ }
22
34
  export declare function Error_Error(err: Error): string;
23
35
  export declare function ErrorList_Add(list: $.VarRef<ErrorList>, pos: token.Position, msg: string): void;
24
36
  export declare function ErrorList_Len(list: ErrorList): number;
@@ -27,3 +39,4 @@ export declare function ErrorList_Swap(list: ErrorList, i: number, j: number): v
27
39
  export declare function ErrorList_Sort(list: ErrorList): void;
28
40
  export declare function ErrorList_RemoveMultiples(list: $.VarRef<ErrorList>): void;
29
41
  export declare function ErrorList_Error(list: ErrorList): string;
42
+ export declare function ErrorList_Err(list: ErrorList): $.GoError;
@@ -41,6 +41,35 @@ export class Error {
41
41
  });
42
42
  }
43
43
  export const ScanComments = 1;
44
+ export class Scanner {
45
+ ErrorCount = 0;
46
+ file = null;
47
+ src = null;
48
+ err = null;
49
+ done = false;
50
+ clone() {
51
+ const scanner = new Scanner();
52
+ scanner.ErrorCount = this.ErrorCount;
53
+ scanner.file = this.file;
54
+ scanner.src = this.src;
55
+ scanner.err = this.err;
56
+ scanner.done = this.done;
57
+ return scanner;
58
+ }
59
+ Init(file, src, err, _mode) {
60
+ this.file = file === null ? null : $.pointerValue(file);
61
+ this.src = src;
62
+ this.err = err;
63
+ this.done = false;
64
+ }
65
+ Scan() {
66
+ if (this.done) {
67
+ return [this.file?.Pos($.len(this.src)) ?? token.NoPos, token.EOF, ''];
68
+ }
69
+ this.done = true;
70
+ return [this.file?.Pos(0) ?? token.NoPos, token.EOF, ''];
71
+ }
72
+ }
44
73
  export function Error_Error(err) {
45
74
  if (!err.Pos.IsValid()) {
46
75
  return err.Msg;
@@ -117,4 +146,10 @@ export function ErrorList_Error(list) {
117
146
  }
118
147
  return `${errors[0].Error()} (and ${errors.length - 1} more errors)`;
119
148
  }
149
+ export function ErrorList_Err(list) {
150
+ if ($.len(list) === 0) {
151
+ return null;
152
+ }
153
+ return $.newError(ErrorList_Error(list));
154
+ }
120
155
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/go/scanner/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/go/scanner/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,98 @@
1
1
  import * as $ from '@goscript/builtin/index.js';
2
+ export type Token = number;
2
3
  export type Pos = number;
4
+ export declare const ILLEGAL: Token;
5
+ export declare const EOF: Token;
6
+ export declare const COMMENT: Token;
7
+ export declare const IDENT: Token;
8
+ export declare const INT: Token;
9
+ export declare const FLOAT: Token;
10
+ export declare const IMAG: Token;
11
+ export declare const CHAR: Token;
12
+ export declare const STRING: Token;
13
+ export declare const ADD: Token;
14
+ export declare const SUB: Token;
15
+ export declare const MUL: Token;
16
+ export declare const QUO: Token;
17
+ export declare const REM: Token;
18
+ export declare const AND: Token;
19
+ export declare const OR: Token;
20
+ export declare const XOR: Token;
21
+ export declare const SHL: Token;
22
+ export declare const SHR: Token;
23
+ export declare const AND_NOT: Token;
24
+ export declare const ADD_ASSIGN: Token;
25
+ export declare const SUB_ASSIGN: Token;
26
+ export declare const MUL_ASSIGN: Token;
27
+ export declare const QUO_ASSIGN: Token;
28
+ export declare const REM_ASSIGN: Token;
29
+ export declare const AND_ASSIGN: Token;
30
+ export declare const OR_ASSIGN: Token;
31
+ export declare const XOR_ASSIGN: Token;
32
+ export declare const SHL_ASSIGN: Token;
33
+ export declare const SHR_ASSIGN: Token;
34
+ export declare const AND_NOT_ASSIGN: Token;
35
+ export declare const LAND: Token;
36
+ export declare const LOR: Token;
37
+ export declare const ARROW: Token;
38
+ export declare const INC: Token;
39
+ export declare const DEC: Token;
40
+ export declare const EQL: Token;
41
+ export declare const LSS: Token;
42
+ export declare const GTR: Token;
43
+ export declare const ASSIGN: Token;
44
+ export declare const NOT: Token;
45
+ export declare const NEQ: Token;
46
+ export declare const LEQ: Token;
47
+ export declare const GEQ: Token;
48
+ export declare const DEFINE: Token;
49
+ export declare const ELLIPSIS: Token;
50
+ export declare const LPAREN: Token;
51
+ export declare const LBRACK: Token;
52
+ export declare const LBRACE: Token;
53
+ export declare const COMMA: Token;
54
+ export declare const PERIOD: Token;
55
+ export declare const RPAREN: Token;
56
+ export declare const RBRACK: Token;
57
+ export declare const RBRACE: Token;
58
+ export declare const SEMICOLON: Token;
59
+ export declare const COLON: Token;
60
+ export declare const BREAK: Token;
61
+ export declare const CASE: Token;
62
+ export declare const CHAN: Token;
63
+ export declare const CONST: Token;
64
+ export declare const CONTINUE: Token;
65
+ export declare const DEFAULT: Token;
66
+ export declare const DEFER: Token;
67
+ export declare const ELSE: Token;
68
+ export declare const FALLTHROUGH: Token;
69
+ export declare const FOR: Token;
70
+ export declare const FUNC: Token;
71
+ export declare const GO: Token;
72
+ export declare const GOTO: Token;
73
+ export declare const IF: Token;
74
+ export declare const IMPORT: Token;
75
+ export declare const INTERFACE: Token;
76
+ export declare const MAP: Token;
77
+ export declare const PACKAGE: Token;
78
+ export declare const RANGE: Token;
79
+ export declare const RETURN: Token;
80
+ export declare const SELECT: Token;
81
+ export declare const STRUCT: Token;
82
+ export declare const SWITCH: Token;
83
+ export declare const TYPE: Token;
84
+ export declare const VAR: Token;
85
+ export declare const TILDE: Token;
86
+ export declare const LowestPrec = 0;
87
+ export declare const UnaryPrec = 6;
88
+ export declare const HighestPrec = 7;
3
89
  export declare const NoPos: Pos;
90
+ type lineInfo = {
91
+ Offset: number;
92
+ Filename: string;
93
+ Line: number;
94
+ Column: number;
95
+ };
4
96
  export declare class Position {
5
97
  get Filename(): string;
6
98
  set Filename(value: string);
@@ -29,3 +121,67 @@ export declare class Position {
29
121
  }
30
122
  export declare function Position_IsValid(pos: Position): boolean;
31
123
  export declare function Position_String(pos: Position): string;
124
+ export declare class File {
125
+ private nameValue;
126
+ private baseValue;
127
+ private sizeValue;
128
+ private linesValue;
129
+ private infosValue;
130
+ constructor(init?: Partial<{
131
+ name: string;
132
+ base: number;
133
+ size: number;
134
+ lines: number[];
135
+ infos: lineInfo[];
136
+ }>);
137
+ clone(): File;
138
+ Name(): string;
139
+ Base(): number;
140
+ Size(): number;
141
+ End(): Pos;
142
+ LineCount(): number;
143
+ AddLine(offset: number): void;
144
+ MergeLine(line: number): void;
145
+ Lines(): $.Slice<number>;
146
+ SetLines(lines: $.Slice<number>): boolean;
147
+ SetLinesForContent(content: $.Slice<number>): void;
148
+ LineStart(line: number): Pos;
149
+ AddLineInfo(offset: number, filename: string, line: number): void;
150
+ AddLineColumnInfo(offset: number, filename: string, line: number, column: number): void;
151
+ Pos(offset: number): Pos;
152
+ Offset(pos: Pos): number;
153
+ Line(pos: Pos): number;
154
+ PositionFor(pos: Pos, adjusted: boolean): Position;
155
+ Position(pos: Pos): Position;
156
+ private fixOffset;
157
+ private position;
158
+ }
159
+ export declare class FileSet {
160
+ private baseValue;
161
+ private files;
162
+ constructor(init?: Partial<{
163
+ base: number;
164
+ files: File[];
165
+ }>);
166
+ clone(): FileSet;
167
+ Base(): number;
168
+ AddFile(filename: string, base: number, size: number): File;
169
+ AddExistingFiles(...files: File[]): void;
170
+ RemoveFile(file: File): void;
171
+ Iterate(yieldFile: (file: File) => boolean): void;
172
+ File(pos: Pos): File | null;
173
+ PositionFor(pos: Pos, adjusted: boolean): Position;
174
+ Position(pos: Pos): Position;
175
+ }
176
+ export declare function NewFileSet(): FileSet;
177
+ export declare function Pos_IsValid(pos: Pos): boolean;
178
+ export declare function Token_String(tok: Token): string;
179
+ export declare function Token_Precedence(tok: Token): number;
180
+ export declare function Token_IsLiteral(tok: Token): boolean;
181
+ export declare function Token_IsOperator(tok: Token): boolean;
182
+ export declare function Token_IsKeyword(tok: Token): boolean;
183
+ export declare function Lookup(ident: string): Token;
184
+ export declare function IsExported(name: string): boolean;
185
+ export declare function IsKeyword(name: string): boolean;
186
+ export declare function IsIdentifier(name: string): boolean;
187
+ export {};