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,67 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ // Signal constants for JavaScript environment
3
+ export let Interrupt = null; // syscall.SIGINT not available in JavaScript
4
+ export let Kill = null; // syscall.SIGKILL not available in JavaScript
5
+ // Simplified ProcessState for JavaScript environment
6
+ export class ProcessState {
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 ProcessState();
21
+ cloned._fields = {
22
+ pid: $.varRef(this._fields.pid.value)
23
+ };
24
+ return cloned;
25
+ }
26
+ // All methods return stub values for JavaScript environment
27
+ UserTime() {
28
+ return 0; // Duration not available
29
+ }
30
+ SystemTime() {
31
+ return 0; // Duration not available
32
+ }
33
+ Exited() {
34
+ return false;
35
+ }
36
+ Success() {
37
+ return false;
38
+ }
39
+ Sys() {
40
+ return null;
41
+ }
42
+ SysUsage() {
43
+ return null;
44
+ }
45
+ Pid() {
46
+ return this.pid;
47
+ }
48
+ String() {
49
+ return `exit status ${this.pid}`;
50
+ }
51
+ ExitCode() {
52
+ return -1;
53
+ }
54
+ // Register this type with the runtime type system
55
+ static __typeInfo = $.registerStructType('ProcessState', new ProcessState(), [
56
+ { name: "UserTime", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "any" } }] },
57
+ { name: "SystemTime", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "any" } }] },
58
+ { name: "Exited", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "boolean" } }] },
59
+ { name: "Success", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "boolean" } }] },
60
+ { name: "Sys", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "any" } }] },
61
+ { name: "SysUsage", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "any" } }] },
62
+ { name: "Pid", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "number" } }] },
63
+ { name: "String", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "string" } }] },
64
+ { name: "ExitCode", args: [], returns: [{ type: { kind: $.TypeKind.Basic, name: "number" } }] }
65
+ ], ProcessState, { "pid": { kind: $.TypeKind.Basic, name: "number" } });
66
+ }
67
+ //# sourceMappingURL=exec_posix.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec_posix.gs.js","sourceRoot":"","sources":["../../../gs/os/exec_posix.gs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ import { Process } from "./exec.gs.js";
3
+ export declare function convertESRCH(err: $.GoError): $.GoError;
4
+ export declare function findProcess(pid: number): [Process | null, $.GoError];
@@ -0,0 +1,46 @@
1
+ import { ErrUnimplemented } from "./error.gs.js";
2
+ import { newDoneProcess, newHandleProcess, newPIDProcess, ErrProcessDone } from "./exec.gs.js";
3
+ import * as syscall from "@goscript/syscall/index.js";
4
+ // Stub functions for JavaScript environment
5
+ function ignoringEINTR2(fn, arg1, arg2) {
6
+ return [null, ErrUnimplemented];
7
+ }
8
+ function pidfdFind(pid) {
9
+ return [0, ErrUnimplemented];
10
+ }
11
+ // Special values for Process.Pid.
12
+ let pidUnset = 0;
13
+ let pidReleased = -1;
14
+ export function convertESRCH(err) {
15
+ if (err == syscall.ESRCH) {
16
+ return ErrProcessDone;
17
+ }
18
+ return err;
19
+ }
20
+ export function findProcess(pid) {
21
+ let p = null;
22
+ let err = null;
23
+ {
24
+ let h;
25
+ [h, err] = pidfdFind(pid);
26
+ // We can't return an error here since users are not expecting
27
+ // it. Instead, return a process with a "done" state already
28
+ // and let a subsequent Signal or Wait call catch that.
29
+ // Ignore other errors from pidfdFind, as the callers
30
+ // do not expect them. Fall back to using the PID.
31
+ if (err == ErrProcessDone) {
32
+ // We can't return an error here since users are not expecting
33
+ // it. Instead, return a process with a "done" state already
34
+ // and let a subsequent Signal or Wait call catch that.
35
+ return [newDoneProcess(pid), null];
36
+ }
37
+ else if (err != null) {
38
+ // Ignore other errors from pidfdFind, as the callers
39
+ // do not expect them. Fall back to using the PID.
40
+ return [newPIDProcess(pid), null];
41
+ }
42
+ // Use the handle.
43
+ return [newHandleProcess(pid, h), null];
44
+ }
45
+ }
46
+ //# sourceMappingURL=exec_unix.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec_unix.gs.js","sourceRoot":"","sources":["../../../gs/os/exec_unix.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAW,cAAc,EAAE,MAAM,cAAc,CAAC;AAMxG,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAA;AAOrD,4CAA4C;AAC5C,SAAS,cAAc,CAAC,EAAO,EAAE,IAAS,EAAE,IAAS;IACpD,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC7B,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;AAC7B,CAAC;AAED,kCAAkC;AAClC,IAAI,QAAQ,GAAW,CAAC,CAAA;AAExB,IAAI,WAAW,GAAW,CAAC,CAAC,CAAA;AAE5B,MAAM,UAAU,YAAY,CAAC,GAAc;IAC1C,IAAI,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAA;IACtB,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACtC,IAAI,CAAC,GAAmB,IAAI,CAAA;IAC5B,IAAI,GAAG,GAAc,IAAI,CAAA;IACzB,CAAC;QACA,IAAI,CAAU,CAAA;QACd,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;QAEzB,8DAA8D;QAC9D,4DAA4D;QAC5D,uDAAuD;QAEvD,qDAAqD;QACrD,kDAAkD;QAClD,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;YAC3B,8DAA8D;YAC9D,4DAA4D;YAC5D,uDAAuD;YACvD,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;QACnC,CAAC;aAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,qDAAqD;YACrD,kDAAkD;YAClD,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC;QACD,kBAAkB;QAClB,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;AACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ export declare function Executable(): [string, $.GoError];
@@ -0,0 +1,16 @@
1
+ import { executable } from "./executable_js.gs.js";
2
+ // Executable returns the path name for the executable that started
3
+ // the current process. There is no guarantee that the path is still
4
+ // pointing to the correct executable. If a symlink was used to start
5
+ // the process, depending on the operating system, the result might
6
+ // be the symlink or the path it pointed to. If a stable result is
7
+ // needed, [path/filepath.EvalSymlinks] might help.
8
+ //
9
+ // Executable returns an absolute path unless an error occurred.
10
+ //
11
+ // The main use case is finding resources located relative to an
12
+ // executable.
13
+ export function Executable() {
14
+ return executable();
15
+ }
16
+ //# sourceMappingURL=executable.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executable.gs.js","sourceRoot":"","sources":["../../../gs/os/executable.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,mEAAmE;AACnE,oEAAoE;AACpE,qEAAqE;AACrE,mEAAmE;AACnE,kEAAkE;AAClE,mDAAmD;AACnD,EAAE;AACF,gEAAgE;AAChE,EAAE;AACF,gEAAgE;AAChE,cAAc;AACd,MAAM,UAAU,UAAU;IACzB,OAAO,UAAU,EAAE,CAAA;AACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ export declare function executable(): [string, $.GoError];
@@ -0,0 +1,5 @@
1
+ import { ErrUnimplemented } from "./error.gs.js";
2
+ export function executable() {
3
+ return ["", ErrUnimplemented];
4
+ }
5
+ //# sourceMappingURL=executable_js.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executable_js.gs.js","sourceRoot":"","sources":["../../../gs/os/executable_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,UAAU,UAAU;IACzB,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ export declare function executable(): [string, $.GoError];
@@ -0,0 +1,6 @@
1
+ import * as errors from "@goscript/errors/index.js";
2
+ import * as runtime from "@goscript/runtime/index.js";
3
+ export function executable() {
4
+ return ["", errors.New("Executable not implemented for " + runtime.GOOS)];
5
+ }
6
+ //# sourceMappingURL=executable_wasm.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executable_wasm.gs.js","sourceRoot":"","sources":["../../../gs/os/executable_wasm.gs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAA;AAEnD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAA;AAErD,MAAM,UAAU,UAAU;IACzB,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;AAC1E,CAAC"}
@@ -0,0 +1,41 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ export declare const O_RDONLY = 0;
3
+ export declare const O_WRONLY = 1;
4
+ export declare const O_RDWR = 2;
5
+ export declare const O_APPEND = 1024;
6
+ export declare const O_CREATE = 64;
7
+ export declare const O_EXCL = 128;
8
+ export declare const O_SYNC = 1052672;
9
+ export declare const O_TRUNC = 512;
10
+ export declare const SEEK_SET = 0;
11
+ export declare const SEEK_CUR = 1;
12
+ export declare const SEEK_END = 2;
13
+ export declare class LinkError {
14
+ get Op(): string;
15
+ set Op(value: string);
16
+ get Old(): string;
17
+ set Old(value: string);
18
+ get New(): string;
19
+ set New(value: string);
20
+ get Err(): $.GoError;
21
+ set Err(value: $.GoError);
22
+ _fields: {
23
+ Op: $.VarRef<string>;
24
+ Old: $.VarRef<string>;
25
+ New: $.VarRef<string>;
26
+ Err: $.VarRef<$.GoError>;
27
+ };
28
+ constructor(init?: Partial<{
29
+ Op?: string;
30
+ Old?: string;
31
+ New?: string;
32
+ Err?: $.GoError;
33
+ }>);
34
+ Error(): string;
35
+ Unwrap(): $.GoError;
36
+ }
37
+ export declare function Readlink(name: string): [string, $.GoError];
38
+ export declare function TempDir(): string;
39
+ export declare function UserCacheDir(): [string, $.GoError];
40
+ export declare function UserConfigDir(): [string, $.GoError];
41
+ export declare function UserHomeDir(): [string, $.GoError];
@@ -0,0 +1,78 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ import { ErrUnimplemented } from "./error.gs.js";
3
+ // JavaScript-specific stubs for file constants and operations
4
+ // These provide the required constants and stub implementations
5
+ // File open flags - using values compatible with typical Unix systems
6
+ export const O_RDONLY = 0;
7
+ export const O_WRONLY = 1;
8
+ export const O_RDWR = 2;
9
+ export const O_APPEND = 1024;
10
+ export const O_CREATE = 64;
11
+ export const O_EXCL = 128;
12
+ export const O_SYNC = 1052672;
13
+ export const O_TRUNC = 512;
14
+ // Seek constants
15
+ export const SEEK_SET = 0;
16
+ export const SEEK_CUR = 1;
17
+ export const SEEK_END = 2;
18
+ // LinkError stub for compatibility
19
+ export class LinkError {
20
+ get Op() {
21
+ return this._fields.Op.value;
22
+ }
23
+ set Op(value) {
24
+ this._fields.Op.value = value;
25
+ }
26
+ get Old() {
27
+ return this._fields.Old.value;
28
+ }
29
+ set Old(value) {
30
+ this._fields.Old.value = value;
31
+ }
32
+ get New() {
33
+ return this._fields.New.value;
34
+ }
35
+ set New(value) {
36
+ this._fields.New.value = value;
37
+ }
38
+ get Err() {
39
+ return this._fields.Err.value;
40
+ }
41
+ set Err(value) {
42
+ this._fields.Err.value = value;
43
+ }
44
+ _fields;
45
+ constructor(init) {
46
+ this._fields = {
47
+ Op: $.varRef(init?.Op ?? ""),
48
+ Old: $.varRef(init?.Old ?? ""),
49
+ New: $.varRef(init?.New ?? ""),
50
+ Err: $.varRef(init?.Err ?? null)
51
+ };
52
+ }
53
+ Error() {
54
+ const e = this;
55
+ return e.Op + " " + e.Old + " " + e.New + ": " + (e.Err?.Error() ?? "");
56
+ }
57
+ Unwrap() {
58
+ const e = this;
59
+ return e.Err;
60
+ }
61
+ }
62
+ // Directory and file operation stubs
63
+ export function Readlink(name) {
64
+ return ["", ErrUnimplemented];
65
+ }
66
+ export function TempDir() {
67
+ return "/tmp";
68
+ }
69
+ export function UserCacheDir() {
70
+ return ["", ErrUnimplemented];
71
+ }
72
+ export function UserConfigDir() {
73
+ return ["", ErrUnimplemented];
74
+ }
75
+ export function UserHomeDir() {
76
+ return ["", ErrUnimplemented];
77
+ }
78
+ //# sourceMappingURL=file_constants_js.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file_constants_js.gs.js","sourceRoot":"","sources":["../../../gs/os/file_constants_js.gs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ import { File } from "./types_js.gs.js";
3
+ import * as fs from "@goscript/io/fs/index.js";
4
+ export declare function Open(name: string): [File | null, $.GoError];
5
+ export declare function Create(name: string): [File | null, $.GoError];
6
+ export declare function OpenFile(name: string, flag: number, perm: number): [File | null, $.GoError];
7
+ export declare function ReadFile(name: string): [$.Bytes, $.GoError];
8
+ export declare function WriteFile(name: string, data: $.Bytes, perm: number): $.GoError;
9
+ export declare function Mkdir(name: string, perm: number): $.GoError;
10
+ export declare function MkdirAll(path: string, perm: number): $.GoError;
11
+ export declare function Remove(name: string): $.GoError;
12
+ export declare function RemoveAll(path: string): $.GoError;
13
+ export declare function Chdir(dir: string): $.GoError;
14
+ export declare function Chmod(name: string, mode: number): $.GoError;
15
+ export declare function Rename(oldpath: string, newpath: string): $.GoError;
16
+ export declare function Stat(name: string): [fs.FileInfo, $.GoError];
17
+ export declare function Lstat(name: string): [fs.FileInfo, $.GoError];
18
+ export declare function Link(oldname: string, newname: string): $.GoError;
19
+ export declare function Symlink(oldname: string, newname: string): $.GoError;
20
+ export declare function Readlink(name: string): [string, $.GoError];
21
+ export declare function Truncate(name: string, size: number): $.GoError;
22
+ export declare function DirFS(dir: string): fs.FS;
@@ -0,0 +1,73 @@
1
+ import { ErrUnimplemented } from "./error.gs.js";
2
+ // JavaScript-specific implementations for filesystem operations
3
+ // These functions stub filesystem operations that cannot be implemented
4
+ // in a JavaScript environment
5
+ // File operations - stub implementations
6
+ export function Open(name) {
7
+ return [null, ErrUnimplemented];
8
+ }
9
+ export function Create(name) {
10
+ return [null, ErrUnimplemented];
11
+ }
12
+ export function OpenFile(name, flag, perm) {
13
+ return [null, ErrUnimplemented];
14
+ }
15
+ export function ReadFile(name) {
16
+ return [null, ErrUnimplemented];
17
+ }
18
+ export function WriteFile(name, data, perm) {
19
+ return ErrUnimplemented;
20
+ }
21
+ // Directory operations - stub implementations
22
+ export function Mkdir(name, perm) {
23
+ return ErrUnimplemented;
24
+ }
25
+ export function MkdirAll(path, perm) {
26
+ return ErrUnimplemented;
27
+ }
28
+ export function Remove(name) {
29
+ return ErrUnimplemented;
30
+ }
31
+ export function RemoveAll(path) {
32
+ return ErrUnimplemented;
33
+ }
34
+ export function Chdir(dir) {
35
+ return ErrUnimplemented;
36
+ }
37
+ export function Chmod(name, mode) {
38
+ return ErrUnimplemented;
39
+ }
40
+ export function Rename(oldpath, newpath) {
41
+ return ErrUnimplemented;
42
+ }
43
+ // File information operations - stub implementations
44
+ export function Stat(name) {
45
+ return [null, ErrUnimplemented];
46
+ }
47
+ export function Lstat(name) {
48
+ return [null, ErrUnimplemented];
49
+ }
50
+ // Link operations - stub implementations
51
+ export function Link(oldname, newname) {
52
+ return ErrUnimplemented;
53
+ }
54
+ export function Symlink(oldname, newname) {
55
+ return ErrUnimplemented;
56
+ }
57
+ export function Readlink(name) {
58
+ return ["", ErrUnimplemented];
59
+ }
60
+ export function Truncate(name, size) {
61
+ return ErrUnimplemented;
62
+ }
63
+ // File system information - stub implementations
64
+ export function DirFS(dir) {
65
+ // Return a stub filesystem that always returns ErrUnimplemented
66
+ return new stubFS();
67
+ }
68
+ class stubFS {
69
+ Open(name) {
70
+ return [null, ErrUnimplemented];
71
+ }
72
+ }
73
+ //# sourceMappingURL=file_js.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file_js.gs.js","sourceRoot":"","sources":["../../../gs/os/file_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKjD,gEAAgE;AAChE,yEAAyE;AACzE,8BAA8B;AAE9B,yCAAyC;AACzC,MAAM,UAAU,IAAI,CAAC,IAAY;IAC/B,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY;IAC/D,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,IAAa,EAAE,IAAY;IACjE,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,IAAY;IAC9C,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAY;IACjD,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,IAAY;IAC9C,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAe,EAAE,OAAe;IACrD,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,IAAI,CAAC,IAAY;IAC/B,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AACjC,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,IAAI,CAAC,OAAe,EAAE,OAAe;IACnD,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,OAAe;IACtD,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAY;IACjD,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,gEAAgE;IAChE,OAAO,IAAI,MAAM,EAAE,CAAA;AACrB,CAAC;AAED,MAAM,MAAM;IACH,IAAI,CAAC,IAAY;QACtB,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;IACjC,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ declare class SysFile {
3
+ constructor(init?: any);
4
+ }
5
+ export declare function open(path: string, flag: number, perm: number): [number, SysFile, $.GoError];
6
+ export {};
@@ -0,0 +1,10 @@
1
+ import * as syscall from "@goscript/syscall/index.js";
2
+ // Stub SysFile for JavaScript environment
3
+ class SysFile {
4
+ constructor(init) { }
5
+ }
6
+ export function open(path, flag, perm) {
7
+ let [fd, err] = syscall.Open(path, flag, perm);
8
+ return [fd, new SysFile({}), err];
9
+ }
10
+ //# sourceMappingURL=file_open_unix.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file_open_unix.gs.js","sourceRoot":"","sources":["../../../gs/os/file_open_unix.gs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAA;AAErD,0CAA0C;AAC1C,MAAM,OAAO;IACZ,YAAY,IAAU,IAAG,CAAC;CAC1B;AAED,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY;IAC5D,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9C,OAAO,CAAC,EAAE,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ export declare function syscallMode(i: number): number;
3
+ export declare function ignoringEINTR(fn: () => $.GoError): $.GoError;
4
+ export declare function ignoringEINTR2(fn: () => [string, $.GoError]): [string, $.GoError];
5
+ export declare function Chmod(name: string, mode: number): $.GoError;
6
+ export declare function Chown(name: string, uid: number, gid: number): $.GoError;
7
+ export declare function Lchown(name: string, uid: number, gid: number): $.GoError;
8
+ export declare function Chtimes(name: string, atime: any, mtime: any): $.GoError;
@@ -0,0 +1,32 @@
1
+ import { ErrUnimplemented } from "./error.gs.js";
2
+ // JavaScript-specific stubs for POSIX file operations
3
+ // These operations are not available in JavaScript environments
4
+ // syscallMode stub
5
+ export function syscallMode(i) {
6
+ return 0;
7
+ }
8
+ // ignoringEINTR stub
9
+ export function ignoringEINTR(fn) {
10
+ return ErrUnimplemented;
11
+ }
12
+ // ignoringEINTR2 stub
13
+ export function ignoringEINTR2(fn) {
14
+ return ["", ErrUnimplemented];
15
+ }
16
+ // Chmod operation stub
17
+ export function Chmod(name, mode) {
18
+ return ErrUnimplemented;
19
+ }
20
+ // Chown operation stub
21
+ export function Chown(name, uid, gid) {
22
+ return ErrUnimplemented;
23
+ }
24
+ // Lchown operation stub
25
+ export function Lchown(name, uid, gid) {
26
+ return ErrUnimplemented;
27
+ }
28
+ // Chtimes operation stub
29
+ export function Chtimes(name, atime, mtime) {
30
+ return ErrUnimplemented;
31
+ }
32
+ //# sourceMappingURL=file_posix_js.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file_posix_js.gs.js","sourceRoot":"","sources":["../../../gs/os/file_posix_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,sDAAsD;AACtD,gEAAgE;AAEhE,mBAAmB;AACnB,MAAM,UAAU,WAAW,CAAC,CAAS;IACpC,OAAO,CAAC,CAAA;AACT,CAAC;AAED,qBAAqB;AACrB,MAAM,UAAU,aAAa,CAAC,EAAmB;IAChD,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,sBAAsB;AACtB,MAAM,UAAU,cAAc,CAAC,EAA6B;IAC3D,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;AAC9B,CAAC;AAED,uBAAuB;AACvB,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,IAAY;IAC/C,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,uBAAuB;AACvB,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW;IAC3D,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW;IAC5D,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,KAAU,EAAE,KAAU;IAC3D,OAAO,gBAAgB,CAAA;AACxB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ import { File } from "./types_js.gs.js";
3
+ import * as fs from "@goscript/io/fs/index.js";
4
+ export declare const DevNull = "/dev/null";
5
+ export declare const Stdin: File | null;
6
+ export declare const Stdout: File | null;
7
+ export declare const Stderr: File | null;
8
+ export declare function NewFile(fd: number, name: string): File | null;
9
+ export declare function Remove(name: string): $.GoError;
10
+ export declare function Link(oldname: string, newname: string): $.GoError;
11
+ export declare function Symlink(oldname: string, newname: string): $.GoError;
12
+ export declare function Truncate(name: string, size: number): $.GoError;
13
+ export declare function rename(oldname: string, newname: string): $.GoError;
14
+ export declare function openFileNolog(name: string, flag: number, perm: number): [File | null, $.GoError];
15
+ export declare function openDirNolog(name: string): [File | null, $.GoError];
16
+ export declare function tempDir(): string;
17
+ export declare function readlink(name: string): [string, $.GoError];
18
+ export declare function fixLongPath(path: string): string;
19
+ export declare function sigpipe(): void;
20
+ export declare function epipecheck(file: File | null, e: $.GoError): void;
21
+ export interface dirInfo {
22
+ close(): void;
23
+ }
24
+ export declare function net_newUnixFile(fd: number, name: string): File | null;
25
+ export type newFileKind = number;
26
+ export declare function newFile(fd: number, name: string, kind: newFileKind, nonBlocking: boolean): File | null;
27
+ export declare function newUnixDirent(parent: string, name: string, typ: number): [fs.DirEntry | null, $.GoError];
@@ -0,0 +1,64 @@
1
+ import { ErrUnimplemented } from "./error.gs.js";
2
+ // JavaScript-specific implementations for Unix file operations
3
+ // These functions stub Unix-specific operations that cannot be implemented in JavaScript
4
+ // Device null path - stub for JavaScript
5
+ export const DevNull = "/dev/null";
6
+ // Stdin, Stdout, Stderr - stub implementations
7
+ export const Stdin = null;
8
+ export const Stdout = null;
9
+ export const Stderr = null;
10
+ // NewFile creates a File from a file descriptor - stub implementation
11
+ export function NewFile(fd, name) {
12
+ return null;
13
+ }
14
+ // File operations that need to be stubbed
15
+ export function Remove(name) {
16
+ return ErrUnimplemented;
17
+ }
18
+ export function Link(oldname, newname) {
19
+ return ErrUnimplemented;
20
+ }
21
+ export function Symlink(oldname, newname) {
22
+ return ErrUnimplemented;
23
+ }
24
+ export function Truncate(name, size) {
25
+ return ErrUnimplemented;
26
+ }
27
+ // Internal stub functions that may be referenced by other files
28
+ export function rename(oldname, newname) {
29
+ return ErrUnimplemented;
30
+ }
31
+ export function openFileNolog(name, flag, perm) {
32
+ return [null, ErrUnimplemented];
33
+ }
34
+ export function openDirNolog(name) {
35
+ return [null, ErrUnimplemented];
36
+ }
37
+ export function tempDir() {
38
+ return "/tmp";
39
+ }
40
+ export function readlink(name) {
41
+ return ["", ErrUnimplemented];
42
+ }
43
+ // File class methods that need to be stubbed for unix compatibility
44
+ export function fixLongPath(path) {
45
+ return path;
46
+ }
47
+ export function sigpipe() {
48
+ // No-op in JavaScript
49
+ }
50
+ export function epipecheck(file, e) {
51
+ // No-op in JavaScript
52
+ }
53
+ // Network file creation stub
54
+ export function net_newUnixFile(fd, name) {
55
+ return null;
56
+ }
57
+ export function newFile(fd, name, kind, nonBlocking) {
58
+ return null;
59
+ }
60
+ // Directory entry stubs
61
+ export function newUnixDirent(parent, name, typ) {
62
+ return [null, ErrUnimplemented];
63
+ }
64
+ //# sourceMappingURL=file_unix_js.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file_unix_js.gs.js","sourceRoot":"","sources":["../../../gs/os/file_unix_js.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKjD,+DAA+D;AAC/D,yFAAyF;AAEzF,yCAAyC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAA;AAElC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,KAAK,GAAgB,IAAI,CAAA;AACtC,MAAM,CAAC,MAAM,MAAM,GAAgB,IAAI,CAAA;AACvC,MAAM,CAAC,MAAM,MAAM,GAAgB,IAAI,CAAA;AAEvC,sEAAsE;AACtE,MAAM,UAAU,OAAO,CAAC,EAAU,EAAE,IAAY;IAC/C,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,MAAM,CAAC,IAAY;IAClC,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,OAAe,EAAE,OAAe;IACpD,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,OAAe;IACvD,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAY;IAClD,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,MAAM,CAAC,OAAe,EAAE,OAAe;IACtD,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY;IACrE,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACxC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,OAAO;IACtB,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACpC,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;AAC9B,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,WAAW,CAAC,IAAY;IACvC,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,OAAO;IACtB,sBAAsB;AACvB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAiB,EAAE,CAAY;IACzD,wBAAwB;AACzB,CAAC;AAOD,+BAA+B;AAC/B,MAAM,UAAU,eAAe,CAAC,EAAU,EAAE,IAAY;IACvD,OAAO,IAAI,CAAA;AACZ,CAAC;AAKD,MAAM,UAAU,OAAO,CAAC,EAAU,EAAE,IAAY,EAAE,IAAiB,EAAE,WAAoB;IACxF,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,IAAY,EAAE,GAAW;IACtE,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AAChC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ import * as fs from "@goscript/io/fs/index.js";
3
+ export declare function Getwd(): [string, $.GoError];
4
+ export declare function setWorkingDir(dir: string): void;
5
+ export declare function statNolog(name: string): [fs.FileInfo | null, $.GoError];
6
+ export declare function lstatNolog(name: string): [fs.FileInfo | null, $.GoError];
@@ -0,0 +1,21 @@
1
+ import * as fs from "@goscript/io/fs/index.js";
2
+ // JavaScript-specific implementation of Getwd
3
+ // Working directories are not a concept in JavaScript environments
4
+ // Store working directory in a global variable
5
+ // Global working directory variable, defaults to test directory
6
+ let currentWorkingDir = "/";
7
+ export function Getwd() {
8
+ return [currentWorkingDir, null];
9
+ }
10
+ // Set the working directory (for internal use)
11
+ export function setWorkingDir(dir) {
12
+ currentWorkingDir = dir;
13
+ }
14
+ // Additional functions that may be imported by other files
15
+ export function statNolog(name) {
16
+ return [null, fs.ErrNotExist];
17
+ }
18
+ export function lstatNolog(name) {
19
+ return [null, fs.ErrNotExist];
20
+ }
21
+ //# sourceMappingURL=getwd_js.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getwd_js.gs.js","sourceRoot":"","sources":["../../../gs/os/getwd_js.gs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAE9C,8CAA8C;AAC9C,mEAAmE;AACnE,+CAA+C;AAE/C,gEAAgE;AAChE,IAAI,iBAAiB,GAAW,GAAG,CAAA;AAEnC,MAAM,UAAU,KAAK;IACpB,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;AACjC,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,aAAa,CAAC,GAAW;IACxC,iBAAiB,GAAG,GAAG,CAAA;AACxB,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,SAAS,CAAC,IAAY;IACrC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACtC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,19 @@
1
+ export { CopyFS, ReadDir } from './dir.gs.js';
2
+ export { Clearenv, Environ, Expand, ExpandEnv, Getenv, LookupEnv, Setenv, Unsetenv, } from './env.gs.js';
3
+ export { ErrClosed, ErrDeadlineExceeded, ErrExist, ErrInvalid, ErrNoDeadline, ErrNotExist, ErrPermission, ErrUnimplemented, IsExist, IsNotExist, IsPermission, IsTimeout, NewSyscallError, PathError, SyscallError, } from './error.gs.js';
4
+ export { ErrProcessDone, FindProcess, Getpid, Getppid, ProcAttr, Process, Signal, StartProcess, } from './exec.gs.js';
5
+ export { Interrupt, Kill, ProcessState } from './exec_posix.gs.js';
6
+ export { Executable } from './executable.gs.js';
7
+ export { Chdir, Chmod, Create, DirFS, Mkdir, Open, OpenFile, ReadFile, Rename, WriteFile, MkdirAll, RemoveAll, } from './file_js.gs.js';
8
+ export { LinkError, O_APPEND, O_CREATE, O_EXCL, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY, Readlink, SEEK_CUR, SEEK_END, SEEK_SET, TempDir, UserCacheDir, UserConfigDir, UserHomeDir, } from './file_constants_js.gs.js';
9
+ export { DevNull, Link, NewFile, Remove, Stderr, Stdin, Stdout, Symlink, Truncate, } from './file_unix_js.gs.js';
10
+ export { Chown, Chtimes, Lchown } from './file_posix_js.gs.js';
11
+ export { Getwd } from './getwd_js.gs.js';
12
+ export { IsPathSeparator, PathListSeparator, PathSeparator, } from './path_unix.gs.js';
13
+ export { Pipe } from './pipe_wasm.gs.js';
14
+ export { Args, Exit, Getegid, Geteuid, Getgid, Getgroups, Getuid, } from './proc.gs.js';
15
+ export { OpenInRoot, OpenRoot, Root } from './root_js.gs.js';
16
+ export { Lstat, Stat } from './stat_js.gs.js';
17
+ export { Hostname } from './sys.gs.js';
18
+ export { CreateTemp, MkdirTemp } from './tempfile.gs.js';
19
+ export { DirEntry, File, FileInfo, FileMode, Getpagesize, ModeAppend, ModeCharDevice, ModeDevice, ModeDir, ModeExclusive, ModeIrregular, ModeNamedPipe, ModePerm, ModeSetgid, ModeSetuid, ModeSocket, ModeSticky, ModeSymlink, ModeTemporary, ModeType, SameFile, } from './types_js.gs.js';