goscript 0.2.6 → 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 +1 -1
  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,147 +1,356 @@
1
1
  import * as $ from "@goscript/builtin/index.js";
2
+ import * as unicode from "@goscript/unicode/index.js";
2
3
  import { ErrSyntax } from "./atoi.gs.js";
4
+ const lowerhex = "0123456789abcdef";
5
+ // hexEscape emits Go's \xNN, \uNNNN, or \UNNNNNNNN escape with width hex digits.
6
+ function hexEscape(prefix, value, width) {
7
+ let out = prefix;
8
+ for (let shift = (width - 1) * 4; shift >= 0; shift -= 4) {
9
+ out += lowerhex[(value >> shift) & 0xf];
10
+ }
11
+ return out;
12
+ }
13
+ // appendEscapedRune returns the Go-escaped form of one rune, matching
14
+ // strconv.appendEscapedRune: printable runes pass through, the standard control
15
+ // escapes (\a \b \f \n \r \t \v) are emitted by name, control and DEL bytes
16
+ // become \xNN, invalid runes fold to U+FFFD, and the rest become \u/\U. This
17
+ // replaces the prior JSON.stringify / fromCharCode shortcuts, which used the
18
+ // wrong escape set and truncated runes above U+FFFF.
19
+ function appendEscapedRune(r, quote, asciiOnly, graphicOnly) {
20
+ if (r === quote || r === 0x5c /* backslash */) {
21
+ return "\\" + String.fromCharCode(r);
22
+ }
23
+ if (asciiOnly) {
24
+ if (r < 0x80 && unicode.IsPrint(r)) {
25
+ return String.fromCharCode(r);
26
+ }
27
+ }
28
+ else if (unicode.IsPrint(r) || (graphicOnly && unicode.IsGraphic(r))) {
29
+ return $.runeToString(r);
30
+ }
31
+ switch (r) {
32
+ case 0x07:
33
+ return "\\a";
34
+ case 0x08:
35
+ return "\\b";
36
+ case 0x0c:
37
+ return "\\f";
38
+ case 0x0a:
39
+ return "\\n";
40
+ case 0x0d:
41
+ return "\\r";
42
+ case 0x09:
43
+ return "\\t";
44
+ case 0x0b:
45
+ return "\\v";
46
+ }
47
+ if (r < 0x20 || r === 0x7f) {
48
+ return hexEscape("\\x", r & 0xff, 2);
49
+ }
50
+ if (r < 0 || r > 0x10ffff || (r >= 0xd800 && r <= 0xdfff)) {
51
+ r = 0xfffd; // !utf8.ValidRune: fold to RuneError before emitting \u.
52
+ }
53
+ if (r < 0x10000) {
54
+ return hexEscape("\\u", r, 4);
55
+ }
56
+ return hexEscape("\\U", r, 8);
57
+ }
58
+ // quoteWith renders s as a Go quoted literal using quote as the delimiter.
59
+ function quoteWith(s, quote, asciiOnly, graphicOnly) {
60
+ let out = String.fromCharCode(quote);
61
+ for (const ch of s) {
62
+ out += appendEscapedRune(ch.codePointAt(0), quote, asciiOnly, graphicOnly);
63
+ }
64
+ return out + String.fromCharCode(quote);
65
+ }
66
+ // quoteRuneWith renders a single rune as a Go quoted character literal.
67
+ function quoteRuneWith(r, quote, asciiOnly, graphicOnly) {
68
+ return (String.fromCharCode(quote) +
69
+ appendEscapedRune(r, quote, asciiOnly, graphicOnly) +
70
+ String.fromCharCode(quote));
71
+ }
3
72
  // Quote returns a double-quoted Go string literal representing s.
4
73
  // The returned string uses Go escape sequences (\t, \n, \xFF, \u0100) for control characters and non-printable characters.
5
74
  export function Quote(s) {
6
- return JSON.stringify(s);
75
+ return quoteWith(s, 0x22 /* " */, false, false);
7
76
  }
8
77
  // QuoteToASCII returns a double-quoted Go string literal representing s.
9
78
  // The returned string uses Go escape sequences (\t, \n, \xFF, \u0100) for control characters and non-ASCII characters.
10
79
  export function QuoteToASCII(s) {
11
- // For simplicity, use JSON.stringify and then escape non-ASCII
12
- const quoted = JSON.stringify(s);
13
- return quoted.replace(/[\u0080-\uFFFF]/g, (match) => {
14
- const code = match.charCodeAt(0);
15
- if (code <= 0xFF) {
16
- return '\\x' + code.toString(16).padStart(2, '0');
17
- }
18
- else {
19
- return '\\u' + code.toString(16).padStart(4, '0');
20
- }
21
- });
80
+ return quoteWith(s, 0x22, true, false);
22
81
  }
23
82
  // QuoteToGraphic returns a double-quoted Go string literal representing s.
24
83
  // The returned string leaves Unicode graphic characters unchanged.
25
84
  export function QuoteToGraphic(s) {
26
- return Quote(s); // Simplified
85
+ return quoteWith(s, 0x22, false, true);
27
86
  }
28
87
  // QuoteRune returns a single-quoted Go character literal representing the rune.
29
88
  export function QuoteRune(r) {
30
- const char = String.fromCharCode(r);
31
- if (r === 39) { // single quote
32
- return "'\\'";
33
- }
34
- if (r === 92) { // backslash
35
- return "'\\\\'";
36
- }
37
- if (r >= 32 && r <= 126) { // printable ASCII
38
- return "'" + char + "'";
39
- }
40
- // Use escape sequences for non-printable
41
- if (r <= 0xFF) {
42
- return "'\\x" + r.toString(16).padStart(2, '0') + "'";
43
- }
44
- return "'\\u" + r.toString(16).padStart(4, '0') + "'";
89
+ return quoteRuneWith(r, 0x27 /* ' */, false, false);
45
90
  }
46
91
  // QuoteRuneToASCII returns a single-quoted Go character literal representing the rune.
47
92
  export function QuoteRuneToASCII(r) {
48
- return QuoteRune(r); // Same as QuoteRune for simplicity
93
+ return quoteRuneWith(r, 0x27, true, false);
49
94
  }
50
95
  // QuoteRuneToGraphic returns a single-quoted Go character literal representing the rune.
51
96
  export function QuoteRuneToGraphic(r) {
52
- return QuoteRune(r); // Same as QuoteRune for simplicity
97
+ return quoteRuneWith(r, 0x27, false, true);
53
98
  }
54
- // CanBackquote reports whether the string s can be represented unchanged as a single-line backquoted string.
99
+ // CanBackquote reports whether the string s can be represented unchanged as a
100
+ // single-line backquoted string. Go decodes UTF-8 runes: a tab is allowed, but
101
+ // other control bytes below space, a backtick, DEL, an invalid byte
102
+ // (utf8.RuneError at width 1), and a BOM (U+FEFF, invisible) are rejected.
55
103
  export function CanBackquote(s) {
56
- // Check if string contains backticks or control characters
57
- for (let i = 0; i < s.length; i++) {
58
- const c = s.charCodeAt(i);
59
- if (c === 96 || c < 32 || c === 127) { // backtick or control character
104
+ const bytes = $.stringToBytes(s);
105
+ let i = 0;
106
+ while (i < bytes.length) {
107
+ const [r, wid] = decodeRune(bytes, i);
108
+ i += wid;
109
+ if (wid > 1) {
110
+ if (r === 0xfeff) {
111
+ return false; // BOMs are invisible and should not be quoted.
112
+ }
113
+ continue; // Other multibyte runes are valid and assumed printable.
114
+ }
115
+ if (r === 0xfffd) {
116
+ return false; // utf8.RuneError from an invalid single byte.
117
+ }
118
+ if ((r < 0x20 && r !== 0x09) || r === 0x60 || r === 0x7f) {
60
119
  return false;
61
120
  }
62
121
  }
63
122
  return true;
64
123
  }
65
- // Unquote interprets s as a single-quoted, double-quoted, or backquoted Go string literal.
66
- export function Unquote(s) {
67
- const n = s.length;
68
- if (n < 2) {
69
- return ["", ErrSyntax];
124
+ // unhex returns the value of the hex digit byte b and whether b is a hex digit.
125
+ function unhex(b) {
126
+ if (b >= 0x30 && b <= 0x39) {
127
+ return [b - 0x30, true];
70
128
  }
71
- const quote = s[0];
72
- if (quote !== s[n - 1]) {
73
- return ["", ErrSyntax];
129
+ if (b >= 0x61 && b <= 0x66) {
130
+ return [b - 0x61 + 10, true];
74
131
  }
75
- s = s.slice(1, n - 1);
76
- if (quote === '`') {
77
- // Backquoted string - no escapes processed
78
- if (s.includes('`')) {
79
- return ["", ErrSyntax];
80
- }
81
- if (s.includes('\r')) {
82
- return ["", ErrSyntax];
132
+ if (b >= 0x41 && b <= 0x46) {
133
+ return [b - 0x41 + 10, true];
134
+ }
135
+ return [0, false];
136
+ }
137
+ // decodeRune decodes the UTF-8 rune at bytes[pos], returning the rune and the
138
+ // number of bytes consumed. Invalid sequences decode to U+FFFD with width 1,
139
+ // matching utf8.DecodeRune.
140
+ function decodeRune(bytes, pos) {
141
+ const b0 = bytes[pos];
142
+ if (b0 < 0x80) {
143
+ return [b0, 1];
144
+ }
145
+ let size;
146
+ let r;
147
+ if ((b0 & 0xe0) === 0xc0) {
148
+ size = 2;
149
+ r = b0 & 0x1f;
150
+ }
151
+ else if ((b0 & 0xf0) === 0xe0) {
152
+ size = 3;
153
+ r = b0 & 0x0f;
154
+ }
155
+ else if ((b0 & 0xf8) === 0xf0) {
156
+ size = 4;
157
+ r = b0 & 0x07;
158
+ }
159
+ else {
160
+ return [0xfffd, 1];
161
+ }
162
+ if (pos + size > bytes.length) {
163
+ return [0xfffd, 1];
164
+ }
165
+ for (let j = 1; j < size; j++) {
166
+ const cb = bytes[pos + j];
167
+ if ((cb & 0xc0) !== 0x80) {
168
+ return [0xfffd, 1];
83
169
  }
84
- return [s, null];
170
+ r = (r << 6) | (cb & 0x3f);
85
171
  }
86
- if (quote !== '"' && quote !== "'") {
87
- return ["", ErrSyntax];
172
+ return [r, size];
173
+ }
174
+ // unquoteCharBytes decodes the first character or byte in the escaped byte
175
+ // sequence starting at pos, returning [value, multibyte, newPos, err]. It is the
176
+ // byte-oriented core shared by the exported UnquoteChar and Unquote so that
177
+ // \xNN raw bytes and multibyte source runes round-trip exactly as in Go.
178
+ function unquoteCharBytes(bytes, pos, quote) {
179
+ if (pos >= bytes.length) {
180
+ return [0, false, pos, ErrSyntax];
88
181
  }
89
- // Use JSON.parse for double-quoted strings as a starting point
90
- if (quote === '"') {
91
- try {
92
- const result = JSON.parse('"' + s + '"');
93
- return [result, null];
94
- }
95
- catch {
96
- return ["", ErrSyntax];
97
- }
98
- }
99
- // Single-quoted string - should contain single rune
100
- if (quote === "'") {
101
- // Simplified: just handle basic cases
102
- if (s.length === 1) {
103
- return [s, null];
104
- }
105
- if (s.length === 2 && s[0] === '\\') {
106
- switch (s[1]) {
107
- case 'n': return ['\n', null];
108
- case 't': return ['\t', null];
109
- case 'r': return ['\r', null];
110
- case '\\': return ['\\', null];
111
- case "'": return ["'", null];
112
- default: return ["", ErrSyntax];
182
+ const c = bytes[pos];
183
+ if (c === quote && (quote === 0x27 || quote === 0x22)) {
184
+ return [0, false, pos, ErrSyntax];
185
+ }
186
+ if (c >= 0x80) {
187
+ const [r, size] = decodeRune(bytes, pos);
188
+ return [r, true, pos + size, null];
189
+ }
190
+ if (c !== 0x5c /* backslash */) {
191
+ return [c, false, pos + 1, null];
192
+ }
193
+ if (pos + 1 >= bytes.length) {
194
+ return [0, false, pos, ErrSyntax];
195
+ }
196
+ const e = bytes[pos + 1];
197
+ let p = pos + 2;
198
+ switch (e) {
199
+ case 0x61: // \a
200
+ return [0x07, false, p, null];
201
+ case 0x62: // \b
202
+ return [0x08, false, p, null];
203
+ case 0x66: // \f
204
+ return [0x0c, false, p, null];
205
+ case 0x6e: // \n
206
+ return [0x0a, false, p, null];
207
+ case 0x72: // \r
208
+ return [0x0d, false, p, null];
209
+ case 0x74: // \t
210
+ return [0x09, false, p, null];
211
+ case 0x76: // \v
212
+ return [0x0b, false, p, null];
213
+ case 0x78: // \x
214
+ case 0x75: // \u
215
+ case 0x55: { // \U
216
+ const n = e === 0x78 ? 2 : e === 0x75 ? 4 : 8;
217
+ if (p + n > bytes.length) {
218
+ return [0, false, pos, ErrSyntax];
219
+ }
220
+ let v = 0;
221
+ for (let j = 0; j < n; j++) {
222
+ const [x, ok] = unhex(bytes[p + j]);
223
+ if (!ok) {
224
+ return [0, false, pos, ErrSyntax];
225
+ }
226
+ v = (v << 4) | x;
227
+ }
228
+ p += n;
229
+ if (e === 0x78) {
230
+ return [v, false, p, null]; // single byte
231
+ }
232
+ if (v < 0 || v > 0x10ffff || (v >= 0xd800 && v <= 0xdfff)) {
233
+ return [0, false, pos, ErrSyntax]; // !utf8.ValidRune
113
234
  }
235
+ return [v, true, p, null];
114
236
  }
115
- return ["", ErrSyntax];
237
+ case 0x30:
238
+ case 0x31:
239
+ case 0x32:
240
+ case 0x33:
241
+ case 0x34:
242
+ case 0x35:
243
+ case 0x36:
244
+ case 0x37: { // octal \N
245
+ let v = e - 0x30;
246
+ if (p + 2 > bytes.length) {
247
+ return [0, false, pos, ErrSyntax];
248
+ }
249
+ for (let j = 0; j < 2; j++) {
250
+ const x = bytes[p + j] - 0x30;
251
+ if (x < 0 || x > 7) {
252
+ return [0, false, pos, ErrSyntax];
253
+ }
254
+ v = (v << 3) | x;
255
+ }
256
+ p += 2;
257
+ if (v > 255) {
258
+ return [0, false, pos, ErrSyntax];
259
+ }
260
+ return [v, false, p, null];
261
+ }
262
+ case 0x5c: // backslash
263
+ return [0x5c, false, p, null];
264
+ case 0x27: // '
265
+ case 0x22: // "
266
+ if (e !== quote) {
267
+ return [0, false, pos, ErrSyntax];
268
+ }
269
+ return [e, false, p, null];
270
+ default:
271
+ return [0, false, pos, ErrSyntax];
116
272
  }
117
- return ["", ErrSyntax];
118
273
  }
119
- // UnquoteChar decodes the first character or byte in the escaped string or character literal represented by the string s.
274
+ // UnquoteChar decodes the first character or byte in the escaped string or
275
+ // character literal represented by the string s. quote is the delimiting byte
276
+ // (' or "), or 0 to disallow neither.
120
277
  export function UnquoteChar(s, quote) {
121
- // Simplified implementation
122
- if (s.length === 0) {
123
- return [0, false, "", ErrSyntax];
278
+ const bytes = $.stringToBytes(s);
279
+ const [value, multibyte, newPos, err] = unquoteCharBytes(bytes, 0, quote);
280
+ if (err !== null) {
281
+ return [0, false, "", err];
124
282
  }
125
- const c = s.charCodeAt(0);
126
- if (c === quote) {
127
- return [0, false, "", ErrSyntax];
283
+ return [value, multibyte, $.bytesToString(bytes.subarray(newPos)), null];
284
+ }
285
+ // Unquote interprets s as a single-quoted, double-quoted, or backquoted Go
286
+ // string literal, returning the string value that s quotes.
287
+ export function Unquote(s) {
288
+ const bytes = $.stringToBytes(s);
289
+ const n = bytes.length;
290
+ if (n < 2) {
291
+ return ["", ErrSyntax];
292
+ }
293
+ const quote = bytes[0];
294
+ if (quote !== bytes[n - 1]) {
295
+ return ["", ErrSyntax];
296
+ }
297
+ const inner = bytes.subarray(1, n - 1);
298
+ if (quote === 0x60 /* ` */) {
299
+ for (let i = 0; i < inner.length; i++) {
300
+ if (inner[i] === 0x60) {
301
+ return ["", ErrSyntax];
302
+ }
303
+ }
304
+ if (inner.includes(0x0d)) {
305
+ const out = [];
306
+ for (let i = 0; i < inner.length; i++) {
307
+ if (inner[i] !== 0x0d) {
308
+ out.push(inner[i]);
309
+ }
310
+ }
311
+ return [$.bytesToString(Uint8Array.from(out)), null];
312
+ }
313
+ return [$.bytesToString(inner), null];
128
314
  }
129
- if (c !== 92) { // not backslash
130
- return [c, c >= 128, s.slice(1), null];
315
+ if (quote !== 0x22 && quote !== 0x27) {
316
+ return ["", ErrSyntax];
131
317
  }
132
- // Handle escape sequence - simplified
133
- if (s.length < 2) {
134
- return [0, false, "", ErrSyntax];
318
+ if (inner.includes(0x0a)) {
319
+ return ["", ErrSyntax]; // newline not allowed in " or ' literal
135
320
  }
136
- switch (s[1]) {
137
- case 'n': return [10, false, s.slice(2), null]; // \n
138
- case 't': return [9, false, s.slice(2), null]; // \t
139
- case 'r': return [13, false, s.slice(2), null]; // \r
140
- case '\\': return [92, false, s.slice(2), null]; // \\
141
- case '"': return [34, false, s.slice(2), null]; // \"
142
- case "'": return [39, false, s.slice(2), null]; // \'
143
- default: return [0, false, "", ErrSyntax];
321
+ // Fast path: no escape and no embedded quote byte.
322
+ if (!inner.includes(0x5c) && !inner.includes(quote)) {
323
+ if (quote === 0x22) {
324
+ return [$.bytesToString(inner), null];
325
+ }
326
+ // single-quoted: must hold exactly one rune
327
+ const [r, size] = decodeRune(inner, 0);
328
+ if (size === inner.length && (r !== 0xfffd || size !== 1)) {
329
+ return [$.bytesToString(inner), null];
330
+ }
331
+ }
332
+ const out = [];
333
+ let pos = 0;
334
+ while (pos < inner.length) {
335
+ const [c, multibyte, newPos, err] = unquoteCharBytes(inner, pos, quote);
336
+ if (err !== null) {
337
+ return ["", err];
338
+ }
339
+ pos = newPos;
340
+ if (c < 0x80 || !multibyte) {
341
+ out.push(c & 0xff);
342
+ }
343
+ else {
344
+ const enc = $.stringToBytes($.runeToString(c));
345
+ for (let j = 0; j < enc.length; j++) {
346
+ out.push(enc[j]);
347
+ }
348
+ }
349
+ if (quote === 0x27 && pos < inner.length) {
350
+ return ["", ErrSyntax]; // single-quoted must be one character
351
+ }
144
352
  }
353
+ return [$.bytesToString(Uint8Array.from(out)), null];
145
354
  }
146
355
  // QuotedPrefix returns the quoted string (as understood by Unquote) at the prefix of s.
147
356
  export function QuotedPrefix(s) {
@@ -207,11 +416,10 @@ export function AppendQuoteRuneToGraphic(dst, r) {
207
416
  }
208
417
  // IsPrint reports whether the rune is defined as printable by Go.
209
418
  export function IsPrint(r) {
210
- // Simplified: consider ASCII printable characters
211
- return r >= 32 && r <= 126;
419
+ return unicode.IsPrint(r);
212
420
  }
213
421
  // IsGraphic reports whether the rune is defined as a Graphic by Unicode.
214
422
  export function IsGraphic(r) {
215
- return IsPrint(r); // Simplified
423
+ return unicode.IsGraphic(r);
216
424
  }
217
425
  //# sourceMappingURL=quote.gs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quote.gs.js","sourceRoot":"","sources":["../../../gs/strconv/quote.gs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quote.gs.js","sourceRoot":"","sources":["../../../gs/strconv/quote.gs.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export declare class Reader {
26
26
  UnreadByte(): $.GoError;
27
27
  ReadRune(): [number, number, $.GoError];
28
28
  UnreadRune(): $.GoError;
29
- Seek(offset: number, whence: number): [number, $.GoError];
29
+ Seek(offset: bigint, whence: number): [bigint, $.GoError];
30
30
  WriteTo(w: io.Writer): Promise<[number, $.GoError]>;
31
31
  Reset(s: string): void;
32
32
  static __typeInfo: $.StructTypeInfo;
@@ -138,30 +138,30 @@ export class Reader {
138
138
  r.prevRune = -1;
139
139
  return null;
140
140
  }
141
- // Seek implements the [io.Seeker] interface.
141
+ // Seek implements the [io.Seeker] interface. offset is a Go int64 (bigint);
142
+ // the internal read index stays a number for string slicing.
142
143
  Seek(offset, whence) {
143
144
  const r = this;
144
145
  r.prevRune = -1;
145
146
  let abs;
146
147
  switch (whence) {
147
148
  case io.SeekStart:
148
- abs = offset;
149
+ abs = Number(offset);
149
150
  break;
150
151
  case io.SeekCurrent:
151
- abs = r.i + offset;
152
+ abs = r.i + Number(offset);
152
153
  break;
153
154
  case io.SeekEnd:
154
- abs = $.len(r.s) + offset;
155
+ abs = $.len(r.s) + Number(offset);
155
156
  break;
156
157
  default:
157
- return [0, $.newError('strings.Reader.Seek: invalid whence')];
158
- break;
158
+ return [0n, $.newError('strings.Reader.Seek: invalid whence')];
159
159
  }
160
160
  if (abs < 0) {
161
- return [0, $.newError('strings.Reader.Seek: negative position')];
161
+ return [0n, $.newError('strings.Reader.Seek: negative position')];
162
162
  }
163
163
  r.i = abs;
164
- return [abs, null];
164
+ return [BigInt(abs), null];
165
165
  }
166
166
  // WriteTo implements the [io.WriterTo] interface.
167
167
  async WriteTo(w) {
@@ -1 +1 @@
1
- {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../gs/strings/reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../gs/strings/reader.ts"],"names":[],"mappings":"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"}