goscript 0.0.36 → 0.0.38

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 (376) hide show
  1. package/compiler/analysis.go +129 -8
  2. package/compiler/compiler.go +4 -1
  3. package/compiler/composite-lit.go +2 -4
  4. package/compiler/expr-call.go +26 -0
  5. package/compiler/lit.go +83 -0
  6. package/compiler/protobuf.go +2 -2
  7. package/compiler/spec-value.go +3 -3
  8. package/compiler/spec.go +7 -4
  9. package/compiler/stmt-assign.go +1 -1
  10. package/compiler/stmt.go +26 -8
  11. package/dist/gs/builtin/slice.js +2 -1
  12. package/dist/gs/builtin/slice.js.map +1 -1
  13. package/dist/gs/github.com/pkg/errors/errors.d.ts +1 -1
  14. package/dist/gs/github.com/pkg/errors/errors.js +182 -23
  15. package/dist/gs/github.com/pkg/errors/errors.js.map +1 -1
  16. package/dist/gs/github.com/pkg/errors/go113.d.ts +1 -1
  17. package/dist/gs/github.com/pkg/errors/go113.js +1 -1
  18. package/dist/gs/github.com/pkg/errors/go113.js.map +1 -1
  19. package/dist/gs/github.com/pkg/errors/index.d.ts +3 -3
  20. package/dist/gs/github.com/pkg/errors/index.js +3 -3
  21. package/dist/gs/github.com/pkg/errors/index.js.map +1 -1
  22. package/dist/gs/github.com/pkg/errors/stack.d.ts +1 -1
  23. package/dist/gs/github.com/pkg/errors/stack.js +8 -5
  24. package/dist/gs/github.com/pkg/errors/stack.js.map +1 -1
  25. package/dist/gs/internal/abi/index.d.ts +20 -0
  26. package/dist/gs/internal/abi/index.js +20 -0
  27. package/dist/gs/internal/abi/index.js.map +1 -0
  28. package/dist/gs/internal/bytealg/index.d.ts +2 -0
  29. package/dist/gs/internal/bytealg/index.js +33 -0
  30. package/dist/gs/internal/bytealg/index.js.map +1 -0
  31. package/dist/gs/internal/byteorder/index.d.ts +8 -0
  32. package/dist/gs/internal/byteorder/index.js +34 -0
  33. package/dist/gs/internal/byteorder/index.js.map +1 -0
  34. package/dist/gs/internal/testlog/index.d.ts +1 -0
  35. package/dist/gs/internal/testlog/index.js +5 -0
  36. package/dist/gs/internal/testlog/index.js.map +1 -0
  37. package/dist/gs/math/index.d.ts +44 -44
  38. package/dist/gs/math/index.js +44 -44
  39. package/dist/gs/math/index.js.map +1 -1
  40. package/dist/gs/os/dir.gs.d.ts +6 -0
  41. package/dist/gs/os/dir.gs.js +35 -0
  42. package/dist/gs/os/dir.gs.js.map +1 -0
  43. package/dist/gs/os/dir_unix.gs.d.ts +7 -0
  44. package/dist/gs/os/dir_unix.gs.js +113 -0
  45. package/dist/gs/os/dir_unix.gs.js.map +1 -0
  46. package/dist/gs/os/dirent_js.gs.d.ts +5 -0
  47. package/dist/gs/os/dirent_js.gs.js +20 -0
  48. package/dist/gs/os/dirent_js.gs.js.map +1 -0
  49. package/dist/gs/os/env.gs.d.ts +12 -0
  50. package/dist/gs/os/env.gs.js +157 -0
  51. package/dist/gs/os/env.gs.js.map +1 -0
  52. package/dist/gs/os/error.gs.d.ts +40 -0
  53. package/dist/gs/os/error.gs.js +158 -0
  54. package/dist/gs/os/error.gs.js.map +1 -0
  55. package/dist/gs/os/error_errno.gs.d.ts +1 -0
  56. package/dist/gs/os/error_errno.gs.js +5 -0
  57. package/dist/gs/os/error_errno.gs.js.map +1 -0
  58. package/dist/gs/os/exec.gs.d.ts +60 -0
  59. package/dist/gs/os/exec.gs.js +136 -0
  60. package/dist/gs/os/exec.gs.js.map +1 -0
  61. package/dist/gs/os/exec_nohandle.gs.d.ts +1 -0
  62. package/dist/gs/os/exec_nohandle.gs.js +2 -0
  63. package/dist/gs/os/exec_nohandle.gs.js.map +1 -0
  64. package/dist/gs/os/exec_posix.gs.d.ts +25 -0
  65. package/dist/gs/os/exec_posix.gs.js +67 -0
  66. package/dist/gs/os/exec_posix.gs.js.map +1 -0
  67. package/dist/gs/os/exec_unix.gs.d.ts +4 -0
  68. package/dist/gs/os/exec_unix.gs.js +46 -0
  69. package/dist/gs/os/exec_unix.gs.js.map +1 -0
  70. package/dist/gs/os/executable.gs.d.ts +2 -0
  71. package/dist/gs/os/executable.gs.js +16 -0
  72. package/dist/gs/os/executable.gs.js.map +1 -0
  73. package/dist/gs/os/executable_js.gs.d.ts +2 -0
  74. package/dist/gs/os/executable_js.gs.js +5 -0
  75. package/dist/gs/os/executable_js.gs.js.map +1 -0
  76. package/dist/gs/os/executable_wasm.gs.d.ts +2 -0
  77. package/dist/gs/os/executable_wasm.gs.js +6 -0
  78. package/dist/gs/os/executable_wasm.gs.js.map +1 -0
  79. package/dist/gs/os/file_constants_js.gs.d.ts +41 -0
  80. package/dist/gs/os/file_constants_js.gs.js +78 -0
  81. package/dist/gs/os/file_constants_js.gs.js.map +1 -0
  82. package/dist/gs/os/file_js.gs.d.ts +22 -0
  83. package/dist/gs/os/file_js.gs.js +73 -0
  84. package/dist/gs/os/file_js.gs.js.map +1 -0
  85. package/dist/gs/os/file_open_unix.gs.d.ts +6 -0
  86. package/dist/gs/os/file_open_unix.gs.js +10 -0
  87. package/dist/gs/os/file_open_unix.gs.js.map +1 -0
  88. package/dist/gs/os/file_posix_js.gs.d.ts +8 -0
  89. package/dist/gs/os/file_posix_js.gs.js +32 -0
  90. package/dist/gs/os/file_posix_js.gs.js.map +1 -0
  91. package/dist/gs/os/file_unix_js.gs.d.ts +27 -0
  92. package/dist/gs/os/file_unix_js.gs.js +64 -0
  93. package/dist/gs/os/file_unix_js.gs.js.map +1 -0
  94. package/dist/gs/os/getwd_js.gs.d.ts +6 -0
  95. package/dist/gs/os/getwd_js.gs.js +21 -0
  96. package/dist/gs/os/getwd_js.gs.js.map +1 -0
  97. package/dist/gs/os/index.d.ts +19 -0
  98. package/dist/gs/os/index.js +20 -0
  99. package/dist/gs/os/index.js.map +1 -0
  100. package/dist/gs/os/path.gs.d.ts +4 -0
  101. package/dist/gs/os/path.gs.js +32 -0
  102. package/dist/gs/os/path.gs.js.map +1 -0
  103. package/dist/gs/os/path_unix.gs.d.ts +4 -0
  104. package/dist/gs/os/path_unix.gs.js +40 -0
  105. package/dist/gs/os/path_unix.gs.js.map +1 -0
  106. package/dist/gs/os/pidfd_js.gs.d.ts +6 -0
  107. package/dist/gs/os/pidfd_js.gs.js +14 -0
  108. package/dist/gs/os/pidfd_js.gs.js.map +1 -0
  109. package/dist/gs/os/pipe_wasm.gs.d.ts +2 -0
  110. package/dist/gs/os/pipe_wasm.gs.js +14 -0
  111. package/dist/gs/os/pipe_wasm.gs.js.map +1 -0
  112. package/dist/gs/os/proc.gs.d.ts +11 -0
  113. package/dist/gs/os/proc.gs.js +68 -0
  114. package/dist/gs/os/proc.gs.js.map +1 -0
  115. package/dist/gs/os/proc_js.gs.d.ts +3 -0
  116. package/dist/gs/os/proc_js.gs.js +12 -0
  117. package/dist/gs/os/proc_js.gs.js.map +1 -0
  118. package/dist/gs/os/rawconn_js.gs.d.ts +10 -0
  119. package/dist/gs/os/rawconn_js.gs.js +26 -0
  120. package/dist/gs/os/rawconn_js.gs.js.map +1 -0
  121. package/dist/gs/os/removeall_js.gs.d.ts +2 -0
  122. package/dist/gs/os/removeall_js.gs.js +7 -0
  123. package/dist/gs/os/removeall_js.gs.js.map +1 -0
  124. package/dist/gs/os/root_js.gs.d.ts +23 -0
  125. package/dist/gs/os/root_js.gs.js +80 -0
  126. package/dist/gs/os/root_js.gs.js.map +1 -0
  127. package/dist/gs/os/root_nonwindows.gs.d.ts +2 -0
  128. package/dist/gs/os/root_nonwindows.gs.js +4 -0
  129. package/dist/gs/os/root_nonwindows.gs.js.map +1 -0
  130. package/dist/gs/os/root_noopenat.gs.d.ts +11 -0
  131. package/dist/gs/os/root_noopenat.gs.js +31 -0
  132. package/dist/gs/os/root_noopenat.gs.js.map +1 -0
  133. package/dist/gs/os/stat.gs.d.ts +24 -0
  134. package/dist/gs/os/stat.gs.js +20 -0
  135. package/dist/gs/os/stat.gs.js.map +1 -0
  136. package/dist/gs/os/stat_js.gs.d.ts +6 -0
  137. package/dist/gs/os/stat_js.gs.js +23 -0
  138. package/dist/gs/os/stat_js.gs.js.map +1 -0
  139. package/dist/gs/os/stat_unix_js.gs.d.ts +8 -0
  140. package/dist/gs/os/stat_unix_js.gs.js +16 -0
  141. package/dist/gs/os/stat_unix_js.gs.js.map +1 -0
  142. package/dist/gs/os/sticky_bsd.gs.d.ts +1 -0
  143. package/dist/gs/os/sticky_bsd.gs.js +3 -0
  144. package/dist/gs/os/sticky_bsd.gs.js.map +1 -0
  145. package/dist/gs/os/sys.gs.d.ts +2 -0
  146. package/dist/gs/os/sys.gs.js +10 -0
  147. package/dist/gs/os/sys.gs.js.map +1 -0
  148. package/dist/gs/os/sys_bsd.gs.d.ts +2 -0
  149. package/dist/gs/os/sys_bsd.gs.js +15 -0
  150. package/dist/gs/os/sys_bsd.gs.js.map +1 -0
  151. package/dist/gs/os/sys_js.gs.d.ts +2 -0
  152. package/dist/gs/os/sys_js.gs.js +6 -0
  153. package/dist/gs/os/sys_js.gs.js.map +1 -0
  154. package/dist/gs/os/tempfile.gs.d.ts +5 -0
  155. package/dist/gs/os/tempfile.gs.js +30 -0
  156. package/dist/gs/os/tempfile.gs.js.map +1 -0
  157. package/dist/gs/os/types.gs.d.ts +59 -0
  158. package/dist/gs/os/types.gs.js +123 -0
  159. package/dist/gs/os/types.gs.js.map +1 -0
  160. package/dist/gs/os/types_js.gs.d.ts +74 -0
  161. package/dist/gs/os/types_js.gs.js +147 -0
  162. package/dist/gs/os/types_js.gs.js.map +1 -0
  163. package/dist/gs/os/types_unix.gs.d.ts +40 -0
  164. package/dist/gs/os/types_unix.gs.js +87 -0
  165. package/dist/gs/os/types_unix.gs.js.map +1 -0
  166. package/dist/gs/os/wait_unimp.gs.d.ts +1 -0
  167. package/dist/gs/os/wait_unimp.gs.js +2 -0
  168. package/dist/gs/os/wait_unimp.gs.js.map +1 -0
  169. package/dist/gs/os/zero_copy_posix.gs.d.ts +4 -0
  170. package/dist/gs/os/zero_copy_posix.gs.js +27 -0
  171. package/dist/gs/os/zero_copy_posix.gs.js.map +1 -0
  172. package/dist/gs/os/zero_copy_stub.gs.d.ts +1 -0
  173. package/dist/gs/os/zero_copy_stub.gs.js +2 -0
  174. package/dist/gs/os/zero_copy_stub.gs.js.map +1 -0
  175. package/dist/gs/reflect/abi.d.ts +59 -0
  176. package/dist/gs/reflect/abi.gs.d.ts +59 -0
  177. package/dist/gs/reflect/abi.gs.js +79 -0
  178. package/dist/gs/reflect/abi.gs.js.map +1 -0
  179. package/dist/gs/reflect/abi.js +79 -0
  180. package/dist/gs/reflect/abi.js.map +1 -0
  181. package/dist/gs/reflect/badlinkname.d.ts +52 -0
  182. package/dist/gs/reflect/badlinkname.gs.d.ts +52 -0
  183. package/dist/gs/reflect/badlinkname.gs.js +72 -0
  184. package/dist/gs/reflect/badlinkname.gs.js.map +1 -0
  185. package/dist/gs/reflect/badlinkname.js +72 -0
  186. package/dist/gs/reflect/badlinkname.js.map +1 -0
  187. package/dist/gs/reflect/deepequal.d.ts +1 -0
  188. package/dist/gs/reflect/deepequal.gs.d.ts +25 -0
  189. package/dist/gs/reflect/deepequal.gs.js +308 -0
  190. package/dist/gs/reflect/deepequal.gs.js.map +1 -0
  191. package/dist/gs/reflect/deepequal.js +139 -0
  192. package/dist/gs/reflect/deepequal.js.map +1 -0
  193. package/dist/gs/reflect/float32reg_generic.gs.d.ts +2 -0
  194. package/dist/gs/reflect/float32reg_generic.gs.js +10 -0
  195. package/dist/gs/reflect/float32reg_generic.gs.js.map +1 -0
  196. package/dist/gs/reflect/index.d.ts +8 -0
  197. package/dist/gs/reflect/index.gs.d.ts +1 -0
  198. package/dist/gs/reflect/index.gs.js +3 -0
  199. package/dist/gs/reflect/index.gs.js.map +1 -0
  200. package/dist/gs/reflect/index.js +10 -0
  201. package/dist/gs/reflect/index.js.map +1 -0
  202. package/dist/gs/reflect/iter.d.ts +4 -0
  203. package/dist/gs/reflect/iter.gs.d.ts +3 -0
  204. package/dist/gs/reflect/iter.gs.js +24 -0
  205. package/dist/gs/reflect/iter.gs.js.map +1 -0
  206. package/dist/gs/reflect/iter.js +24 -0
  207. package/dist/gs/reflect/iter.js.map +1 -0
  208. package/dist/gs/reflect/makefunc.gs.d.ts +34 -0
  209. package/dist/gs/reflect/makefunc.gs.js +288 -0
  210. package/dist/gs/reflect/makefunc.gs.js.map +1 -0
  211. package/dist/gs/reflect/map.d.ts +14 -0
  212. package/dist/gs/reflect/map.js +70 -0
  213. package/dist/gs/reflect/map.js.map +1 -0
  214. package/dist/gs/reflect/map_swiss.gs.d.ts +14 -0
  215. package/dist/gs/reflect/map_swiss.gs.js +70 -0
  216. package/dist/gs/reflect/map_swiss.gs.js.map +1 -0
  217. package/dist/gs/reflect/reflect.gs.d.ts +132 -0
  218. package/dist/gs/reflect/reflect.gs.js +437 -0
  219. package/dist/gs/reflect/reflect.gs.js.map +1 -0
  220. package/dist/gs/reflect/swapper.d.ts +2 -0
  221. package/dist/gs/reflect/swapper.gs.d.ts +1 -0
  222. package/dist/gs/reflect/swapper.gs.js +32 -0
  223. package/dist/gs/reflect/swapper.gs.js.map +1 -0
  224. package/dist/gs/reflect/swapper.js +46 -0
  225. package/dist/gs/reflect/swapper.js.map +1 -0
  226. package/dist/gs/reflect/type.d.ts +126 -0
  227. package/dist/gs/reflect/type.gs.d.ts +4 -0
  228. package/dist/gs/reflect/type.gs.js +21 -0
  229. package/dist/gs/reflect/type.gs.js.map +1 -0
  230. package/dist/gs/reflect/type.js +825 -0
  231. package/dist/gs/reflect/type.js.map +1 -0
  232. package/dist/gs/reflect/types.d.ts +90 -0
  233. package/dist/gs/reflect/types.js +119 -0
  234. package/dist/gs/reflect/types.js.map +1 -0
  235. package/dist/gs/reflect/value.d.ts +13 -0
  236. package/dist/gs/reflect/value.gs.d.ts +4 -0
  237. package/dist/gs/reflect/value.gs.js +12 -0
  238. package/dist/gs/reflect/value.gs.js.map +1 -0
  239. package/dist/gs/reflect/value.js +201 -0
  240. package/dist/gs/reflect/value.js.map +1 -0
  241. package/dist/gs/reflect/visiblefields.d.ts +4 -0
  242. package/dist/gs/reflect/visiblefields.gs.d.ts +3 -0
  243. package/dist/gs/reflect/visiblefields.gs.js +123 -0
  244. package/dist/gs/reflect/visiblefields.gs.js.map +1 -0
  245. package/dist/gs/reflect/visiblefields.js +143 -0
  246. package/dist/gs/reflect/visiblefields.js.map +1 -0
  247. package/dist/gs/strconv/index.d.ts +6 -6
  248. package/dist/gs/strconv/index.js +6 -6
  249. package/dist/gs/strconv/index.js.map +1 -1
  250. package/dist/gs/strings/index.d.ts +1 -1
  251. package/dist/gs/strings/index.js +1 -1
  252. package/dist/gs/strings/index.js.map +1 -1
  253. package/dist/gs/strings/replace.js.map +1 -1
  254. package/dist/gs/sync/atomic/index.d.ts +4 -4
  255. package/dist/gs/sync/atomic/index.js +4 -4
  256. package/dist/gs/sync/atomic/index.js.map +1 -1
  257. package/dist/gs/syscall/index.d.ts +80 -0
  258. package/dist/gs/syscall/index.js +169 -0
  259. package/dist/gs/syscall/index.js.map +1 -0
  260. package/dist/gs/unsafe/unsafe.js.map +1 -1
  261. package/gs/builtin/slice.ts +2 -1
  262. package/gs/github.com/pkg/errors/errors.ts +408 -238
  263. package/gs/github.com/pkg/errors/go113.ts +5 -6
  264. package/gs/github.com/pkg/errors/index.ts +12 -3
  265. package/gs/github.com/pkg/errors/stack.ts +107 -105
  266. package/gs/internal/abi/index.ts +37 -0
  267. package/gs/internal/bytealg/index.ts +34 -0
  268. package/gs/internal/byteorder/index.ts +40 -0
  269. package/gs/math/abs.gs.test.ts +1 -1
  270. package/gs/math/acosh.gs.test.ts +4 -2
  271. package/gs/math/asin.gs.test.ts +1 -1
  272. package/gs/math/asinh.gs.test.ts +7 -3
  273. package/gs/math/atan.gs.test.ts +1 -1
  274. package/gs/math/atan2.gs.test.ts +17 -9
  275. package/gs/math/atanh.gs.test.ts +1 -1
  276. package/gs/math/bits.gs.test.ts +1 -1
  277. package/gs/math/cbrt.gs.test.ts +1 -1
  278. package/gs/math/const.gs.test.ts +34 -8
  279. package/gs/math/copysign.gs.test.ts +7 -3
  280. package/gs/math/dim.gs.test.ts +19 -7
  281. package/gs/math/erf.gs.test.ts +1 -1
  282. package/gs/math/erfinv.gs.test.ts +4 -2
  283. package/gs/math/exp.gs.test.ts +1 -1
  284. package/gs/math/expm1.gs.test.ts +6 -4
  285. package/gs/math/floor.gs.test.ts +17 -4
  286. package/gs/math/fma.gs.test.ts +53 -53
  287. package/gs/math/frexp.gs.test.ts +112 -117
  288. package/gs/math/gamma.gs.test.ts +1 -1
  289. package/gs/math/hypot.gs.test.ts +53 -53
  290. package/gs/math/index.ts +80 -44
  291. package/gs/math/j0.gs.test.ts +6 -2
  292. package/gs/math/j1.gs.test.ts +6 -2
  293. package/gs/math/jn.gs.test.ts +9 -5
  294. package/gs/math/ldexp.gs.test.ts +103 -86
  295. package/gs/math/lgamma.gs.test.ts +10 -10
  296. package/gs/math/log.gs.test.ts +1 -1
  297. package/gs/math/log10.gs.test.ts +1 -1
  298. package/gs/math/log1p.gs.test.ts +2 -2
  299. package/gs/math/logb.gs.test.ts +1 -1
  300. package/gs/math/mod.gs.test.ts +2 -2
  301. package/gs/math/modf.gs.test.ts +7 -7
  302. package/gs/math/nextafter.gs.test.ts +9 -7
  303. package/gs/math/pow.gs.test.ts +6 -4
  304. package/gs/math/pow10.gs.test.ts +1 -1
  305. package/gs/math/remainder.gs.test.ts +1 -1
  306. package/gs/math/signbit.gs.test.ts +1 -1
  307. package/gs/math/sin.gs.test.ts +1 -1
  308. package/gs/math/sincos.gs.test.ts +33 -14
  309. package/gs/math/sinh.gs.test.ts +1 -1
  310. package/gs/math/sqrt.gs.test.ts +1 -1
  311. package/gs/math/tan.gs.test.ts +3 -3
  312. package/gs/math/tanh.gs.test.ts +1 -1
  313. package/gs/os/dir.gs.ts +42 -0
  314. package/gs/os/dir_unix.gs.ts +155 -0
  315. package/gs/os/dirent_js.gs.ts +27 -0
  316. package/gs/os/env.gs.ts +179 -0
  317. package/gs/os/error.gs.ts +205 -0
  318. package/gs/os/error_errno.gs.ts +12 -0
  319. package/gs/os/exec.gs.ts +198 -0
  320. package/gs/os/exec_nohandle.gs.ts +2 -0
  321. package/gs/os/exec_posix.gs.ts +95 -0
  322. package/gs/os/exec_unix.gs.ts +64 -0
  323. package/gs/os/executable.gs.ts +18 -0
  324. package/gs/os/executable_js.gs.ts +6 -0
  325. package/gs/os/executable_wasm.gs.ts +10 -0
  326. package/gs/os/file_constants_js.gs.ts +98 -0
  327. package/gs/os/file_js.gs.ts +99 -0
  328. package/gs/os/file_open_unix.gs.ts +15 -0
  329. package/gs/os/file_posix_js.gs.ts +40 -0
  330. package/gs/os/file_unix_js.gs.ts +94 -0
  331. package/gs/os/getwd_js.gs.ts +28 -0
  332. package/gs/os/index.ts +128 -0
  333. package/gs/os/path.gs.ts +35 -0
  334. package/gs/os/path_unix.gs.ts +49 -0
  335. package/gs/os/pidfd_js.gs.ts +25 -0
  336. package/gs/os/pipe_wasm.gs.ts +17 -0
  337. package/gs/os/proc.gs.ts +84 -0
  338. package/gs/os/proc_js.gs.ts +15 -0
  339. package/gs/os/rawconn_js.gs.ts +30 -0
  340. package/gs/os/removeall_js.gs.ts +9 -0
  341. package/gs/os/root_js.gs.ts +111 -0
  342. package/gs/os/root_nonwindows.gs.ts +6 -0
  343. package/gs/os/root_noopenat.gs.ts +45 -0
  344. package/gs/os/stat.gs.ts +38 -0
  345. package/gs/os/stat_js.gs.ts +30 -0
  346. package/gs/os/stat_unix_js.gs.ts +27 -0
  347. package/gs/os/sticky_bsd.gs.ts +4 -0
  348. package/gs/os/sys.gs.ts +12 -0
  349. package/gs/os/sys_bsd.gs.ts +17 -0
  350. package/gs/os/sys_js.gs.ts +9 -0
  351. package/gs/os/tempfile.gs.ts +34 -0
  352. package/gs/os/types.gs.ts +170 -0
  353. package/gs/os/types_js.gs.ts +205 -0
  354. package/gs/os/types_unix.gs.ts +118 -0
  355. package/gs/os/wait_unimp.gs.ts +2 -0
  356. package/gs/os/zero_copy_posix.gs.ts +35 -0
  357. package/gs/os/zero_copy_stub.gs.ts +4 -0
  358. package/gs/reflect/ANALYSIS.md +278 -0
  359. package/gs/reflect/deepequal.ts +154 -0
  360. package/gs/reflect/function-types.test.ts +146 -0
  361. package/gs/reflect/godoc.txt +67 -0
  362. package/gs/reflect/index.ts +83 -0
  363. package/gs/reflect/iter.ts +44 -0
  364. package/gs/reflect/map.ts +81 -0
  365. package/gs/reflect/swapper.ts +52 -0
  366. package/gs/reflect/type.ts +1012 -0
  367. package/gs/reflect/types.ts +214 -0
  368. package/gs/reflect/value.ts +264 -0
  369. package/gs/reflect/visiblefields.ts +173 -0
  370. package/gs/strconv/index.ts +39 -6
  371. package/gs/strings/index.ts +7 -1
  372. package/gs/strings/replace.ts +1 -9
  373. package/gs/sync/atomic/index.ts +53 -4
  374. package/gs/syscall/index.ts +212 -0
  375. package/gs/unsafe/unsafe.ts +1 -1
  376. package/package.json +2 -1
@@ -0,0 +1,157 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ import { NewSyscallError } from "./error.gs.js";
3
+ import * as syscall from "@goscript/syscall/index.js";
4
+ // Expand replaces ${var} or $var in the string based on the mapping function.
5
+ // For example, [os.ExpandEnv](s) is equivalent to [os.Expand](s, [os.Getenv]).
6
+ export function Expand(s, mapping) {
7
+ let buf = new Uint8Array(0);
8
+ // ${} is all ASCII, so bytes are fine for this operation.
9
+ let i = 0;
10
+ // Encountered invalid syntax; eat the
11
+ // characters.
12
+ // Valid syntax, but $ was not followed by a
13
+ // name. Leave the dollar character untouched.
14
+ for (let j = 0; j < $.len(s); j++) {
15
+ // Encountered invalid syntax; eat the
16
+ // characters.
17
+ // Valid syntax, but $ was not followed by a
18
+ // name. Leave the dollar character untouched.
19
+ if ($.indexString(s, j) == 36 && j + 1 < $.len(s)) {
20
+ if (buf == null) {
21
+ buf = $.makeSlice(0, 2 * $.len(s), 'byte');
22
+ }
23
+ buf = $.append(buf, ...$.stringToBytes($.sliceString(s, i, j)));
24
+ let [name, w] = getShellName($.sliceString(s, j + 1, undefined));
25
+ // Encountered invalid syntax; eat the
26
+ // characters.
27
+ // Valid syntax, but $ was not followed by a
28
+ // name. Leave the dollar character untouched.
29
+ if (name == "" && w > 0) {
30
+ }
31
+ else if (name == "") {
32
+ // Valid syntax, but $ was not followed by a
33
+ // name. Leave the dollar character untouched.
34
+ buf = $.append(buf, $.indexString(s, j));
35
+ }
36
+ else {
37
+ buf = $.append(buf, ...$.stringToBytes(mapping(name)));
38
+ }
39
+ j += w;
40
+ i = j + 1;
41
+ }
42
+ }
43
+ if (buf == null) {
44
+ return s;
45
+ }
46
+ return $.bytesToString(buf) + $.sliceString(s, i, undefined);
47
+ }
48
+ // ExpandEnv replaces ${var} or $var in the string according to the values
49
+ // of the current environment variables. References to undefined
50
+ // variables are replaced by the empty string.
51
+ export function ExpandEnv(s) {
52
+ return Expand(s, Getenv);
53
+ }
54
+ // isShellSpecialVar reports whether the character identifies a special
55
+ // shell variable such as $*.
56
+ export function isShellSpecialVar(c) {
57
+ switch (c) {
58
+ case 42:
59
+ case 35:
60
+ case 36:
61
+ case 64:
62
+ case 33:
63
+ case 63:
64
+ case 45:
65
+ case 48:
66
+ case 49:
67
+ case 50:
68
+ case 51:
69
+ case 52:
70
+ case 53:
71
+ case 54:
72
+ case 55:
73
+ case 56:
74
+ case 57:
75
+ return true;
76
+ break;
77
+ }
78
+ return false;
79
+ }
80
+ // isAlphaNum reports whether the byte is an ASCII letter, number, or underscore.
81
+ export function isAlphaNum(c) {
82
+ return c == 95 || 48 <= c && c <= 57 || 97 <= c && c <= 122 || 65 <= c && c <= 90;
83
+ }
84
+ // getShellName returns the name that begins the string and the number of bytes
85
+ // consumed to extract it. If the name is enclosed in {}, it's part of a ${}
86
+ // expansion and two more bytes are needed than the length of the name.
87
+ export function getShellName(s) {
88
+ // Scan to closing brace
89
+ // Bad syntax; eat "${}"
90
+ // Bad syntax; eat "${"
91
+ switch (true) {
92
+ case $.indexString(s, 0) == 123:
93
+ if ($.len(s) > 2 && isShellSpecialVar($.indexString(s, 1)) && $.indexString(s, 2) == 125) {
94
+ return [$.sliceString(s, 1, 2), 3];
95
+ }
96
+ for (let i = 1; i < $.len(s); i++) {
97
+ // Bad syntax; eat "${}"
98
+ if ($.indexString(s, i) == 125) {
99
+ // Bad syntax; eat "${}"
100
+ if (i == 1) {
101
+ return ["", 2];
102
+ }
103
+ return [$.sliceString(s, 1, i), i + 1];
104
+ }
105
+ }
106
+ return ["", 1];
107
+ break;
108
+ case isShellSpecialVar($.indexString(s, 0)):
109
+ return [$.sliceString(s, 0, 1), 1];
110
+ break;
111
+ }
112
+ // Scan alphanumerics.
113
+ let i = 0;
114
+ for (i = 0; i < $.len(s) && isAlphaNum($.indexString(s, i)); i++) {
115
+ }
116
+ return [$.sliceString(s, undefined, i), i];
117
+ }
118
+ // Getenv retrieves the value of the environment variable named by the key.
119
+ // It returns the value, which will be empty if the variable is not present.
120
+ // To distinguish between an empty value and an unset value, use [LookupEnv].
121
+ export function Getenv(key) {
122
+ // testlog.Getenv(key) // Testlog not available in JavaScript
123
+ let [v,] = syscall.Getenv(key);
124
+ return v;
125
+ }
126
+ // LookupEnv retrieves the value of the environment variable named
127
+ // by the key. If the variable is present in the environment the
128
+ // value (which may be empty) is returned and the boolean is true.
129
+ // Otherwise the returned value will be empty and the boolean will
130
+ // be false.
131
+ export function LookupEnv(key) {
132
+ // testlog.Getenv(key) // Testlog not available in JavaScript
133
+ return syscall.Getenv(key);
134
+ }
135
+ // Setenv sets the value of the environment variable named by the key.
136
+ // It returns an error, if any.
137
+ export function Setenv(key, value) {
138
+ let err = syscall.Setenv(key, value);
139
+ if (err != null) {
140
+ return NewSyscallError("setenv", err);
141
+ }
142
+ return null;
143
+ }
144
+ // Unsetenv unsets a single environment variable.
145
+ export function Unsetenv(key) {
146
+ return syscall.Unsetenv(key);
147
+ }
148
+ // Clearenv deletes all environment variables.
149
+ export function Clearenv() {
150
+ syscall.Clearenv();
151
+ }
152
+ // Environ returns a copy of strings representing the environment,
153
+ // in the form "key=value".
154
+ export function Environ() {
155
+ return syscall.Environ();
156
+ }
157
+ //# sourceMappingURL=env.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.gs.js","sourceRoot":"","sources":["../../../gs/os/env.gs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ import * as fs from "@goscript/io/fs/index.js";
3
+ export declare let ErrInvalid: $.GoError;
4
+ export declare let ErrPermission: $.GoError;
5
+ export declare let ErrExist: $.GoError;
6
+ export declare let ErrNotExist: $.GoError;
7
+ export declare let ErrClosed: $.GoError;
8
+ export declare let ErrNoDeadline: $.GoError;
9
+ export declare let ErrDeadlineExceeded: $.GoError;
10
+ export declare let ErrUnimplemented: $.GoError;
11
+ export declare function errNoDeadline(): $.GoError;
12
+ export declare function errDeadlineExceeded(): $.GoError;
13
+ export type PathError = fs.PathError;
14
+ export declare const PathError: any;
15
+ export declare class SyscallError {
16
+ get Syscall(): string;
17
+ set Syscall(value: string);
18
+ get Err(): $.GoError;
19
+ set Err(value: $.GoError);
20
+ _fields: {
21
+ Syscall: $.VarRef<string>;
22
+ Err: $.VarRef<$.GoError>;
23
+ };
24
+ constructor(init?: Partial<{
25
+ Err?: $.GoError;
26
+ Syscall?: string;
27
+ }>);
28
+ clone(): SyscallError;
29
+ Error(): string;
30
+ Unwrap(): $.GoError;
31
+ Timeout(): boolean;
32
+ static __typeInfo: $.StructTypeInfo;
33
+ }
34
+ export declare function NewSyscallError(syscall: string, err: $.GoError): $.GoError;
35
+ export declare function IsExist(err: $.GoError): boolean;
36
+ export declare function IsNotExist(err: $.GoError): boolean;
37
+ export declare function IsPermission(err: $.GoError): boolean;
38
+ export declare function IsTimeout(err: $.GoError): boolean;
39
+ export declare function underlyingErrorIs(err: $.GoError, target: $.GoError): boolean;
40
+ export declare function underlyingError(err: $.GoError): $.GoError;
@@ -0,0 +1,158 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ // import * as poll from "@goscript/internal/poll/index.js" // Not available in JavaScript
3
+ import * as fs from "@goscript/io/fs/index.js";
4
+ // ErrInvalid indicates an invalid argument.
5
+ // Methods on File will return this error when the receiver is nil.
6
+ // "invalid argument"
7
+ export let ErrInvalid = fs.ErrInvalid;
8
+ // "permission denied"
9
+ export let ErrPermission = fs.ErrPermission;
10
+ // "file already exists"
11
+ export let ErrExist = fs.ErrExist;
12
+ // "file does not exist"
13
+ export let ErrNotExist = fs.ErrNotExist;
14
+ // "file already closed"
15
+ export let ErrClosed = fs.ErrClosed;
16
+ // "file type does not support deadline"
17
+ export let ErrNoDeadline = errNoDeadline();
18
+ // "i/o timeout"
19
+ export let ErrDeadlineExceeded = errDeadlineExceeded();
20
+ // "operation not implemented in JavaScript environment"
21
+ export let ErrUnimplemented = {
22
+ Error: () => "operation not implemented in JavaScript environment"
23
+ };
24
+ export function errNoDeadline() {
25
+ return { Error: () => "file type does not support deadline" };
26
+ }
27
+ // errDeadlineExceeded returns the value for os.ErrDeadlineExceeded.
28
+ // This error comes from the internal/poll package, which is also
29
+ // used by package net. Doing it this way ensures that the net
30
+ // package will return os.ErrDeadlineExceeded for an exceeded deadline,
31
+ // as documented by net.Conn.SetDeadline, without requiring any extra
32
+ // work in the net package and without requiring the internal/poll
33
+ // package to import os (which it can't, because that would be circular).
34
+ export function errDeadlineExceeded() {
35
+ return { Error: () => "i/o timeout" };
36
+ }
37
+ $.registerInterfaceType('timeout', null, // Zero value for interface is null
38
+ [{ name: "Timeout", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "boolean" } }] }]);
39
+ export const PathError = null;
40
+ export class SyscallError {
41
+ get Syscall() {
42
+ return this._fields.Syscall.value;
43
+ }
44
+ set Syscall(value) {
45
+ this._fields.Syscall.value = value;
46
+ }
47
+ get Err() {
48
+ return this._fields.Err.value;
49
+ }
50
+ set Err(value) {
51
+ this._fields.Err.value = value;
52
+ }
53
+ _fields;
54
+ constructor(init) {
55
+ this._fields = {
56
+ Syscall: $.varRef(init?.Syscall ?? ""),
57
+ Err: $.varRef(init?.Err ?? null)
58
+ };
59
+ }
60
+ clone() {
61
+ const cloned = new SyscallError();
62
+ cloned._fields = {
63
+ Syscall: $.varRef(this._fields.Syscall.value),
64
+ Err: $.varRef(this._fields.Err.value)
65
+ };
66
+ return cloned;
67
+ }
68
+ Error() {
69
+ const e = this;
70
+ return e.Syscall + ": " + e.Err.Error();
71
+ }
72
+ Unwrap() {
73
+ const e = this;
74
+ return e.Err;
75
+ }
76
+ // Timeout reports whether this error represents a timeout.
77
+ Timeout() {
78
+ const e = this;
79
+ let { value: t, ok: ok } = $.typeAssert(e.Err, 'timeout');
80
+ return ok && t.Timeout();
81
+ }
82
+ // Register this type with the runtime type system
83
+ static __typeInfo = $.registerStructType('SyscallError', new SyscallError(), [{ name: "Error", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "string" } }] }, { name: "Unwrap", args: [], returns: [{ type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] }, { name: "Timeout", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "boolean" } }] }], SyscallError, { "Syscall": { kind: $.TypeKind.Basic, name: "string" }, "Err": { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } });
84
+ }
85
+ // NewSyscallError returns, as an error, a new [SyscallError]
86
+ // with the given system call name and error details.
87
+ // As a convenience, if err is nil, NewSyscallError returns nil.
88
+ export function NewSyscallError(syscall, err) {
89
+ if (err == null) {
90
+ return null;
91
+ }
92
+ return new SyscallError({});
93
+ }
94
+ // IsExist returns a boolean indicating whether its argument is known to report
95
+ // that a file or directory already exists. It is satisfied by [ErrExist] as
96
+ // well as some syscall errors.
97
+ //
98
+ // This function predates [errors.Is]. It only supports errors returned by
99
+ // the os package. New code should use errors.Is(err, fs.ErrExist).
100
+ export function IsExist(err) {
101
+ return underlyingErrorIs(err, ErrExist);
102
+ }
103
+ // IsNotExist returns a boolean indicating whether its argument is known to
104
+ // report that a file or directory does not exist. It is satisfied by
105
+ // [ErrNotExist] as well as some syscall errors.
106
+ //
107
+ // This function predates [errors.Is]. It only supports errors returned by
108
+ // the os package. New code should use errors.Is(err, fs.ErrNotExist).
109
+ export function IsNotExist(err) {
110
+ return underlyingErrorIs(err, ErrNotExist);
111
+ }
112
+ // IsPermission returns a boolean indicating whether its argument is known to
113
+ // report that permission is denied. It is satisfied by [ErrPermission] as well
114
+ // as some syscall errors.
115
+ //
116
+ // This function predates [errors.Is]. It only supports errors returned by
117
+ // the os package. New code should use errors.Is(err, fs.ErrPermission).
118
+ export function IsPermission(err) {
119
+ return underlyingErrorIs(err, ErrPermission);
120
+ }
121
+ // IsTimeout returns a boolean indicating whether its argument is known
122
+ // to report that a timeout occurred.
123
+ //
124
+ // This function predates [errors.Is], and the notion of whether an
125
+ // error indicates a timeout can be ambiguous. For example, the Unix
126
+ // error EWOULDBLOCK sometimes indicates a timeout and sometimes does not.
127
+ // New code should use errors.Is with a value appropriate to the call
128
+ // returning the error, such as [os.ErrDeadlineExceeded].
129
+ export function IsTimeout(err) {
130
+ let { value: terr, ok: ok } = $.typeAssert(underlyingError(err), 'timeout');
131
+ return ok && terr.Timeout();
132
+ }
133
+ export function underlyingErrorIs(err, target) {
134
+ // Note that this function is not errors.Is:
135
+ // underlyingError only unwraps the specific error-wrapping types
136
+ // that it historically did, not all errors implementing Unwrap().
137
+ err = underlyingError(err);
138
+ if (err == target) {
139
+ return true;
140
+ }
141
+ // To preserve prior behavior, only examine syscall errors.
142
+ let { value: e, ok: ok } = $.typeAssert(err, 'syscallErrorType');
143
+ return ok && e.Is(target);
144
+ }
145
+ // underlyingError returns the underlying error for known os error types.
146
+ export function underlyingError(err) {
147
+ $.typeSwitch(err, [{ types: [{ kind: $.TypeKind.Pointer, elemType: 'PathError' }], body: (err) => {
148
+ return err.Err;
149
+ } },
150
+ { types: [{ kind: $.TypeKind.Pointer, elemType: 'LinkError' }], body: (err) => {
151
+ return err.Err;
152
+ } },
153
+ { types: [{ kind: $.TypeKind.Pointer, elemType: 'SyscallError' }], body: (err) => {
154
+ return err.Err;
155
+ } }]);
156
+ return err;
157
+ }
158
+ //# sourceMappingURL=error.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.gs.js","sourceRoot":"","sources":["../../../gs/os/error.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAC;AAElD,0FAA0F;AAE1F,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAE9C,4CAA4C;AAC5C,mEAAmE;AACnE,qBAAqB;AACrB,MAAM,CAAC,IAAI,UAAU,GAAc,EAAE,CAAC,UAAU,CAAA;AAEhD,sBAAsB;AACtB,MAAM,CAAC,IAAI,aAAa,GAAc,EAAE,CAAC,aAAa,CAAA;AAEtD,wBAAwB;AACxB,MAAM,CAAC,IAAI,QAAQ,GAAc,EAAE,CAAC,QAAQ,CAAA;AAE5C,wBAAwB;AACxB,MAAM,CAAC,IAAI,WAAW,GAAc,EAAE,CAAC,WAAW,CAAA;AAElD,wBAAwB;AACxB,MAAM,CAAC,IAAI,SAAS,GAAc,EAAE,CAAC,SAAS,CAAA;AAE9C,wCAAwC;AACxC,MAAM,CAAC,IAAI,aAAa,GAAc,aAAa,EAAE,CAAA;AAErD,gBAAgB;AAChB,MAAM,CAAC,IAAI,mBAAmB,GAAc,mBAAmB,EAAE,CAAA;AAEjE,wDAAwD;AACxD,MAAM,CAAC,IAAI,gBAAgB,GAAc;IACxC,KAAK,EAAE,GAAG,EAAE,CAAC,qDAAqD;CAClE,CAAA;AAED,MAAM,UAAU,aAAa;IAC5B,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,qCAAqC,EAAC,CAAA;AAC5D,CAAC;AAED,oEAAoE;AACpE,iEAAiE;AACjE,8DAA8D;AAC9D,uEAAuE;AACvE,qEAAqE;AACrE,kEAAkE;AAClE,yEAAyE;AACzE,MAAM,UAAU,mBAAmB;IAClC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,aAAa,EAAC,CAAA;AACpC,CAAC;AAMD,CAAC,CAAC,qBAAqB,CACrB,SAAS,EACT,IAAI,EAAE,mCAAmC;AACzC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAClG,CAAC;AAGF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAW,CAAC;AAErC,MAAM,OAAO,YAAY;IACxB,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAA;IAClC,CAAC;IACD,IAAW,OAAO,CAAC,KAAa;QAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;IACnC,CAAC;IAED,IAAW,GAAG;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;IAC9B,CAAC;IACD,IAAW,GAAG,CAAC,KAAgB;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;IAC/B,CAAC;IAEM,OAAO,CAGb;IAED,YAAY,IAAmD;QAC9D,IAAI,CAAC,OAAO,GAAG;YACd,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;YACtC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC;SAChC,CAAA;IACF,CAAC;IAEM,KAAK;QACX,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAA;QACjC,MAAM,CAAC,OAAO,GAAG;YAChB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAC7C,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;SACrC,CAAA;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAEM,KAAK;QACX,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAI,CAAC,KAAK,EAAE,CAAA;IACzC,CAAC;IAEM,MAAM;QACZ,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,OAAO,CAAC,CAAC,GAAG,CAAA;IACb,CAAC;IAED,2DAA2D;IACpD,OAAO;QACb,MAAM,CAAC,GAAG,IAAI,CAAA;QACd,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAAU,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QAClE,OAAO,EAAE,IAAI,CAAE,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,kBAAkB,CACtC,cAAc,EACd,IAAI,YAAY,EAAE,EAClB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAC5Y,YAAY,EACZ,EAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAC,CACzN,CAAC;;AAGH,6DAA6D;AAC7D,qDAAqD;AACrD,gEAAgE;AAChE,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,GAAc;IAC9D,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC,CAAA;AAC5B,CAAC;AAED,+EAA+E;AAC/E,4EAA4E;AAC5E,+BAA+B;AAC/B,EAAE;AACF,0EAA0E;AAC1E,mEAAmE;AACnE,MAAM,UAAU,OAAO,CAAC,GAAc;IACrC,OAAO,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AACxC,CAAC;AAED,2EAA2E;AAC3E,qEAAqE;AACrE,gDAAgD;AAChD,EAAE;AACF,0EAA0E;AAC1E,sEAAsE;AACtE,MAAM,UAAU,UAAU,CAAC,GAAc;IACxC,OAAO,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;AAC3C,CAAC;AAED,6EAA6E;AAC7E,+EAA+E;AAC/E,0BAA0B;AAC1B,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,GAAc;IAC1C,OAAO,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;AAC7C,CAAC;AAED,uEAAuE;AACvE,qCAAqC;AACrC,EAAE;AACF,mEAAmE;AACnE,oEAAoE;AACpE,0EAA0E;AAC1E,qEAAqE;AACrE,yDAAyD;AACzD,MAAM,UAAU,SAAS,CAAC,GAAc;IACvC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAAU,eAAe,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAA;IACpF,OAAO,EAAE,IAAI,IAAK,CAAC,OAAO,EAAE,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAc,EAAE,MAAiB;IAClE,4CAA4C;IAC5C,iEAAiE;IACjE,kEAAkE;IAClE,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,2DAA2D;IAC3D,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAAM,GAAG,EAAE,kBAAkB,CAAC,CAAA;IACrE,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAAC,GAAc;IAC7C,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC9F,OAAO,GAAI,CAAC,GAAG,CAAA;YAChB,CAAC,EAAC;QACF,EAAE,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC3E,OAAO,GAAI,CAAC,GAAG,CAAA;YAChB,CAAC,EAAC;QACF,EAAE,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC9E,OAAO,GAAI,CAAC,GAAG,CAAA;YAChB,CAAC,EAAC,CAAC,CAAC,CAAA;IACJ,OAAO,GAAG,CAAA;AACX,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import * as syscall from "@goscript/syscall/index.js";
2
+ let errENOSYS = syscall.ENOSYS;
3
+ let errERANGE = syscall.ERANGE;
4
+ let errENOMEM = syscall.ENOMEM;
5
+ //# sourceMappingURL=error_errno.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error_errno.gs.js","sourceRoot":"","sources":["../../../gs/os/error_errno.gs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAA;AAIrD,IAAI,SAAS,GAAkB,OAAO,CAAC,MAAM,CAAA;AAE7C,IAAI,SAAS,GAAkB,OAAO,CAAC,MAAM,CAAA;AAE7C,IAAI,SAAS,GAAkB,OAAO,CAAC,MAAM,CAAA"}
@@ -0,0 +1,60 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ export declare let ErrProcessDone: $.GoError;
3
+ export declare class Process {
4
+ get Pid(): number;
5
+ set Pid(value: number);
6
+ _fields: {
7
+ Pid: $.VarRef<number>;
8
+ };
9
+ constructor(init?: Partial<{
10
+ Pid?: number;
11
+ }>);
12
+ clone(): Process;
13
+ Release(): $.GoError;
14
+ Kill(): $.GoError;
15
+ Wait(): [ProcessState | null, $.GoError];
16
+ Signal(sig: Signal): $.GoError;
17
+ static __typeInfo: $.StructTypeInfo;
18
+ }
19
+ export declare class ProcAttr {
20
+ get Dir(): string;
21
+ set Dir(value: string);
22
+ get Env(): $.Slice<string>;
23
+ set Env(value: $.Slice<string>);
24
+ get Files(): $.Slice<any>;
25
+ set Files(value: $.Slice<any>);
26
+ get Sys(): any;
27
+ set Sys(value: any);
28
+ _fields: {
29
+ Dir: $.VarRef<string>;
30
+ Env: $.VarRef<$.Slice<string>>;
31
+ Files: $.VarRef<$.Slice<any>>;
32
+ Sys: $.VarRef<any>;
33
+ };
34
+ constructor(init?: Partial<{
35
+ Dir?: string;
36
+ Env?: $.Slice<string>;
37
+ Files?: $.Slice<any>;
38
+ Sys?: any;
39
+ }>);
40
+ clone(): ProcAttr;
41
+ static __typeInfo: $.StructTypeInfo;
42
+ }
43
+ export declare class ProcessState {
44
+ _fields: {};
45
+ constructor();
46
+ clone(): ProcessState;
47
+ static __typeInfo: $.StructTypeInfo;
48
+ }
49
+ export type Signal = null | {
50
+ Signal(): void;
51
+ String(): string;
52
+ };
53
+ export declare const Signal: any;
54
+ export declare function Getpid(): number;
55
+ export declare function Getppid(): number;
56
+ export declare function FindProcess(pid: number): [Process | null, $.GoError];
57
+ export declare function StartProcess(name: string, argv: $.Slice<string>, attr: ProcAttr | null): [Process | null, $.GoError];
58
+ export declare function newDoneProcess(pid: number): Process;
59
+ export declare function newHandleProcess(pid: number, handle: number): Process;
60
+ export declare function newPIDProcess(pid: number): Process;
@@ -0,0 +1,136 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ import { ErrUnimplemented } from "./error.gs.js";
3
+ import * as errors from "@goscript/errors/index.js";
4
+ export let ErrProcessDone = errors.New("os: process already finished");
5
+ // Simplified Process class for JavaScript environment
6
+ export class Process {
7
+ get Pid() {
8
+ return this._fields.Pid.value;
9
+ }
10
+ set Pid(value) {
11
+ this._fields.Pid.value = value;
12
+ }
13
+ _fields;
14
+ constructor(init) {
15
+ this._fields = {
16
+ Pid: $.varRef(init?.Pid ?? -1)
17
+ };
18
+ }
19
+ clone() {
20
+ const cloned = new Process();
21
+ cloned._fields = {
22
+ Pid: $.varRef(this._fields.Pid.value)
23
+ };
24
+ return cloned;
25
+ }
26
+ // All process operations return ErrUnimplemented in JavaScript
27
+ Release() {
28
+ return ErrUnimplemented;
29
+ }
30
+ Kill() {
31
+ return ErrUnimplemented;
32
+ }
33
+ Wait() {
34
+ return [null, ErrUnimplemented];
35
+ }
36
+ Signal(sig) {
37
+ return ErrUnimplemented;
38
+ }
39
+ // Register this type with the runtime type system
40
+ static __typeInfo = $.registerStructType('Process', new Process(), [
41
+ { name: "Release", args: [], returns: [{ type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] },
42
+ { name: "Kill", args: [], returns: [{ type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] },
43
+ { name: "Wait", args: [], returns: [{ type: { kind: $.TypeKind.Pointer, elemType: "ProcessState" } }, { type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] },
44
+ { name: "Signal", args: [{ name: "sig", type: "Signal" }], returns: [{ type: { kind: $.TypeKind.Interface, name: 'GoError', methods: [{ name: 'Error', args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: 'string' } }] }] } }] }
45
+ ], Process, { "Pid": { kind: $.TypeKind.Basic, name: "number" } });
46
+ }
47
+ // Simplified ProcAttr class for JavaScript environment
48
+ export class ProcAttr {
49
+ get Dir() {
50
+ return this._fields.Dir.value;
51
+ }
52
+ set Dir(value) {
53
+ this._fields.Dir.value = value;
54
+ }
55
+ get Env() {
56
+ return this._fields.Env.value;
57
+ }
58
+ set Env(value) {
59
+ this._fields.Env.value = value;
60
+ }
61
+ get Files() {
62
+ return this._fields.Files.value;
63
+ }
64
+ set Files(value) {
65
+ this._fields.Files.value = value;
66
+ }
67
+ get Sys() {
68
+ return this._fields.Sys.value;
69
+ }
70
+ set Sys(value) {
71
+ this._fields.Sys.value = value;
72
+ }
73
+ _fields;
74
+ constructor(init) {
75
+ this._fields = {
76
+ Dir: $.varRef(init?.Dir ?? ""),
77
+ Env: $.varRef(init?.Env ?? null),
78
+ Files: $.varRef(init?.Files ?? null),
79
+ Sys: $.varRef(init?.Sys ?? null)
80
+ };
81
+ }
82
+ clone() {
83
+ const cloned = new ProcAttr();
84
+ cloned._fields = {
85
+ Dir: $.varRef(this._fields.Dir.value),
86
+ Env: $.varRef(this._fields.Env.value),
87
+ Files: $.varRef(this._fields.Files.value),
88
+ Sys: $.varRef(this._fields.Sys.value)
89
+ };
90
+ return cloned;
91
+ }
92
+ // Register this type with the runtime type system
93
+ static __typeInfo = $.registerStructType('ProcAttr', new ProcAttr(), [], ProcAttr, {
94
+ "Dir": { kind: $.TypeKind.Basic, name: "string" },
95
+ "Env": { kind: $.TypeKind.Slice, elemType: { kind: $.TypeKind.Basic, name: "string" } },
96
+ "Files": { kind: $.TypeKind.Slice, elemType: { kind: $.TypeKind.Basic, name: "any" } },
97
+ "Sys": { kind: $.TypeKind.Basic, name: "any" }
98
+ });
99
+ }
100
+ // Stub ProcessState for JavaScript environment
101
+ export class ProcessState {
102
+ _fields;
103
+ constructor() {
104
+ this._fields = {};
105
+ }
106
+ clone() {
107
+ return new ProcessState();
108
+ }
109
+ // Register this type with the runtime type system
110
+ static __typeInfo = $.registerStructType('ProcessState', new ProcessState(), [], ProcessState, {});
111
+ }
112
+ export const Signal = null;
113
+ // Stub functions that return ErrUnimplemented
114
+ export function Getpid() {
115
+ return -1; // Not available in JavaScript
116
+ }
117
+ export function Getppid() {
118
+ return -1; // Not available in JavaScript
119
+ }
120
+ export function FindProcess(pid) {
121
+ return [null, ErrUnimplemented];
122
+ }
123
+ export function StartProcess(name, argv, attr) {
124
+ return [null, ErrUnimplemented];
125
+ }
126
+ // Internal functions used by exec_unix.gs.ts
127
+ export function newDoneProcess(pid) {
128
+ return new Process({ Pid: pid });
129
+ }
130
+ export function newHandleProcess(pid, handle) {
131
+ return new Process({ Pid: pid });
132
+ }
133
+ export function newPIDProcess(pid) {
134
+ return new Process({ Pid: pid });
135
+ }
136
+ //# sourceMappingURL=exec.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.gs.js","sourceRoot":"","sources":["../../../gs/os/exec.gs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=exec_nohandle.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec_nohandle.gs.js","sourceRoot":"","sources":["../../../gs/os/exec_nohandle.gs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ import { Signal } from "./exec.gs.js";
3
+ export declare let Interrupt: Signal;
4
+ export declare let Kill: Signal;
5
+ export declare class ProcessState {
6
+ get pid(): number;
7
+ set pid(value: number);
8
+ _fields: {
9
+ pid: $.VarRef<number>;
10
+ };
11
+ constructor(init?: Partial<{
12
+ pid?: number;
13
+ }>);
14
+ clone(): ProcessState;
15
+ UserTime(): any;
16
+ SystemTime(): any;
17
+ Exited(): boolean;
18
+ Success(): boolean;
19
+ Sys(): null | any;
20
+ SysUsage(): null | any;
21
+ Pid(): number;
22
+ String(): string;
23
+ ExitCode(): number;
24
+ static __typeInfo: $.StructTypeInfo;
25
+ }