typenative 0.1.3 → 0.2.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 (500) hide show
  1. package/.gitattributes +1 -0
  2. package/.github/workflows/ci.yml +1 -1
  3. package/.github/workflows/npm-publish-github-packages.yml +1 -1
  4. package/CHANGELOG.md +247 -0
  5. package/CONTRIBUTION.md +1 -1
  6. package/README.md +4 -4
  7. package/bin/cli.js +3 -1
  8. package/bin/go/bridge.js +919 -0
  9. package/bin/go/convert.js +238 -0
  10. package/bin/go/metadata.js +211 -0
  11. package/bin/go/overrides.js +68 -0
  12. package/bin/go/stdlib.generated.js +175 -0
  13. package/bin/index.js +294 -240
  14. package/bin/main.js +4 -1
  15. package/bin/node/assert.js +344 -0
  16. package/bin/node/async_hooks.js +273 -0
  17. package/bin/node/buffer.js +765 -0
  18. package/bin/node/child_process.js +600 -0
  19. package/bin/node/cluster.js +1002 -0
  20. package/bin/node/console.js +121 -0
  21. package/bin/node/core.js +111 -0
  22. package/bin/node/crypto.js +414 -0
  23. package/bin/node/crypto_keys.js +2685 -0
  24. package/bin/node/dgram.js +388 -0
  25. package/bin/node/diagnostics_channel.js +534 -0
  26. package/bin/node/dns.js +635 -0
  27. package/bin/node/events.js +743 -0
  28. package/bin/node/fetch.js +737 -0
  29. package/bin/node/fs.js +998 -0
  30. package/bin/node/http.js +1500 -0
  31. package/bin/node/http2.js +688 -0
  32. package/bin/node/net.js +1143 -0
  33. package/bin/node/os.js +257 -0
  34. package/bin/node/path.js +758 -0
  35. package/bin/node/process.js +316 -0
  36. package/bin/node/punycode.js +195 -0
  37. package/bin/node/querystring.js +143 -0
  38. package/bin/node/readline.js +299 -0
  39. package/bin/node/registry.js +161 -0
  40. package/bin/node/sqlite.js +1142 -0
  41. package/bin/node/stream.js +1221 -0
  42. package/bin/node/stream_web.js +2259 -0
  43. package/bin/node/string_decoder.js +101 -0
  44. package/bin/node/system_extra.js +661 -0
  45. package/bin/node/test.js +1068 -0
  46. package/bin/node/timers.js +250 -0
  47. package/bin/node/tls.js +719 -0
  48. package/bin/node/url.js +861 -0
  49. package/bin/node/util.js +1311 -0
  50. package/bin/node/util_extra.js +599 -0
  51. package/bin/node/worker_threads.js +745 -0
  52. package/bin/node/zlib.js +263 -0
  53. package/bin/transpiler.js +2650 -575
  54. package/bin/version.js +2 -0
  55. package/conformance.md +707 -241
  56. package/govendor/github.com/ncruces/go-sqlite3/LICENSE +21 -0
  57. package/govendor/github.com/ncruces/go-sqlite3/README.md +121 -0
  58. package/govendor/github.com/ncruces/go-sqlite3/backup.go +132 -0
  59. package/govendor/github.com/ncruces/go-sqlite3/blob.go +266 -0
  60. package/govendor/github.com/ncruces/go-sqlite3/config.go +397 -0
  61. package/govendor/github.com/ncruces/go-sqlite3/conn.go +540 -0
  62. package/govendor/github.com/ncruces/go-sqlite3/conn_127.go +93 -0
  63. package/govendor/github.com/ncruces/go-sqlite3/const.go +436 -0
  64. package/govendor/github.com/ncruces/go-sqlite3/context.go +222 -0
  65. package/govendor/github.com/ncruces/go-sqlite3/error.go +182 -0
  66. package/govendor/github.com/ncruces/go-sqlite3/ext.go +153 -0
  67. package/govendor/github.com/ncruces/go-sqlite3/func.go +309 -0
  68. package/govendor/github.com/ncruces/go-sqlite3/go.mod +3 -0
  69. package/govendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go +29 -0
  70. package/govendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_other.go +13 -0
  71. package/govendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go +57 -0
  72. package/govendor/github.com/ncruces/go-sqlite3/internal/errutil/error.go +41 -0
  73. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/alloc.go +128 -0
  74. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/const.go +122 -0
  75. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/error.go +77 -0
  76. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem.go +116 -0
  77. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem_other.go +34 -0
  78. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem_unix.go +87 -0
  79. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mem_windows.go +149 -0
  80. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mmap_unix.go +80 -0
  81. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/mmap_windows.go +129 -0
  82. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/sys_windows.go +60 -0
  83. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/wrap.go +82 -0
  84. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/wrap_sys.go +113 -0
  85. package/govendor/github.com/ncruces/go-sqlite3/internal/sqlite3_wrap/wrap_vfs.go +181 -0
  86. package/govendor/github.com/ncruces/go-sqlite3/internal/testenv/env.go +55 -0
  87. package/govendor/github.com/ncruces/go-sqlite3/internal/util/json.go +54 -0
  88. package/govendor/github.com/ncruces/go-sqlite3/internal/util/json_v2.go +54 -0
  89. package/govendor/github.com/ncruces/go-sqlite3/internal/util/math.go +29 -0
  90. package/govendor/github.com/ncruces/go-sqlite3/internal/util/page.go +5 -0
  91. package/govendor/github.com/ncruces/go-sqlite3/internal/util/parse.go +142 -0
  92. package/govendor/github.com/ncruces/go-sqlite3/internal/util/pointer.go +3 -0
  93. package/govendor/github.com/ncruces/go-sqlite3/internal/util/reflect.go +10 -0
  94. package/govendor/github.com/ncruces/go-sqlite3/json.go +100 -0
  95. package/govendor/github.com/ncruces/go-sqlite3/json_v2.go +116 -0
  96. package/govendor/github.com/ncruces/go-sqlite3/pointer.go +13 -0
  97. package/govendor/github.com/ncruces/go-sqlite3/quote.go +140 -0
  98. package/govendor/github.com/ncruces/go-sqlite3/stmt.go +692 -0
  99. package/govendor/github.com/ncruces/go-sqlite3/time.go +360 -0
  100. package/govendor/github.com/ncruces/go-sqlite3/txn.go +374 -0
  101. package/govendor/github.com/ncruces/go-sqlite3/value.go +212 -0
  102. package/govendor/github.com/ncruces/go-sqlite3/vfs/README.md +133 -0
  103. package/govendor/github.com/ncruces/go-sqlite3/vfs/api.go +239 -0
  104. package/govendor/github.com/ncruces/go-sqlite3/vfs/cksm.go +143 -0
  105. package/govendor/github.com/ncruces/go-sqlite3/vfs/const.go +256 -0
  106. package/govendor/github.com/ncruces/go-sqlite3/vfs/file.go +260 -0
  107. package/govendor/github.com/ncruces/go-sqlite3/vfs/filename.go +187 -0
  108. package/govendor/github.com/ncruces/go-sqlite3/vfs/lock.go +128 -0
  109. package/govendor/github.com/ncruces/go-sqlite3/vfs/lock_other.go +23 -0
  110. package/govendor/github.com/ncruces/go-sqlite3/vfs/map.go +63 -0
  111. package/govendor/github.com/ncruces/go-sqlite3/vfs/map_other.go +13 -0
  112. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_bsd.go +110 -0
  113. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_darwin.go +131 -0
  114. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_dotlk.go +140 -0
  115. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_f2fs_linux.go +56 -0
  116. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_linux.go +117 -0
  117. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_ofd.go +59 -0
  118. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std.go +50 -0
  119. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_alloc.go +19 -0
  120. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_atomic.go +9 -0
  121. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_rw.go +13 -0
  122. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_sync.go +9 -0
  123. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_std_temp.go +16 -0
  124. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_unix.go +108 -0
  125. package/govendor/github.com/ncruces/go-sqlite3/vfs/os_windows.go +180 -0
  126. package/govendor/github.com/ncruces/go-sqlite3/vfs/registry.go +48 -0
  127. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm.go +26 -0
  128. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_bsd.go +258 -0
  129. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_copy.go +90 -0
  130. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_dotlk.go +168 -0
  131. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_memlk.go +52 -0
  132. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_ofd.go +185 -0
  133. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_other.go +21 -0
  134. package/govendor/github.com/ncruces/go-sqlite3/vfs/shm_windows.go +124 -0
  135. package/govendor/github.com/ncruces/go-sqlite3/vfs/vfs.go +455 -0
  136. package/govendor/github.com/ncruces/go-sqlite3/vtab.go +677 -0
  137. package/govendor/github.com/ncruces/go-sqlite3/wrap.go +48 -0
  138. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/LICENSE +18 -0
  139. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/README.md +11 -0
  140. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/go.mod +3 -0
  141. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/libc.go +215 -0
  142. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/sqlite3.dat +0 -0
  143. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/sqlite3.go +157903 -0
  144. package/govendor/github.com/ncruces/go-sqlite3-wasm/v6/tools.sh +38 -0
  145. package/govendor/github.com/ncruces/julianday/LICENSE +21 -0
  146. package/govendor/github.com/ncruces/julianday/README.md +9 -0
  147. package/govendor/github.com/ncruces/julianday/go.mod +3 -0
  148. package/govendor/github.com/ncruces/julianday/julianday.go +124 -0
  149. package/govendor/golang.org/x/sys/LICENSE +27 -0
  150. package/govendor/golang.org/x/sys/PATENTS +22 -0
  151. package/govendor/golang.org/x/sys/go.mod +3 -0
  152. package/govendor/golang.org/x/sys/unix/README.md +184 -0
  153. package/govendor/golang.org/x/sys/unix/affinity_linux.go +189 -0
  154. package/govendor/golang.org/x/sys/unix/aliases.go +13 -0
  155. package/govendor/golang.org/x/sys/unix/asm_aix_ppc64.s +17 -0
  156. package/govendor/golang.org/x/sys/unix/asm_bsd_386.s +27 -0
  157. package/govendor/golang.org/x/sys/unix/asm_bsd_amd64.s +27 -0
  158. package/govendor/golang.org/x/sys/unix/asm_bsd_arm.s +27 -0
  159. package/govendor/golang.org/x/sys/unix/asm_bsd_arm64.s +27 -0
  160. package/govendor/golang.org/x/sys/unix/asm_bsd_ppc64.s +29 -0
  161. package/govendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +27 -0
  162. package/govendor/golang.org/x/sys/unix/asm_linux_386.s +65 -0
  163. package/govendor/golang.org/x/sys/unix/asm_linux_amd64.s +57 -0
  164. package/govendor/golang.org/x/sys/unix/asm_linux_arm.s +56 -0
  165. package/govendor/golang.org/x/sys/unix/asm_linux_arm64.s +50 -0
  166. package/govendor/golang.org/x/sys/unix/asm_linux_loong64.s +51 -0
  167. package/govendor/golang.org/x/sys/unix/asm_linux_mips64x.s +54 -0
  168. package/govendor/golang.org/x/sys/unix/asm_linux_mipsx.s +52 -0
  169. package/govendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +42 -0
  170. package/govendor/golang.org/x/sys/unix/asm_linux_riscv64.s +47 -0
  171. package/govendor/golang.org/x/sys/unix/asm_linux_s390x.s +54 -0
  172. package/govendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +29 -0
  173. package/govendor/golang.org/x/sys/unix/asm_solaris_amd64.s +17 -0
  174. package/govendor/golang.org/x/sys/unix/asm_zos_s390x.s +382 -0
  175. package/govendor/golang.org/x/sys/unix/auxv.go +36 -0
  176. package/govendor/golang.org/x/sys/unix/auxv_unsupported.go +13 -0
  177. package/govendor/golang.org/x/sys/unix/bluetooth_linux.go +36 -0
  178. package/govendor/golang.org/x/sys/unix/bpxsvc_zos.go +657 -0
  179. package/govendor/golang.org/x/sys/unix/bpxsvc_zos.s +192 -0
  180. package/govendor/golang.org/x/sys/unix/cap_freebsd.go +195 -0
  181. package/govendor/golang.org/x/sys/unix/constants.go +13 -0
  182. package/govendor/golang.org/x/sys/unix/dev_aix_ppc.go +26 -0
  183. package/govendor/golang.org/x/sys/unix/dev_aix_ppc64.go +28 -0
  184. package/govendor/golang.org/x/sys/unix/dev_darwin.go +24 -0
  185. package/govendor/golang.org/x/sys/unix/dev_dragonfly.go +30 -0
  186. package/govendor/golang.org/x/sys/unix/dev_freebsd.go +30 -0
  187. package/govendor/golang.org/x/sys/unix/dev_linux.go +42 -0
  188. package/govendor/golang.org/x/sys/unix/dev_netbsd.go +29 -0
  189. package/govendor/golang.org/x/sys/unix/dev_openbsd.go +29 -0
  190. package/govendor/golang.org/x/sys/unix/dev_zos.go +28 -0
  191. package/govendor/golang.org/x/sys/unix/dirent.go +102 -0
  192. package/govendor/golang.org/x/sys/unix/endian_big.go +9 -0
  193. package/govendor/golang.org/x/sys/unix/endian_little.go +9 -0
  194. package/govendor/golang.org/x/sys/unix/env_unix.go +31 -0
  195. package/govendor/golang.org/x/sys/unix/fcntl.go +36 -0
  196. package/govendor/golang.org/x/sys/unix/fcntl_darwin.go +24 -0
  197. package/govendor/golang.org/x/sys/unix/fcntl_linux_32bit.go +13 -0
  198. package/govendor/golang.org/x/sys/unix/fdset.go +27 -0
  199. package/govendor/golang.org/x/sys/unix/gccgo.go +59 -0
  200. package/govendor/golang.org/x/sys/unix/gccgo_c.c +44 -0
  201. package/govendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +20 -0
  202. package/govendor/golang.org/x/sys/unix/ifreq_linux.go +145 -0
  203. package/govendor/golang.org/x/sys/unix/ioctl_linux.go +341 -0
  204. package/govendor/golang.org/x/sys/unix/ioctl_signed.go +74 -0
  205. package/govendor/golang.org/x/sys/unix/ioctl_unsigned.go +74 -0
  206. package/govendor/golang.org/x/sys/unix/ioctl_zos.go +71 -0
  207. package/govendor/golang.org/x/sys/unix/mkall.sh +250 -0
  208. package/govendor/golang.org/x/sys/unix/mkerrors.sh +807 -0
  209. package/govendor/golang.org/x/sys/unix/mmap_nomremap.go +13 -0
  210. package/govendor/golang.org/x/sys/unix/mremap.go +57 -0
  211. package/govendor/golang.org/x/sys/unix/pagesize_unix.go +15 -0
  212. package/govendor/golang.org/x/sys/unix/pledge_openbsd.go +111 -0
  213. package/govendor/golang.org/x/sys/unix/ptrace_darwin.go +11 -0
  214. package/govendor/golang.org/x/sys/unix/ptrace_ios.go +11 -0
  215. package/govendor/golang.org/x/sys/unix/race.go +30 -0
  216. package/govendor/golang.org/x/sys/unix/race0.go +25 -0
  217. package/govendor/golang.org/x/sys/unix/readdirent_getdents.go +12 -0
  218. package/govendor/golang.org/x/sys/unix/readdirent_getdirentries.go +19 -0
  219. package/govendor/golang.org/x/sys/unix/readv_unix.go +103 -0
  220. package/govendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go +16 -0
  221. package/govendor/golang.org/x/sys/unix/sockcmsg_linux.go +85 -0
  222. package/govendor/golang.org/x/sys/unix/sockcmsg_unix.go +106 -0
  223. package/govendor/golang.org/x/sys/unix/sockcmsg_unix_other.go +46 -0
  224. package/govendor/golang.org/x/sys/unix/sockcmsg_zos.go +58 -0
  225. package/govendor/golang.org/x/sys/unix/symaddr_zos_s390x.s +75 -0
  226. package/govendor/golang.org/x/sys/unix/syscall.go +86 -0
  227. package/govendor/golang.org/x/sys/unix/syscall_aix.go +582 -0
  228. package/govendor/golang.org/x/sys/unix/syscall_aix_ppc.go +52 -0
  229. package/govendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +83 -0
  230. package/govendor/golang.org/x/sys/unix/syscall_bsd.go +609 -0
  231. package/govendor/golang.org/x/sys/unix/syscall_darwin.go +711 -0
  232. package/govendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +50 -0
  233. package/govendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +50 -0
  234. package/govendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go +26 -0
  235. package/govendor/golang.org/x/sys/unix/syscall_dragonfly.go +359 -0
  236. package/govendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +56 -0
  237. package/govendor/golang.org/x/sys/unix/syscall_freebsd.go +455 -0
  238. package/govendor/golang.org/x/sys/unix/syscall_freebsd_386.go +64 -0
  239. package/govendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +64 -0
  240. package/govendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +60 -0
  241. package/govendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go +60 -0
  242. package/govendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go +60 -0
  243. package/govendor/golang.org/x/sys/unix/syscall_hurd.go +30 -0
  244. package/govendor/golang.org/x/sys/unix/syscall_hurd_386.go +28 -0
  245. package/govendor/golang.org/x/sys/unix/syscall_illumos.go +78 -0
  246. package/govendor/golang.org/x/sys/unix/syscall_linux.go +2574 -0
  247. package/govendor/golang.org/x/sys/unix/syscall_linux_386.go +313 -0
  248. package/govendor/golang.org/x/sys/unix/syscall_linux_alarm.go +12 -0
  249. package/govendor/golang.org/x/sys/unix/syscall_linux_amd64.go +144 -0
  250. package/govendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +12 -0
  251. package/govendor/golang.org/x/sys/unix/syscall_linux_arm.go +218 -0
  252. package/govendor/golang.org/x/sys/unix/syscall_linux_arm64.go +188 -0
  253. package/govendor/golang.org/x/sys/unix/syscall_linux_gc.go +14 -0
  254. package/govendor/golang.org/x/sys/unix/syscall_linux_gc_386.go +16 -0
  255. package/govendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go +13 -0
  256. package/govendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go +30 -0
  257. package/govendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go +20 -0
  258. package/govendor/golang.org/x/sys/unix/syscall_linux_loong64.go +220 -0
  259. package/govendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +187 -0
  260. package/govendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +173 -0
  261. package/govendor/golang.org/x/sys/unix/syscall_linux_ppc.go +203 -0
  262. package/govendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +114 -0
  263. package/govendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +193 -0
  264. package/govendor/golang.org/x/sys/unix/syscall_linux_s390x.go +295 -0
  265. package/govendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +111 -0
  266. package/govendor/golang.org/x/sys/unix/syscall_netbsd.go +388 -0
  267. package/govendor/golang.org/x/sys/unix/syscall_netbsd_386.go +37 -0
  268. package/govendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +37 -0
  269. package/govendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +37 -0
  270. package/govendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go +37 -0
  271. package/govendor/golang.org/x/sys/unix/syscall_openbsd.go +346 -0
  272. package/govendor/golang.org/x/sys/unix/syscall_openbsd_386.go +41 -0
  273. package/govendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +41 -0
  274. package/govendor/golang.org/x/sys/unix/syscall_openbsd_arm.go +41 -0
  275. package/govendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go +41 -0
  276. package/govendor/golang.org/x/sys/unix/syscall_openbsd_libc.go +26 -0
  277. package/govendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go +39 -0
  278. package/govendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go +41 -0
  279. package/govendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go +41 -0
  280. package/govendor/golang.org/x/sys/unix/syscall_solaris.go +1183 -0
  281. package/govendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +27 -0
  282. package/govendor/golang.org/x/sys/unix/syscall_unix.go +619 -0
  283. package/govendor/golang.org/x/sys/unix/syscall_unix_gc.go +14 -0
  284. package/govendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go +22 -0
  285. package/govendor/golang.org/x/sys/unix/syscall_zos_s390x.go +3213 -0
  286. package/govendor/golang.org/x/sys/unix/sysvshm_linux.go +20 -0
  287. package/govendor/golang.org/x/sys/unix/sysvshm_unix.go +51 -0
  288. package/govendor/golang.org/x/sys/unix/sysvshm_unix_other.go +13 -0
  289. package/govendor/golang.org/x/sys/unix/timestruct.go +76 -0
  290. package/govendor/golang.org/x/sys/unix/unveil_openbsd.go +51 -0
  291. package/govendor/golang.org/x/sys/unix/vgetrandom_linux.go +13 -0
  292. package/govendor/golang.org/x/sys/unix/vgetrandom_unsupported.go +11 -0
  293. package/govendor/golang.org/x/sys/unix/xattr_bsd.go +280 -0
  294. package/govendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +1384 -0
  295. package/govendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +1385 -0
  296. package/govendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +1922 -0
  297. package/govendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +1922 -0
  298. package/govendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +1737 -0
  299. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +2042 -0
  300. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +2039 -0
  301. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +2033 -0
  302. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +2033 -0
  303. package/govendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go +2147 -0
  304. package/govendor/golang.org/x/sys/unix/zerrors_linux.go +4209 -0
  305. package/govendor/golang.org/x/sys/unix/zerrors_linux_386.go +882 -0
  306. package/govendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +882 -0
  307. package/govendor/golang.org/x/sys/unix/zerrors_linux_arm.go +887 -0
  308. package/govendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +884 -0
  309. package/govendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +874 -0
  310. package/govendor/golang.org/x/sys/unix/zerrors_linux_mips.go +888 -0
  311. package/govendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +888 -0
  312. package/govendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +888 -0
  313. package/govendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +888 -0
  314. package/govendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +940 -0
  315. package/govendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +944 -0
  316. package/govendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +944 -0
  317. package/govendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +884 -0
  318. package/govendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +943 -0
  319. package/govendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +992 -0
  320. package/govendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +1779 -0
  321. package/govendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +1769 -0
  322. package/govendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +1758 -0
  323. package/govendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go +1769 -0
  324. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +1905 -0
  325. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +1905 -0
  326. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +1905 -0
  327. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go +1905 -0
  328. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +1905 -0
  329. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go +1904 -0
  330. package/govendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go +1903 -0
  331. package/govendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +1556 -0
  332. package/govendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +990 -0
  333. package/govendor/golang.org/x/sys/unix/zptrace_armnn_linux.go +40 -0
  334. package/govendor/golang.org/x/sys/unix/zptrace_linux_arm64.go +17 -0
  335. package/govendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go +49 -0
  336. package/govendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go +49 -0
  337. package/govendor/golang.org/x/sys/unix/zptrace_x86_linux.go +79 -0
  338. package/govendor/golang.org/x/sys/unix/zsymaddr_zos_s390x.s +364 -0
  339. package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +1461 -0
  340. package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +1420 -0
  341. package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +1188 -0
  342. package/govendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +1069 -0
  343. package/govendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +2728 -0
  344. package/govendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +799 -0
  345. package/govendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +2728 -0
  346. package/govendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +799 -0
  347. package/govendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +1666 -0
  348. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +1886 -0
  349. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +1886 -0
  350. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +1886 -0
  351. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +1886 -0
  352. package/govendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +1886 -0
  353. package/govendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go +101 -0
  354. package/govendor/golang.org/x/sys/unix/zsyscall_linux.go +2267 -0
  355. package/govendor/golang.org/x/sys/unix/zsyscall_linux_386.go +469 -0
  356. package/govendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +636 -0
  357. package/govendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +584 -0
  358. package/govendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +535 -0
  359. package/govendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go +469 -0
  360. package/govendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +636 -0
  361. package/govendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +630 -0
  362. package/govendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +619 -0
  363. package/govendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +636 -0
  364. package/govendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +641 -0
  365. package/govendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +687 -0
  366. package/govendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +687 -0
  367. package/govendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +531 -0
  368. package/govendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +478 -0
  369. package/govendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +631 -0
  370. package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +1848 -0
  371. package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +1848 -0
  372. package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +1848 -0
  373. package/govendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +1848 -0
  374. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +2407 -0
  375. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +719 -0
  376. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +2407 -0
  377. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +719 -0
  378. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +2407 -0
  379. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +719 -0
  380. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +2407 -0
  381. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +719 -0
  382. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +2407 -0
  383. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +719 -0
  384. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +2407 -0
  385. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +862 -0
  386. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +2407 -0
  387. package/govendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +719 -0
  388. package/govendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +2217 -0
  389. package/govendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +3458 -0
  390. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +280 -0
  391. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +280 -0
  392. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +280 -0
  393. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go +280 -0
  394. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go +280 -0
  395. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go +280 -0
  396. package/govendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go +281 -0
  397. package/govendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +439 -0
  398. package/govendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +437 -0
  399. package/govendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +316 -0
  400. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +393 -0
  401. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +393 -0
  402. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +393 -0
  403. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go +393 -0
  404. package/govendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go +393 -0
  405. package/govendor/golang.org/x/sys/unix/zsysnum_linux_386.go +470 -0
  406. package/govendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +394 -0
  407. package/govendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +434 -0
  408. package/govendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +337 -0
  409. package/govendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +334 -0
  410. package/govendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +454 -0
  411. package/govendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +384 -0
  412. package/govendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +384 -0
  413. package/govendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +454 -0
  414. package/govendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +461 -0
  415. package/govendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +433 -0
  416. package/govendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +433 -0
  417. package/govendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +338 -0
  418. package/govendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +399 -0
  419. package/govendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +413 -0
  420. package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +274 -0
  421. package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +274 -0
  422. package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +274 -0
  423. package/govendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go +274 -0
  424. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +219 -0
  425. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +219 -0
  426. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go +219 -0
  427. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go +218 -0
  428. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go +221 -0
  429. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go +217 -0
  430. package/govendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go +218 -0
  431. package/govendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +2852 -0
  432. package/govendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +353 -0
  433. package/govendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +357 -0
  434. package/govendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +878 -0
  435. package/govendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +878 -0
  436. package/govendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +473 -0
  437. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +651 -0
  438. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +656 -0
  439. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +642 -0
  440. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +636 -0
  441. package/govendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +638 -0
  442. package/govendor/golang.org/x/sys/unix/ztypes_linux.go +6547 -0
  443. package/govendor/golang.org/x/sys/unix/ztypes_linux_386.go +747 -0
  444. package/govendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +761 -0
  445. package/govendor/golang.org/x/sys/unix/ztypes_linux_arm.go +741 -0
  446. package/govendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +740 -0
  447. package/govendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +741 -0
  448. package/govendor/golang.org/x/sys/unix/ztypes_linux_mips.go +746 -0
  449. package/govendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +743 -0
  450. package/govendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +743 -0
  451. package/govendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +746 -0
  452. package/govendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +754 -0
  453. package/govendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +749 -0
  454. package/govendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +749 -0
  455. package/govendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +828 -0
  456. package/govendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +763 -0
  457. package/govendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +744 -0
  458. package/govendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +585 -0
  459. package/govendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +593 -0
  460. package/govendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +590 -0
  461. package/govendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +593 -0
  462. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +568 -0
  463. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +568 -0
  464. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +575 -0
  465. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +568 -0
  466. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +568 -0
  467. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go +570 -0
  468. package/govendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go +570 -0
  469. package/govendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +516 -0
  470. package/govendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +552 -0
  471. package/govendor/golang.org/x/sys/windows/aliases.go +13 -0
  472. package/govendor/golang.org/x/sys/windows/dll_windows.go +380 -0
  473. package/govendor/golang.org/x/sys/windows/env_windows.go +57 -0
  474. package/govendor/golang.org/x/sys/windows/eventlog.go +20 -0
  475. package/govendor/golang.org/x/sys/windows/exec_windows.go +248 -0
  476. package/govendor/golang.org/x/sys/windows/memory_windows.go +48 -0
  477. package/govendor/golang.org/x/sys/windows/mkerrors.bash +70 -0
  478. package/govendor/golang.org/x/sys/windows/mkknownfolderids.bash +27 -0
  479. package/govendor/golang.org/x/sys/windows/mksyscall.go +9 -0
  480. package/govendor/golang.org/x/sys/windows/race.go +30 -0
  481. package/govendor/golang.org/x/sys/windows/race0.go +25 -0
  482. package/govendor/golang.org/x/sys/windows/security_windows.go +1537 -0
  483. package/govendor/golang.org/x/sys/windows/service.go +257 -0
  484. package/govendor/golang.org/x/sys/windows/setupapi_windows.go +1425 -0
  485. package/govendor/golang.org/x/sys/windows/str.go +22 -0
  486. package/govendor/golang.org/x/sys/windows/syscall.go +104 -0
  487. package/govendor/golang.org/x/sys/windows/syscall_windows.go +1952 -0
  488. package/govendor/golang.org/x/sys/windows/types_windows.go +4058 -0
  489. package/govendor/golang.org/x/sys/windows/types_windows_386.go +35 -0
  490. package/govendor/golang.org/x/sys/windows/types_windows_amd64.go +34 -0
  491. package/govendor/golang.org/x/sys/windows/types_windows_arm.go +35 -0
  492. package/govendor/golang.org/x/sys/windows/types_windows_arm64.go +34 -0
  493. package/govendor/golang.org/x/sys/windows/zerrors_windows.go +9468 -0
  494. package/govendor/golang.org/x/sys/windows/zknownfolderids_windows.go +149 -0
  495. package/govendor/golang.org/x/sys/windows/zsyscall_windows.go +4828 -0
  496. package/govendor/manifest.txt +7 -0
  497. package/package.json +6 -1
  498. package/types/typenative-go.d.ts +15159 -5
  499. package/types/typenative-npm.d.ts +2637 -34
  500. package/types/typenative.d.ts +651 -8
@@ -0,0 +1,316 @@
1
+ // node:process + the global `process`: argv / env / exit / exitCode / cwd /
2
+ // hrtime / memoryUsage / stdout.write / nextTick … (process.env reads and
3
+ // writes are lowered in the transpiler: process.env.X → TnGetenv("X"))
4
+ import { defineClass, defineHelper, defineModule, setResults } from './registry.js';
5
+ const processHelper = `// node:process
6
+ var tnProcessStart = time.Now()
7
+ var tnExitCode float64
8
+
9
+ // Node's argv shape: [execPath, script, ...args] (the binary is the script)
10
+ func TnProcessArgv() []string {
11
+ return append([]string{TnProcessExecPath(), os.Args[0]}, os.Args[1:]...)
12
+ }
13
+
14
+ func TnProcessExecPath() string {
15
+ exe, err := os.Executable()
16
+ if err != nil {
17
+ return os.Args[0]
18
+ }
19
+ return exe
20
+ }
21
+
22
+ func TnSetExitCode(code float64) { tnExitCode = code }
23
+
24
+ // process.on('exit') listeners (installed by node:events)
25
+ var tnBeforeExit func(code float64)
26
+ var tnExiting bool
27
+
28
+ func tnRunBeforeExit(code float64) {
29
+ if tnBeforeExit != nil && !tnExiting {
30
+ tnExiting = true
31
+ tnBeforeExit(code)
32
+ }
33
+ }
34
+
35
+ // The end of main: exit with process.exitCode
36
+ func TnProcessExit() {
37
+ tnRunBeforeExit(tnExitCode)
38
+ if tnExitCode != 0 {
39
+ os.Exit(int(tnExitCode))
40
+ }
41
+ }
42
+
43
+ // process.exit(code?)
44
+ func TnProcessExitWith(code ...float64) {
45
+ if len(code) > 0 {
46
+ tnExitCode = code[0]
47
+ }
48
+ tnRunBeforeExit(tnExitCode)
49
+ os.Exit(int(tnExitCode))
50
+ }
51
+
52
+ func TnProcessChdir(dir string) {
53
+ if err := os.Chdir(dir); err != nil {
54
+ panic(TnNodeError("Error", "ENOENT", "ENOENT: no such file or directory, chdir "+tnQuote(dir)))
55
+ }
56
+ }
57
+
58
+ func tnQuote(s string) string { return "'" + s + "'" }
59
+
60
+ // process.hrtime([prev]): [seconds, nanoseconds] of a monotonic clock
61
+ func TnProcessHrtime(prev ...[]float64) []float64 {
62
+ ns := time.Since(tnProcessStart).Nanoseconds()
63
+ if len(prev) > 0 && len(prev[0]) == 2 {
64
+ ns -= int64(prev[0][0])*1e9 + int64(prev[0][1])
65
+ }
66
+ return []float64{float64(ns / 1e9), float64(ns % 1e9)}
67
+ }
68
+
69
+ func TnProcessHrtimeBigint() *tnbig.Int {
70
+ return tnbig.NewInt(time.Since(tnProcessStart).Nanoseconds())
71
+ }
72
+
73
+ func TnProcessUptime() float64 { return time.Since(tnProcessStart).Seconds() }
74
+
75
+ type TnMemoryUsage struct {
76
+ rss float64
77
+ heapTotal float64
78
+ heapUsed float64
79
+ external float64
80
+ arrayBuffers float64
81
+ }
82
+
83
+ func TnProcessMemoryUsage() *TnMemoryUsage {
84
+ var m runtime.MemStats
85
+ runtime.ReadMemStats(&m)
86
+ return &TnMemoryUsage{rss: float64(m.Sys), heapTotal: float64(m.HeapSys), heapUsed: float64(m.HeapAlloc)}
87
+ }
88
+
89
+ // process.stdout.write / process.stderr.write (strings or Buffers)
90
+ func TnProcessWrite(w *os.File, v interface{}) bool {
91
+ switch x := v.(type) {
92
+ case string:
93
+ w.WriteString(x)
94
+ case []byte:
95
+ w.Write(x)
96
+ default:
97
+ fmt.Fprint(w, x)
98
+ }
99
+ return true
100
+ }
101
+
102
+ func TnIsTTY(f *os.File) bool {
103
+ info, err := f.Stat()
104
+ return err == nil && info.Mode()&os.ModeCharDevice != 0
105
+ }
106
+
107
+ func TnProcessKill(pid float64, signal ...interface{}) bool {
108
+ p, err := os.FindProcess(int(pid))
109
+ if err != nil {
110
+ panic(TnNodeError("Error", "ESRCH", "kill ESRCH"))
111
+ }
112
+ sig := 15
113
+ if len(signal) > 0 {
114
+ switch s := signal[0].(type) {
115
+ case float64:
116
+ sig = int(s)
117
+ case string:
118
+ switch s {
119
+ case "SIGINT":
120
+ sig = 2
121
+ case "SIGKILL":
122
+ sig = 9
123
+ case "SIGHUP":
124
+ sig = 1
125
+ case "SIGQUIT":
126
+ sig = 3
127
+ }
128
+ }
129
+ }
130
+ if sig == 0 {
131
+ return true
132
+ }
133
+ if sig == 9 || sig == 15 || runtime.GOOS == "windows" {
134
+ err = p.Kill()
135
+ } else {
136
+ err = p.Signal(syscall.Signal(sig))
137
+ }
138
+ if err != nil {
139
+ panic(TnNodeError("Error", "ESRCH", "kill ESRCH"))
140
+ }
141
+ return true
142
+ }
143
+
144
+ func TnProcessEmitWarning(warning interface{}) {
145
+ msg := fmt.Sprint(warning)
146
+ if e, ok := warning.(*TnError); ok {
147
+ msg = e.message
148
+ }
149
+ fmt.Fprintf(os.Stderr, "(node:%d) Warning: %s\\n", os.Getpid(), msg)
150
+ }
151
+
152
+ func TnProcessVersions() *TnMap[string, string] {
153
+ m := TnNewMap[string, string]()
154
+ m.Set("node", "24.0.0")
155
+ m.Set("go", strings.TrimPrefix(runtime.Version(), "go"))
156
+ return m
157
+ }
158
+
159
+ // process.env as a whole (Object.keys(process.env), spreading it)
160
+ func TnEnvMap() *TnMap[string, string] {
161
+ m := TnNewMap[string, string]()
162
+ for _, kv := range os.Environ() {
163
+ if i := strings.Index(kv, "="); i > 0 {
164
+ m.Set(kv[:i], kv[i+1:])
165
+ }
166
+ }
167
+ return m
168
+ }
169
+
170
+ func TnHasEnv(name string) bool {
171
+ _, ok := os.LookupEnv(name)
172
+ return ok
173
+ }`;
174
+ export function registerProcess(r) {
175
+ defineModule(r, 'process');
176
+ r.globals['process'] = 'process';
177
+ r.objects['process.stdout'] = true;
178
+ r.objects['process.stderr'] = true;
179
+ r.objects['process.stdin'] = true;
180
+ r.objects['process.hrtime'] = true;
181
+ r.objects['process.memoryUsage'] = true;
182
+ defineHelper(r, 'nodeProcess', ['fmt', 'math/big', 'os', 'runtime', 'strings', 'syscall', 'time'], ['error', 'orderedMap'], processHelper);
183
+ defineClass(r, 'process.MemoryUsage', '*TnMemoryUsage', 'class', '', 'rss=float64; heapTotal=float64; heapUsed=float64; external=float64; arrayBuffers=float64', '', '');
184
+ const use = () => r.helper('nodeProcess');
185
+ const value = (name, type, emit) => {
186
+ r.values[`process.${name}`] = (_c) => emit();
187
+ r.valueTypes[`process.${name}`] = type;
188
+ };
189
+ value('argv', '[]string', () => {
190
+ use();
191
+ return 'TnProcessArgv()';
192
+ });
193
+ value('execArgv', '[]string', () => '[]string{}');
194
+ value('argv0', 'string', () => {
195
+ r.pkg('os');
196
+ return 'os.Args[0]';
197
+ });
198
+ value('execPath', 'string', () => {
199
+ use();
200
+ return 'TnProcessExecPath()';
201
+ });
202
+ value('platform', 'string', () => {
203
+ r.helper('osPlatform');
204
+ return 'TnOsPlatform()';
205
+ });
206
+ value('arch', 'string', () => {
207
+ r.helper('nodeOs');
208
+ return 'TnOsArch()';
209
+ });
210
+ value('pid', 'float64', () => {
211
+ r.pkg('os');
212
+ return 'float64(os.Getpid())';
213
+ });
214
+ value('ppid', 'float64', () => {
215
+ r.pkg('os');
216
+ return 'float64(os.Getppid())';
217
+ });
218
+ value('version', 'string', () => '"v24.0.0"');
219
+ value('versions', '*TnMap[string, string]', () => {
220
+ use();
221
+ return 'TnProcessVersions()';
222
+ });
223
+ value('title', 'string', () => '"node"');
224
+ value('exitCode', 'float64', () => {
225
+ use();
226
+ return 'tnExitCode';
227
+ });
228
+ value('env', '*TnMap[string, string]', () => {
229
+ use();
230
+ return 'TnEnvMap()';
231
+ });
232
+ value('stdout.isTTY', 'bool', () => {
233
+ use();
234
+ return 'TnIsTTY(os.Stdout)';
235
+ });
236
+ value('stderr.isTTY', 'bool', () => {
237
+ use();
238
+ return 'TnIsTTY(os.Stderr)';
239
+ });
240
+ value('stdin.isTTY', 'bool', () => {
241
+ use();
242
+ return 'TnIsTTY(os.Stdin)';
243
+ });
244
+ value('stdout.fd', 'float64', () => 'float64(1)');
245
+ value('stderr.fd', 'float64', () => 'float64(2)');
246
+ value('stdin.fd', 'float64', () => 'float64(0)');
247
+ r.functions['process.exitCode='] = (call) => {
248
+ use();
249
+ return `TnSetExitCode(${call.args[0]})`;
250
+ };
251
+ const fn = (name, result, emit) => {
252
+ r.functions[`process.${name}`] = emit;
253
+ r.results[`process.${name}`] = result;
254
+ };
255
+ fn('exit', '', (call) => {
256
+ use();
257
+ return `TnProcessExitWith(${call.args.slice(0, 1).join(', ')})`;
258
+ });
259
+ fn('cwd', 'string', (_c) => {
260
+ r.pkg('os');
261
+ return 'func() string { __d, _ := os.Getwd(); return __d }()';
262
+ });
263
+ fn('chdir', '', (call) => {
264
+ use();
265
+ return `TnProcessChdir(${call.args[0]})`;
266
+ });
267
+ fn('hrtime', '[]float64', (call) => {
268
+ use();
269
+ return `TnProcessHrtime(${call.args.join(', ')})`;
270
+ });
271
+ fn('hrtime.bigint', '*tnbig.Int', (_c) => {
272
+ use();
273
+ return 'TnProcessHrtimeBigint()';
274
+ });
275
+ fn('uptime', 'float64', (_c) => {
276
+ use();
277
+ return 'TnProcessUptime()';
278
+ });
279
+ fn('memoryUsage', '*TnMemoryUsage', (_c) => {
280
+ use();
281
+ return 'TnProcessMemoryUsage()';
282
+ });
283
+ fn('memoryUsage.rss', 'float64', (_c) => {
284
+ use();
285
+ return 'TnProcessMemoryUsage().rss';
286
+ });
287
+ fn('stdout.write', 'bool', (call) => {
288
+ use();
289
+ return `TnProcessWrite(os.Stdout, ${call.args[0]})`;
290
+ });
291
+ fn('stderr.write', 'bool', (call) => {
292
+ use();
293
+ return `TnProcessWrite(os.Stderr, ${call.args[0]})`;
294
+ });
295
+ fn('nextTick', '', (call) => {
296
+ r.helper('timerWait');
297
+ const rest = call.args.slice(1).join(', ');
298
+ return `TnQueueMicrotask(func() { (${call.args[0]})(${rest}) })`;
299
+ });
300
+ fn('kill', 'bool', (call) => {
301
+ use();
302
+ return `TnProcessKill(${call.args.join(', ')})`;
303
+ });
304
+ fn('emitWarning', '', (call) => {
305
+ use();
306
+ return `TnProcessEmitWarning(${call.args[0]})`;
307
+ });
308
+ for (const id of ['getuid', 'getgid', 'geteuid', 'getegid']) {
309
+ const goName = id === 'getuid' ? 'Getuid' : id === 'getgid' ? 'Getgid' : id === 'geteuid' ? 'Geteuid' : 'Getegid';
310
+ fn(id, 'float64', (_c) => {
311
+ r.pkg('os');
312
+ return `float64(os.${goName}())`;
313
+ });
314
+ }
315
+ setResults(r, 'process', '');
316
+ }
@@ -0,0 +1,195 @@
1
+ // node:punycode (deprecated upstream, still shipped): RFC 3492 encode / decode,
2
+ // toASCII / toUnicode for domains. Also backs url.domainToASCII and IDN hosts.
3
+ import { defineHelper, defineModule, setResults } from './registry.js';
4
+ const punycodeHelper = `// Punycode (RFC 3492)
5
+ const (
6
+ tnPunyBase = 36
7
+ tnPunyTMin = 1
8
+ tnPunyTMax = 26
9
+ tnPunySkew = 38
10
+ tnPunyDamp = 700
11
+ tnPunyInitialBias = 72
12
+ tnPunyInitialN = 128
13
+ )
14
+
15
+ func tnPunyAdapt(delta int, numPoints int, first bool) int {
16
+ if first {
17
+ delta /= tnPunyDamp
18
+ } else {
19
+ delta /= 2
20
+ }
21
+ delta += delta / numPoints
22
+ k := 0
23
+ for delta > ((tnPunyBase-tnPunyTMin)*tnPunyTMax)/2 {
24
+ delta /= tnPunyBase - tnPunyTMin
25
+ k += tnPunyBase
26
+ }
27
+ return k + (tnPunyBase-tnPunyTMin+1)*delta/(delta+tnPunySkew)
28
+ }
29
+
30
+ func tnPunyDigit(d int) byte {
31
+ if d < 26 {
32
+ return byte('a' + d)
33
+ }
34
+ return byte('0' + d - 26)
35
+ }
36
+
37
+ func TnPunycodeEncode(input string) string {
38
+ runes := []rune(input)
39
+ out := []byte{}
40
+ for _, r := range runes {
41
+ if r < 0x80 {
42
+ out = append(out, byte(r))
43
+ }
44
+ }
45
+ basic := len(out)
46
+ handled := basic
47
+ if basic > 0 {
48
+ out = append(out, '-')
49
+ }
50
+ n, delta, bias := tnPunyInitialN, 0, tnPunyInitialBias
51
+ for handled < len(runes) {
52
+ m := int(^uint(0) >> 1)
53
+ for _, r := range runes {
54
+ if int(r) >= n && int(r) < m {
55
+ m = int(r)
56
+ }
57
+ }
58
+ delta += (m - n) * (handled + 1)
59
+ n = m
60
+ for _, r := range runes {
61
+ if int(r) < n {
62
+ delta++
63
+ }
64
+ if int(r) == n {
65
+ q := delta
66
+ for k := tnPunyBase; ; k += tnPunyBase {
67
+ t := k - bias
68
+ if t < tnPunyTMin {
69
+ t = tnPunyTMin
70
+ } else if t > tnPunyTMax {
71
+ t = tnPunyTMax
72
+ }
73
+ if q < t {
74
+ break
75
+ }
76
+ out = append(out, tnPunyDigit(t+(q-t)%(tnPunyBase-t)))
77
+ q = (q - t) / (tnPunyBase - t)
78
+ }
79
+ out = append(out, tnPunyDigit(q))
80
+ bias = tnPunyAdapt(delta, handled+1, handled == basic)
81
+ delta = 0
82
+ handled++
83
+ }
84
+ }
85
+ delta++
86
+ n++
87
+ }
88
+ return string(out)
89
+ }
90
+
91
+ func TnPunycodeDecode(input string) string {
92
+ out := []rune{}
93
+ b := strings.LastIndex(input, "-")
94
+ if b > 0 {
95
+ for _, c := range input[:b] {
96
+ out = append(out, c)
97
+ }
98
+ b++
99
+ } else {
100
+ b = 0
101
+ }
102
+ n, i, bias := tnPunyInitialN, 0, tnPunyInitialBias
103
+ for pos := b; pos < len(input); {
104
+ oldi, w := i, 1
105
+ for k := tnPunyBase; ; k += tnPunyBase {
106
+ if pos >= len(input) {
107
+ panic(TnNodeError("RangeError", "", "Invalid input"))
108
+ }
109
+ c := input[pos]
110
+ pos++
111
+ digit := 0
112
+ switch {
113
+ case c >= '0' && c <= '9':
114
+ digit = int(c-'0') + 26
115
+ case c >= 'A' && c <= 'Z':
116
+ digit = int(c - 'A')
117
+ case c >= 'a' && c <= 'z':
118
+ digit = int(c - 'a')
119
+ default:
120
+ panic(TnNodeError("RangeError", "", "Invalid input"))
121
+ }
122
+ i += digit * w
123
+ t := k - bias
124
+ if t < tnPunyTMin {
125
+ t = tnPunyTMin
126
+ } else if t > tnPunyTMax {
127
+ t = tnPunyTMax
128
+ }
129
+ if digit < t {
130
+ break
131
+ }
132
+ w *= tnPunyBase - t
133
+ }
134
+ bias = tnPunyAdapt(i-oldi, len(out)+1, oldi == 0)
135
+ n += i / (len(out) + 1)
136
+ i %= len(out) + 1
137
+ out = append(out[:i], append([]rune{rune(n)}, out[i:]...)...)
138
+ i++
139
+ }
140
+ return string(out)
141
+ }
142
+
143
+ func tnIsASCII(s string) bool {
144
+ for i := 0; i < len(s); i++ {
145
+ if s[i] >= 0x80 {
146
+ return false
147
+ }
148
+ }
149
+ return true
150
+ }
151
+
152
+ func tnMapDomainLabels(domain string, fn func(string) string) string {
153
+ // Node also splits on the ideographic full stops
154
+ domain = strings.NewReplacer("\\u3002", ".", "\\uFF0E", ".", "\\uFF61", ".").Replace(domain)
155
+ labels := strings.Split(domain, ".")
156
+ for i, label := range labels {
157
+ labels[i] = fn(label)
158
+ }
159
+ return strings.Join(labels, ".")
160
+ }
161
+
162
+ func TnPunycodeToASCII(domain string) string {
163
+ return tnMapDomainLabels(domain, func(label string) string {
164
+ if tnIsASCII(label) {
165
+ return label
166
+ }
167
+ return "xn--" + TnPunycodeEncode(label)
168
+ })
169
+ }
170
+
171
+ func TnPunycodeToUnicode(domain string) string {
172
+ return tnMapDomainLabels(domain, func(label string) string {
173
+ if strings.HasPrefix(strings.ToLower(label), "xn--") {
174
+ return TnPunycodeDecode(strings.ToLower(label[4:]))
175
+ }
176
+ return label
177
+ })
178
+ }`;
179
+ export function registerPunycode(r) {
180
+ defineModule(r, 'punycode');
181
+ defineHelper(r, 'punycode', ['strings'], ['error'], punycodeHelper);
182
+ const fn = (name, goName) => {
183
+ r.functions[`punycode.${name}`] = (call) => {
184
+ r.helper('punycode');
185
+ return `${goName}(${call.args[0]})`;
186
+ };
187
+ };
188
+ fn('encode', 'TnPunycodeEncode');
189
+ fn('decode', 'TnPunycodeDecode');
190
+ fn('toASCII', 'TnPunycodeToASCII');
191
+ fn('toUnicode', 'TnPunycodeToUnicode');
192
+ setResults(r, 'punycode', 'encode=string; decode=string; toASCII=string; toUnicode=string');
193
+ r.values['punycode.version'] = (_c) => '"2.1.0"';
194
+ r.valueTypes['punycode.version'] = 'string';
195
+ }
@@ -0,0 +1,143 @@
1
+ // node:querystring — parse / stringify / escape / unescape (decode / encode aliases)
2
+ import { defineHelper, defineModule, setResults } from './registry.js';
3
+ const querystringHelper = `// node:querystring
4
+ func TnQueryUnescape(s string) string {
5
+ if decoded, err := tnurl.PathUnescape(s); err == nil {
6
+ return decoded
7
+ }
8
+ return tnFormDecode(strings.ReplaceAll(s, "+", "%2B"))
9
+ }
10
+
11
+ // parse(str, sep = "&", eq = "="): repeated keys collect into arrays
12
+ func TnQueryParse(s string, seps ...string) *TnMap[string, interface{}] {
13
+ sep, eq := "&", "="
14
+ if len(seps) > 0 && seps[0] != "" {
15
+ sep = seps[0]
16
+ }
17
+ if len(seps) > 1 && seps[1] != "" {
18
+ eq = seps[1]
19
+ }
20
+ out := TnNewMap[string, interface{}]()
21
+ if s == "" {
22
+ return out
23
+ }
24
+ for _, part := range strings.Split(s, sep) {
25
+ if part == "" {
26
+ continue
27
+ }
28
+ key, value := part, ""
29
+ if i := strings.Index(part, eq); i >= 0 {
30
+ key, value = part[:i], part[i+len(eq):]
31
+ }
32
+ key = TnQueryUnescape(strings.ReplaceAll(key, "+", " "))
33
+ value = TnQueryUnescape(strings.ReplaceAll(value, "+", " "))
34
+ if existing, ok := out.Lookup(key); ok {
35
+ switch e := existing.(type) {
36
+ case []string:
37
+ out.Set(key, append(e, value))
38
+ case string:
39
+ out.Set(key, []string{e, value})
40
+ }
41
+ continue
42
+ }
43
+ out.Set(key, value)
44
+ }
45
+ return out
46
+ }
47
+
48
+ func tnQueryValue(v interface{}) string {
49
+ switch x := v.(type) {
50
+ case string:
51
+ return x
52
+ case float64:
53
+ if math.IsInf(x, 0) || math.IsNaN(x) {
54
+ return ""
55
+ }
56
+ return TnNumStr(x)
57
+ case bool:
58
+ if x {
59
+ return "true"
60
+ }
61
+ return "false"
62
+ case *tnbig.Int:
63
+ return x.String()
64
+ }
65
+ return ""
66
+ }
67
+
68
+ // stringify(obj, sep = "&", eq = "="): arrays repeat the key
69
+ func TnQueryStringify(obj interface{}, seps ...string) string {
70
+ sep, eq := "&", "="
71
+ if len(seps) > 0 && seps[0] != "" {
72
+ sep = seps[0]
73
+ }
74
+ if len(seps) > 1 && seps[1] != "" {
75
+ eq = seps[1]
76
+ }
77
+ parts := []string{}
78
+ add := func(key string, value interface{}) {
79
+ k := TnEncodeURIComponent(key)
80
+ rv := reflect.ValueOf(value)
81
+ if value != nil && (rv.Kind() == reflect.Slice || (rv.Kind() == reflect.Pointer && !rv.IsNil() && rv.Elem().Kind() == reflect.Slice)) {
82
+ if rv.Kind() == reflect.Pointer {
83
+ rv = rv.Elem()
84
+ }
85
+ for i := 0; i < rv.Len(); i++ {
86
+ parts = append(parts, k+eq+TnEncodeURIComponent(tnQueryValue(rv.Index(i).Interface())))
87
+ }
88
+ return
89
+ }
90
+ parts = append(parts, k+eq+TnEncodeURIComponent(tnQueryValue(value)))
91
+ }
92
+ if withEntries, ok := obj.(interface{ Entries() [][]interface{} }); ok {
93
+ for _, e := range withEntries.Entries() {
94
+ add(fmt.Sprint(e[0]), e[1])
95
+ }
96
+ } else if m, ok := obj.(map[string]interface{}); ok {
97
+ keys := make([]string, 0, len(m))
98
+ for k := range m {
99
+ keys = append(keys, k)
100
+ }
101
+ sort.Strings(keys)
102
+ for _, k := range keys {
103
+ add(k, m[k])
104
+ }
105
+ } else {
106
+ rv := reflect.ValueOf(obj)
107
+ if rv.Kind() == reflect.Pointer && !rv.IsNil() && rv.Elem().Kind() == reflect.Struct {
108
+ sv := rv.Elem()
109
+ for i := 0; i < sv.NumField(); i++ {
110
+ f := sv.Field(i)
111
+ value := reflect.NewAt(f.Type(), unsafe.Pointer(f.UnsafeAddr())).Elem().Interface()
112
+ add(strings.TrimSuffix(sv.Type().Field(i).Name, "_"), value)
113
+ }
114
+ }
115
+ }
116
+ return strings.Join(parts, sep)
117
+ }`;
118
+ export function registerQuerystring(r) {
119
+ defineModule(r, 'querystring');
120
+ defineHelper(r, 'nodeQuerystring', ['fmt', 'math', 'math/big', 'net/url', 'reflect', 'sort', 'strings', 'unsafe'], ['nodeUrl', 'uri', 'orderedMap', 'dynamic'], querystringHelper);
121
+ const use = () => r.helper('nodeQuerystring');
122
+ for (const name of ['parse', 'decode']) {
123
+ r.functions[`querystring.${name}`] = (call) => {
124
+ use();
125
+ return `TnQueryParse(${call.args.slice(0, 3).join(', ')})`;
126
+ };
127
+ }
128
+ for (const name of ['stringify', 'encode']) {
129
+ r.functions[`querystring.${name}`] = (call) => {
130
+ use();
131
+ return `TnQueryStringify(${call.args.slice(0, 3).join(', ')})`;
132
+ };
133
+ }
134
+ r.functions['querystring.escape'] = (call) => {
135
+ r.helper('uri');
136
+ return `TnEncodeURIComponent(${call.args[0]})`;
137
+ };
138
+ r.functions['querystring.unescape'] = (call) => {
139
+ use();
140
+ return `TnQueryUnescape(${call.args[0]})`;
141
+ };
142
+ setResults(r, 'querystring', 'parse=*TnMap[string, interface{}]; decode=*TnMap[string, interface{}]; stringify=string; encode=string; escape=string; unescape=string');
143
+ }