goscript 0.2.5 → 0.2.7

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 (264) hide show
  1. package/cmd/goscript/cmd-compile.go +7 -0
  2. package/cmd/goscript/cmd_compile_test.go +83 -0
  3. package/compiler/compile-request.go +3 -0
  4. package/compiler/compiler-cache.go +828 -0
  5. package/compiler/compiler-cache_test.go +705 -0
  6. package/compiler/config.go +2 -0
  7. package/compiler/index.test.ts +26 -1
  8. package/compiler/index.ts +5 -0
  9. package/compiler/lowered-program.go +31 -20
  10. package/compiler/lowering.go +349 -93
  11. package/compiler/lowering_bench_test.go +1 -0
  12. package/compiler/override-facts.go +309 -8
  13. package/compiler/override-parity-verifier.go +45 -1
  14. package/compiler/override-parity-verifier_test.go +100 -0
  15. package/compiler/override-registry_test.go +1 -0
  16. package/compiler/package-graph.go +40 -12
  17. package/compiler/package-graph_test.go +29 -0
  18. package/compiler/runtime-contract.go +8 -0
  19. package/compiler/service.go +98 -11
  20. package/compiler/skeleton_test.go +110 -14
  21. package/compiler/typescript-emitter.go +120 -23
  22. package/dist/compiler/index.d.ts +2 -0
  23. package/dist/compiler/index.js +3 -0
  24. package/dist/compiler/index.js.map +1 -1
  25. package/dist/gs/builtin/builtin.d.ts +24 -33
  26. package/dist/gs/builtin/builtin.js +54 -61
  27. package/dist/gs/builtin/builtin.js.map +1 -1
  28. package/dist/gs/builtin/hostio.d.ts +1 -0
  29. package/dist/gs/builtin/hostio.js +1 -1
  30. package/dist/gs/builtin/hostio.js.map +1 -1
  31. package/dist/gs/builtin/index.d.ts +1 -0
  32. package/dist/gs/builtin/index.js +1 -0
  33. package/dist/gs/builtin/index.js.map +1 -1
  34. package/dist/gs/builtin/panic.d.ts +18 -0
  35. package/dist/gs/builtin/panic.js +98 -0
  36. package/dist/gs/builtin/panic.js.map +1 -0
  37. package/dist/gs/builtin/slice.d.ts +10 -0
  38. package/dist/gs/builtin/slice.js +110 -53
  39. package/dist/gs/builtin/slice.js.map +1 -1
  40. package/dist/gs/builtin/type.js +15 -3
  41. package/dist/gs/builtin/type.js.map +1 -1
  42. package/dist/gs/builtin/varRef.d.ts +1 -1
  43. package/dist/gs/builtin/varRef.js +3 -2
  44. package/dist/gs/builtin/varRef.js.map +1 -1
  45. package/dist/gs/bytes/bytes.gs.js +51 -38
  46. package/dist/gs/bytes/bytes.gs.js.map +1 -1
  47. package/dist/gs/bytes/reader.gs.d.ts +1 -1
  48. package/dist/gs/bytes/reader.gs.js +6 -7
  49. package/dist/gs/bytes/reader.gs.js.map +1 -1
  50. package/dist/gs/cmp/index.d.ts +1 -1
  51. package/dist/gs/cmp/index.js +43 -10
  52. package/dist/gs/cmp/index.js.map +1 -1
  53. package/dist/gs/context/context.d.ts +2 -2
  54. package/dist/gs/context/context.js +1 -1
  55. package/dist/gs/context/context.js.map +1 -1
  56. package/dist/gs/embed/index.js +1 -1
  57. package/dist/gs/embed/index.js.map +1 -1
  58. package/dist/gs/encoding/binary/index.js +201 -8
  59. package/dist/gs/encoding/binary/index.js.map +1 -1
  60. package/dist/gs/encoding/json/index.d.ts +5 -0
  61. package/dist/gs/encoding/json/index.js +388 -25
  62. package/dist/gs/encoding/json/index.js.map +1 -1
  63. package/dist/gs/errors/errors.js +17 -24
  64. package/dist/gs/errors/errors.js.map +1 -1
  65. package/dist/gs/fmt/fmt.js +129 -35
  66. package/dist/gs/fmt/fmt.js.map +1 -1
  67. package/dist/gs/golang.org/x/crypto/cryptobyte/index.js +1 -1
  68. package/dist/gs/golang.org/x/crypto/cryptobyte/index.js.map +1 -1
  69. package/dist/gs/internal/bytealg/index.js +43 -8
  70. package/dist/gs/internal/bytealg/index.js.map +1 -1
  71. package/dist/gs/internal/byteorder/index.d.ts +2 -2
  72. package/dist/gs/internal/byteorder/index.js +2 -2
  73. package/dist/gs/internal/byteorder/index.js.map +1 -1
  74. package/dist/gs/io/fs/format.js +2 -2
  75. package/dist/gs/io/fs/format.js.map +1 -1
  76. package/dist/gs/io/fs/fs.d.ts +1 -1
  77. package/dist/gs/io/fs/fs.js +1 -1
  78. package/dist/gs/io/fs/fs.js.map +1 -1
  79. package/dist/gs/io/io.d.ts +21 -21
  80. package/dist/gs/io/io.js +49 -50
  81. package/dist/gs/io/io.js.map +1 -1
  82. package/dist/gs/math/bits/index.js +26 -8
  83. package/dist/gs/math/bits/index.js.map +1 -1
  84. package/dist/gs/math/copysign.gs.js +10 -17
  85. package/dist/gs/math/copysign.gs.js.map +1 -1
  86. package/dist/gs/math/pow.gs.js +5 -0
  87. package/dist/gs/math/pow.gs.js.map +1 -1
  88. package/dist/gs/math/signbit.gs.js +6 -2
  89. package/dist/gs/math/signbit.gs.js.map +1 -1
  90. package/dist/gs/mime/index.js +1 -0
  91. package/dist/gs/mime/index.js.map +1 -1
  92. package/dist/gs/net/http/index.d.ts +6 -6
  93. package/dist/gs/net/http/index.js +507 -43
  94. package/dist/gs/net/http/index.js.map +1 -1
  95. package/dist/gs/os/stat.gs.d.ts +2 -2
  96. package/dist/gs/os/types.gs.d.ts +1 -1
  97. package/dist/gs/os/types.gs.js +1 -1
  98. package/dist/gs/os/types.gs.js.map +1 -1
  99. package/dist/gs/os/types_js.gs.d.ts +1 -1
  100. package/dist/gs/os/types_js.gs.js +7 -7
  101. package/dist/gs/os/types_js.gs.js.map +1 -1
  102. package/dist/gs/os/types_unix.gs.d.ts +1 -1
  103. package/dist/gs/os/types_unix.gs.js +1 -1
  104. package/dist/gs/os/types_unix.gs.js.map +1 -1
  105. package/dist/gs/os/zero_copy_posix.gs.d.ts +1 -1
  106. package/dist/gs/os/zero_copy_posix.gs.js +1 -1
  107. package/dist/gs/os/zero_copy_posix.gs.js.map +1 -1
  108. package/dist/gs/path/filepath/match.js +8 -4
  109. package/dist/gs/path/filepath/match.js.map +1 -1
  110. package/dist/gs/path/filepath/path.js +216 -42
  111. package/dist/gs/path/filepath/path.js.map +1 -1
  112. package/dist/gs/path/match.js +6 -3
  113. package/dist/gs/path/match.js.map +1 -1
  114. package/dist/gs/reflect/type.d.ts +5 -4
  115. package/dist/gs/reflect/type.js +29 -11
  116. package/dist/gs/reflect/type.js.map +1 -1
  117. package/dist/gs/slices/slices.js +11 -11
  118. package/dist/gs/slices/slices.js.map +1 -1
  119. package/dist/gs/strconv/atof.gs.js +156 -43
  120. package/dist/gs/strconv/atof.gs.js.map +1 -1
  121. package/dist/gs/strconv/atoi.gs.d.ts +3 -2
  122. package/dist/gs/strconv/atoi.gs.js +86 -67
  123. package/dist/gs/strconv/atoi.gs.js.map +1 -1
  124. package/dist/gs/strconv/ftoa.gs.js +73 -3
  125. package/dist/gs/strconv/ftoa.gs.js.map +1 -1
  126. package/dist/gs/strconv/itoa.gs.d.ts +4 -4
  127. package/dist/gs/strconv/itoa.gs.js +5 -4
  128. package/dist/gs/strconv/itoa.gs.js.map +1 -1
  129. package/dist/gs/strconv/quote.gs.d.ts +1 -1
  130. package/dist/gs/strconv/quote.gs.js +311 -103
  131. package/dist/gs/strconv/quote.gs.js.map +1 -1
  132. package/dist/gs/strings/reader.d.ts +1 -1
  133. package/dist/gs/strings/reader.js +8 -8
  134. package/dist/gs/strings/reader.js.map +1 -1
  135. package/dist/gs/strings/strings.js +87 -61
  136. package/dist/gs/strings/strings.js.map +1 -1
  137. package/dist/gs/sync/atomic/doc_64.gs.d.ts +14 -14
  138. package/dist/gs/sync/atomic/doc_64.gs.js +10 -10
  139. package/dist/gs/sync/atomic/doc_64.gs.js.map +1 -1
  140. package/dist/gs/sync/atomic/type.gs.d.ts +22 -22
  141. package/dist/gs/sync/atomic/type.gs.js +4 -4
  142. package/dist/gs/sync/atomic/type.gs.js.map +1 -1
  143. package/dist/gs/sync/sync.js +50 -12
  144. package/dist/gs/sync/sync.js.map +1 -1
  145. package/dist/gs/syscall/fs.d.ts +6 -6
  146. package/dist/gs/syscall/fs.js +1 -1
  147. package/dist/gs/syscall/fs.js.map +1 -1
  148. package/dist/gs/time/time.d.ts +18 -18
  149. package/dist/gs/time/time.js +58 -55
  150. package/dist/gs/time/time.js.map +1 -1
  151. package/dist/gs/unicode/tables.d.ts +11 -0
  152. package/dist/gs/unicode/tables.js +635 -0
  153. package/dist/gs/unicode/tables.js.map +1 -0
  154. package/dist/gs/unicode/unicode.d.ts +58 -38
  155. package/dist/gs/unicode/unicode.js +362 -278
  156. package/dist/gs/unicode/unicode.js.map +1 -1
  157. package/go.sum +13 -0
  158. package/gs/builtin/builtin.ts +83 -93
  159. package/gs/builtin/hostio.ts +1 -1
  160. package/gs/builtin/index.ts +1 -0
  161. package/gs/builtin/panic.test.ts +189 -0
  162. package/gs/builtin/panic.ts +107 -0
  163. package/gs/builtin/runtime-contract.test.ts +5 -5
  164. package/gs/builtin/slice.test.ts +23 -0
  165. package/gs/builtin/slice.ts +133 -95
  166. package/gs/builtin/type.ts +16 -3
  167. package/gs/builtin/varRef.ts +4 -2
  168. package/gs/builtin/wide-int.test.ts +41 -0
  169. package/gs/bytes/bytes.gs.ts +54 -41
  170. package/gs/bytes/bytes.test.ts +18 -1
  171. package/gs/bytes/reader.gs.ts +7 -8
  172. package/gs/cmp/index.test.ts +55 -0
  173. package/gs/cmp/index.ts +45 -9
  174. package/gs/context/context.ts +3 -3
  175. package/gs/embed/index.ts +2 -2
  176. package/gs/encoding/binary/index.test.ts +104 -0
  177. package/gs/encoding/binary/index.ts +259 -11
  178. package/gs/encoding/json/index.test.ts +107 -0
  179. package/gs/encoding/json/index.ts +400 -29
  180. package/gs/errors/errors.test.ts +44 -1
  181. package/gs/errors/errors.ts +15 -31
  182. package/gs/fmt/fmt.test.ts +70 -2
  183. package/gs/fmt/fmt.ts +128 -34
  184. package/gs/golang.org/x/crypto/cryptobyte/index.ts +1 -1
  185. package/gs/internal/bytealg/index.test.ts +26 -1
  186. package/gs/internal/bytealg/index.ts +44 -8
  187. package/gs/internal/byteorder/index.ts +6 -4
  188. package/gs/io/fs/format.ts +2 -2
  189. package/gs/io/fs/fs.ts +2 -2
  190. package/gs/io/fs/stat.test.ts +2 -2
  191. package/gs/io/fs/sub.test.ts +2 -2
  192. package/gs/io/fs/walk.test.ts +2 -2
  193. package/gs/io/io.test.ts +47 -5
  194. package/gs/io/io.ts +73 -73
  195. package/gs/io/limit.test.ts +103 -0
  196. package/gs/math/bits/index.test.ts +128 -0
  197. package/gs/math/bits/index.ts +26 -8
  198. package/gs/math/copysign.gs.test.ts +3 -1
  199. package/gs/math/copysign.gs.ts +10 -22
  200. package/gs/math/pow.gs.test.ts +4 -5
  201. package/gs/math/pow.gs.ts +5 -0
  202. package/gs/math/signbit.gs.test.ts +2 -1
  203. package/gs/math/signbit.gs.ts +6 -3
  204. package/gs/mime/index.ts +1 -0
  205. package/gs/net/http/index.test.ts +683 -2
  206. package/gs/net/http/index.ts +598 -57
  207. package/gs/net/http/meta.json +3 -0
  208. package/gs/os/stat.gs.ts +2 -2
  209. package/gs/os/types.gs.ts +2 -2
  210. package/gs/os/types_js.gs.ts +9 -9
  211. package/gs/os/types_unix.gs.ts +2 -2
  212. package/gs/os/zero_copy_posix.gs.ts +2 -2
  213. package/gs/path/filepath/match.test.ts +16 -0
  214. package/gs/path/filepath/match.ts +8 -4
  215. package/gs/path/filepath/path.test.ts +91 -9
  216. package/gs/path/filepath/path.ts +223 -49
  217. package/gs/path/match.test.ts +32 -0
  218. package/gs/path/match.ts +6 -3
  219. package/gs/reflect/deepequal.test.ts +1 -1
  220. package/gs/reflect/field.test.ts +1 -1
  221. package/gs/reflect/function-types.test.ts +6 -6
  222. package/gs/reflect/sliceat.test.ts +13 -13
  223. package/gs/reflect/structof.test.ts +4 -4
  224. package/gs/reflect/type.ts +34 -14
  225. package/gs/reflect/typefor.test.ts +5 -5
  226. package/gs/runtime/pprof/index.test.ts +20 -0
  227. package/gs/runtime/trace/index.test.ts +3 -0
  228. package/gs/slices/slices.test.ts +31 -0
  229. package/gs/slices/slices.ts +11 -11
  230. package/gs/strconv/append.test.ts +99 -0
  231. package/gs/strconv/atof.gs.ts +156 -42
  232. package/gs/strconv/atof.test.ts +45 -0
  233. package/gs/strconv/atoi.gs.ts +87 -69
  234. package/gs/strconv/atoi.test.ts +49 -0
  235. package/gs/strconv/ftoa.gs.ts +85 -10
  236. package/gs/strconv/ftoa.test.ts +43 -0
  237. package/gs/strconv/itoa.gs.ts +10 -9
  238. package/gs/strconv/quote.gs.ts +335 -108
  239. package/gs/strconv/quote.test.ts +111 -0
  240. package/gs/strings/reader.test.ts +10 -10
  241. package/gs/strings/reader.ts +9 -9
  242. package/gs/strings/strings.test.ts +18 -5
  243. package/gs/strings/strings.ts +81 -68
  244. package/gs/sync/atomic/doc_64.gs.ts +24 -24
  245. package/gs/sync/atomic/doc_64.test.ts +5 -5
  246. package/gs/sync/atomic/type.gs.ts +28 -28
  247. package/gs/sync/sync.test.ts +109 -1
  248. package/gs/sync/sync.ts +46 -12
  249. package/gs/syscall/fs.ts +8 -8
  250. package/gs/syscall/net.test.ts +1 -1
  251. package/gs/time/parse.test.ts +45 -0
  252. package/gs/time/time.test.ts +46 -23
  253. package/gs/time/time.ts +69 -66
  254. package/gs/unicode/gen.go +198 -0
  255. package/gs/unicode/tables.ts +646 -0
  256. package/gs/unicode/unicode.test.ts +69 -0
  257. package/gs/unicode/unicode.ts +396 -312
  258. package/package.json +2 -2
  259. package/dist/gs/github.com/aperturerobotics/util/conc/index.d.ts +0 -20
  260. package/dist/gs/github.com/aperturerobotics/util/conc/index.js +0 -134
  261. package/dist/gs/github.com/aperturerobotics/util/conc/index.js.map +0 -1
  262. package/gs/github.com/aperturerobotics/util/conc/index.test.ts +0 -30
  263. package/gs/github.com/aperturerobotics/util/conc/index.ts +0 -172
  264. package/gs/github.com/aperturerobotics/util/conc/meta.json +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"atoi.gs.js","sourceRoot":"","sources":["../../../gs/strconv/atoi.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,MAAM,CAAC,IAAI,QAAQ,GAAc,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAClE,MAAM,CAAC,IAAI,SAAS,GAAc,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAE/D,MAAM,OAAO,QAAQ;IACpB,kFAAkF;IAClF,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,IAAW,IAAI,CAAC,KAAa;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,YAAY;IACZ,IAAW,GAAG;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IAC/B,CAAC;IACD,IAAW,GAAG,CAAC,KAAa;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,oEAAoE;IACpE,IAAW,GAAG;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IAC/B,CAAC;IACD,IAAW,GAAG,CAAC,KAAgB;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IAChC,CAAC;IAEM,OAAO,CAIb;IAED,YAAY,IAA8D;QACzE,IAAI,CAAC,OAAO,GAAG;YACd,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YAChC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;YAC9B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC;SAChC,CAAC;IACH,CAAC;IAEM,KAAK;QACX,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,GAAG;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YACvC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YACrC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;SACrC,CAAC;QACF,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,KAAK;QACX,MAAM,CAAC,GAAG,IAAI,CAAC;QACf,OAAO,UAAU,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAI,CAAC,KAAK,EAAE,CAAC;IAChG,CAAC;IAEM,MAAM;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC;QACf,OAAO,CAAC,CAAC,GAAG,CAAC;IACd,CAAC;IAED,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,kBAAkB,CACvC,UAAU,EACV,IAAI,QAAQ,EAAE,EACd,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,CAAC,EAC3S,QAAQ,EACR,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,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,CAC7V,CAAC;CACF;AAED,MAAM,UAAU,WAAW,CAAC,EAAU,EAAE,GAAW;IAClD,OAAO,IAAI,QAAQ,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAU,EAAE,GAAW;IACjD,OAAO,IAAI,QAAQ,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAU,EAAE,GAAW,EAAE,IAAY;IAC9D,OAAO,IAAI,QAAQ,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,EAAC,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAU,EAAE,GAAW,EAAE,OAAe;IACpE,OAAO,IAAI,QAAQ,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,GAAG,OAAO,CAAC,EAAC,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,IAAI,OAAO,GAAW,EAAE,CAAC;AAEhC,iDAAiD;AACjD,0EAA0E;AAC1E,SAAS,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,uDAAuD;AACvD,kCAAkC;AAClC,MAAM,UAAU,SAAS,CAAC,CAAS,EAAE,IAAY,EAAE,OAAe;IACjE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,CAAC;IAEb,yBAAyB;IACzB,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACzC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,wBAAwB;IACxB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QAChB,IAAI,GAAG,EAAE,CAAC;QACV,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAClC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBACpB,IAAI,GAAG,CAAC,CAAC;oBACT,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChB,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC3B,IAAI,GAAG,CAAC,CAAC;oBACT,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChB,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC3B,IAAI,GAAG,EAAE,CAAC;oBACV,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACP,IAAI,GAAG,CAAC,CAAC;oBACT,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChB,CAAC;YACF,CAAC;QACF,CAAC;aAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1C,IAAI,GAAG,CAAC,CAAC;YACT,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACF,CAAC;IAED,mBAAmB;IACnB,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,GAAG,EAAE,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,2DAA2D;IAC3D,IAAI,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,4BAA4B;IAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAEjC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,yCAAyC;IACzC,mEAAmE;IACnE,4CAA4C;IAC5C,IAAI,MAAc,CAAC;IACnB,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACnB,8FAA8F;QAC9F,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAClC,CAAC;SAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,oEAAoE;AACpE,4DAA4D;AAC5D,MAAM,UAAU,QAAQ,CAAC,CAAS,EAAE,IAAY,EAAE,OAAe;IAChE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAClC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;QACnB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;IAED,4BAA4B;IAC5B,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,GAAe,CAAC;QAC/B,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;QACzB,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,GAAG,EAAE,CAAC;IACd,CAAC;IAED,mEAAmE;IACnE,4CAA4C;IAC5C,IAAI,MAAc,CAAC;IACnB,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACnB,8FAA8F;QAC9F,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAClC,CAAC;SAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACnB,CAAC;AAED,iEAAiE;AACjE,SAAS,YAAY,CAAC,CAAS;IAC9B,wCAAwC;IACxC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACd,CAAC;IAED,qCAAqC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"atoi.gs.js","sourceRoot":"","sources":["../../../gs/strconv/atoi.gs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,72 @@
1
1
  import * as $ from "@goscript/builtin/index.js";
2
+ const hexConv = new DataView(new ArrayBuffer(8));
3
+ // formatHexFloat renders a non-negative finite float in Go's hexadecimal
4
+ // floating-point form: a normalized leading hex digit (1, or 0 for zero), an
5
+ // optional hex fraction, and a binary exponent printed with sign and at least
6
+ // two digits. prec < 0 emits the shortest exact fraction; prec >= 0 emits
7
+ // exactly prec fraction digits with round-half-to-even and carry renormalization.
8
+ // upper selects the 0X/P uppercase form.
9
+ function formatHexFloat(f, prec, upper) {
10
+ hexConv.setFloat64(0, f);
11
+ const hi = hexConv.getUint32(0);
12
+ const lo = hexConv.getUint32(4);
13
+ const biasedExp = (hi >>> 20) & 0x7ff;
14
+ let frac = (BigInt(hi & 0xfffff) << 32n) | BigInt(lo >>> 0);
15
+ const xPrefix = upper ? "0X" : "0x";
16
+ const pChar = upper ? "P" : "p";
17
+ const assemble = (intDigit, fracHex, exp) => {
18
+ if (upper) {
19
+ fracHex = fracHex.toUpperCase();
20
+ }
21
+ const expAbs = Math.abs(exp);
22
+ const expStr = (exp < 0 ? "-" : "+") + String(expAbs).padStart(2, "0");
23
+ const mantissa = fracHex.length > 0 ? intDigit + "." + fracHex : intDigit;
24
+ return xPrefix + mantissa + pChar + expStr;
25
+ };
26
+ if (biasedExp === 0 && frac === 0n) {
27
+ const fracHex = prec > 0 ? "0".repeat(prec) : "";
28
+ return assemble("0", fracHex, 0);
29
+ }
30
+ // Normalize to a 52-bit fraction with an implicit leading 1.
31
+ let exp;
32
+ if (biasedExp === 0) {
33
+ // Subnormal: shift the leading set bit up to bit 52.
34
+ let k = 51;
35
+ while ((frac & (1n << BigInt(k))) === 0n) {
36
+ k--;
37
+ }
38
+ exp = k - 1074;
39
+ frac = (frac << BigInt(52 - k)) & ((1n << 52n) - 1n);
40
+ }
41
+ else {
42
+ exp = biasedExp - 1023;
43
+ }
44
+ let fracHex;
45
+ if (prec < 0) {
46
+ fracHex = frac.toString(16).padStart(13, "0").replace(/0+$/, "");
47
+ }
48
+ else if (prec >= 13) {
49
+ fracHex = frac.toString(16).padStart(13, "0").padEnd(prec, "0");
50
+ }
51
+ else {
52
+ const keepBits = BigInt(prec * 4);
53
+ const droppedBits = 52n - keepBits;
54
+ let kept = frac >> droppedBits;
55
+ const remainder = frac & ((1n << droppedBits) - 1n);
56
+ const half = 1n << (droppedBits - 1n);
57
+ if (remainder > half || (remainder === half && (kept & 1n) === 1n)) {
58
+ kept += 1n;
59
+ }
60
+ if (kept >= 1n << keepBits) {
61
+ // Carry past the kept digits renormalizes: the integer digit would
62
+ // become 2, so bump the exponent and zero the fraction.
63
+ exp += 1;
64
+ kept = 0n;
65
+ }
66
+ fracHex = prec === 0 ? "" : kept.toString(16).padStart(prec, "0");
67
+ }
68
+ return assemble("1", fracHex, exp);
69
+ }
2
70
  // FormatFloat converts the floating-point number f to a string,
3
71
  // according to the format fmt and precision prec. It rounds the
4
72
  // result assuming that the original was obtained from a floating-point
@@ -19,6 +87,11 @@ export function FormatFloat(f, fmt, prec, bitSize) {
19
87
  if (bitSize === 32) {
20
88
  f = Math.fround(f);
21
89
  }
90
+ if (fmtChar === 'x' || fmtChar === 'X') {
91
+ hexConv.setFloat64(0, f);
92
+ const neg = (hexConv.getUint32(0) >>> 31) === 1;
93
+ return (neg ? "-" : "") + formatHexFloat(Math.abs(f), prec, fmtChar === 'X');
94
+ }
22
95
  switch (fmtChar.toLowerCase()) {
23
96
  case 'e':
24
97
  // Exponential notation
@@ -38,9 +111,6 @@ export function FormatFloat(f, fmt, prec, bitSize) {
38
111
  return f.toPrecision();
39
112
  }
40
113
  return f.toPrecision(prec + 1);
41
- case 'x':
42
- // Hexadecimal notation (simplified)
43
- return f.toString(16);
44
114
  default:
45
115
  // Default to 'g' format
46
116
  if (prec < 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"ftoa.gs.js","sourceRoot":"","sources":["../../../gs/strconv/ftoa.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,gEAAgE;AAChE,gEAAgE;AAChE,uEAAuE;AACvE,0DAA0D;AAC1D,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,GAAW,EAAE,IAAY,EAAE,OAAe;IAChF,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAEzC,uBAAuB;IACvB,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,+CAA+C;IAC/C,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACpB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,QAAQ,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/B,KAAK,GAAG;YACP,uBAAuB;YACvB,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACd,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE9B,KAAK,GAAG;YACP,uBAAuB;YACvB,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACd,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;YACrB,CAAC;YACD,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExB,KAAK,GAAG;YACP,qCAAqC;YACrC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACd,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACxB,CAAC;YACD,OAAO,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAEhC,KAAK,GAAG;YACP,oCAAoC;YACpC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEvB;YACC,wBAAwB;YACxB,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACd,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;YACrB,CAAC;YACD,OAAO,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;AACF,CAAC;AAED,sEAAsE;AACtE,uEAAuE;AACvE,MAAM,UAAU,WAAW,CAAC,GAAY,EAAE,CAAS,EAAE,GAAW,EAAE,IAAY,EAAE,OAAe;IAC9F,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,CAAE,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"ftoa.gs.js","sourceRoot":"","sources":["../../../gs/strconv/ftoa.gs.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as $ from "@goscript/builtin/index.js";
2
- export declare function FormatUint(i: number, base: number): string;
3
- export declare function FormatInt(i: number, base: number): string;
2
+ export declare function FormatUint(i: number | bigint, base: number): string;
3
+ export declare function FormatInt(i: number | bigint, base: number): string;
4
4
  export declare function Itoa(i: number): string;
5
- export declare function AppendInt(dst: $.Bytes, i: number, base: number): $.Bytes;
6
- export declare function AppendUint(dst: $.Bytes, i: number, base: number): $.Bytes;
5
+ export declare function AppendInt(dst: $.Bytes, i: number | bigint, base: number): $.Bytes;
6
+ export declare function AppendUint(dst: $.Bytes, i: number | bigint, base: number): $.Bytes;
@@ -6,8 +6,8 @@ export function FormatUint(i, base) {
6
6
  if (base < 2 || base > 36) {
7
7
  throw new Error("FormatUint: illegal base");
8
8
  }
9
- // JavaScript's toString() handles bases 2-36 natively
10
- return Math.floor(Math.abs(i)).toString(base);
9
+ const v = typeof i === "bigint" ? i : BigInt(Math.trunc(i));
10
+ return BigInt.asUintN(64, v).toString(base);
11
11
  }
12
12
  // FormatInt returns the string representation of i in the given base,
13
13
  // for 2 <= base <= 36. The result uses the lower-case letters 'a' to 'z'
@@ -16,11 +16,12 @@ export function FormatInt(i, base) {
16
16
  if (base < 2 || base > 36) {
17
17
  throw new Error("FormatInt: illegal base");
18
18
  }
19
- return Math.floor(i).toString(base);
19
+ const v = typeof i === "bigint" ? i : BigInt(Math.trunc(i));
20
+ return v.toString(base);
20
21
  }
21
22
  // Itoa is equivalent to FormatInt(i, 10).
22
23
  export function Itoa(i) {
23
- return FormatInt(i, 10);
24
+ return FormatInt(BigInt(Math.trunc(i)), 10);
24
25
  }
25
26
  // AppendInt appends the string form of the integer i,
26
27
  // as generated by FormatInt, to dst and returns the extended buffer.
@@ -1 +1 @@
1
- {"version":3,"file":"itoa.gs.js","sourceRoot":"","sources":["../../../gs/strconv/itoa.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,uEAAuE;AACvE,yEAAyE;AACzE,0BAA0B;AAC1B,MAAM,UAAU,UAAU,CAAC,CAAS,EAAE,IAAY;IACjD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IACD,sDAAsD;IACtD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,sEAAsE;AACtE,yEAAyE;AACzE,0BAA0B;AAC1B,MAAM,UAAU,SAAS,CAAC,CAAS,EAAE,IAAY;IAChD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,sDAAsD;AACtD,qEAAqE;AACrE,MAAM,UAAU,SAAS,CAAC,GAAY,EAAE,CAAS,EAAE,IAAY;IAC9D,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/B,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,CAAE,CAAC,CAAC;AAChD,CAAC;AAED,gEAAgE;AAChE,sEAAsE;AACtE,MAAM,UAAU,UAAU,CAAC,GAAY,EAAE,CAAS,EAAE,IAAY;IAC/D,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,CAAE,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"itoa.gs.js","sourceRoot":"","sources":["../../../gs/strconv/itoa.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,uEAAuE;AACvE,yEAAyE;AACzE,0BAA0B;AAC1B,MAAM,UAAU,UAAU,CAAC,CAAkB,EAAE,IAAY;IAC1D,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,sEAAsE;AACtE,yEAAyE;AACzE,0BAA0B;AAC1B,MAAM,UAAU,SAAS,CAAC,CAAkB,EAAE,IAAY;IACzD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,sDAAsD;AACtD,qEAAqE;AACrE,MAAM,UAAU,SAAS,CAAC,GAAY,EAAE,CAAkB,EAAE,IAAY;IACvE,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/B,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,CAAE,CAAC,CAAC;AAChD,CAAC;AAED,gEAAgE;AAChE,sEAAsE;AACtE,MAAM,UAAU,UAAU,CAAC,GAAY,EAAE,CAAkB,EAAE,IAAY;IACxE,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,CAAE,CAAC,CAAC;AAChD,CAAC"}
@@ -6,8 +6,8 @@ export declare function QuoteRune(r: number): string;
6
6
  export declare function QuoteRuneToASCII(r: number): string;
7
7
  export declare function QuoteRuneToGraphic(r: number): string;
8
8
  export declare function CanBackquote(s: string): boolean;
9
- export declare function Unquote(s: string): [string, $.GoError];
10
9
  export declare function UnquoteChar(s: string, quote: number): [number, boolean, string, $.GoError];
10
+ export declare function Unquote(s: string): [string, $.GoError];
11
11
  export declare function QuotedPrefix(s: string): [string, $.GoError];
12
12
  export declare function AppendQuote(dst: $.Bytes, s: string): $.Bytes;
13
13
  export declare function AppendQuoteToASCII(dst: $.Bytes, s: string): $.Bytes;