@scriptc/cli-darwin-arm64 0.2.0 → 0.2.1

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 (242) hide show
  1. package/dist/THIRD_PARTY_NOTICES +1 -1
  2. package/dist/bin/scriptc +0 -0
  3. package/dist/bin/scriptc.json +1 -1
  4. package/dist/lib/declarations/scriptc-node-fallback.d.ts +25 -15
  5. package/dist/lib/llvm/bin/scriptc-llvm-codegen +0 -0
  6. package/dist/lib/llvm/package.json +1 -1
  7. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_array.o +0 -0
  8. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_assert.o +0 -0
  9. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_async.o +0 -0
  10. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_async_dyn.o +0 -0
  11. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_bigint.o +0 -0
  12. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_bytes.o +0 -0
  13. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_bytes_io.o +0 -0
  14. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_child.o +0 -0
  15. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_console.o +0 -0
  16. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_console_native.o +0 -0
  17. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_dyn_invoke.o +0 -0
  18. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_error.o +0 -0
  19. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_events.o +0 -0
  20. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_exception.o +0 -0
  21. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_fetch.o +0 -0
  22. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_file_handle.o +0 -0
  23. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_grapheme.o +0 -0
  24. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_http.o +0 -0
  25. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_http2.o +0 -0
  26. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_json.o +0 -0
  27. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_lib.o +0 -0
  28. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_map.o +0 -0
  29. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_net.o +0 -0
  30. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_node_builtin.o +0 -0
  31. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_object.o +0 -0
  32. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_regex.o +0 -0
  33. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_stream.o +0 -0
  34. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_string.o +0 -0
  35. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_symbol.o +0 -0
  36. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/default/scr_url.o +0 -0
  37. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_array.o +0 -0
  38. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_assert.o +0 -0
  39. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_async.o +0 -0
  40. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_async_dyn.o +0 -0
  41. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_bigint.o +0 -0
  42. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_bytes.o +0 -0
  43. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_bytes_io.o +0 -0
  44. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_child.o +0 -0
  45. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_console.o +0 -0
  46. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_console_native.o +0 -0
  47. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_dyn_invoke.o +0 -0
  48. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_error.o +0 -0
  49. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_events.o +0 -0
  50. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_exception.o +0 -0
  51. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_file_handle.o +0 -0
  52. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_grapheme.o +0 -0
  53. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_http.o +0 -0
  54. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_http2.o +0 -0
  55. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_island.o +0 -0
  56. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_json.o +0 -0
  57. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_lib.o +0 -0
  58. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_map.o +0 -0
  59. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_net.o +0 -0
  60. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_node_builtin.o +0 -0
  61. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_object.o +0 -0
  62. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_regex.o +0 -0
  63. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_stream.o +0 -0
  64. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_string.o +0 -0
  65. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_symbol.o +0 -0
  66. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic/scr_url.o +0 -0
  67. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
  68. package/dist/lib/runtime-darwin-arm64/artifacts/dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  69. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_array.o +0 -0
  70. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_assert.o +0 -0
  71. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_bigint.o +0 -0
  72. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_bytes.o +0 -0
  73. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_bytes_io.o +0 -0
  74. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_console_native.o +0 -0
  75. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_dyn_invoke.o +0 -0
  76. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_error.o +0 -0
  77. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_exception.o +0 -0
  78. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_grapheme.o +0 -0
  79. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_json.o +0 -0
  80. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_lib.o +0 -0
  81. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_map.o +0 -0
  82. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_node_builtin.o +0 -0
  83. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_object.o +0 -0
  84. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_regex.o +0 -0
  85. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_string.o +0 -0
  86. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_symbol.o +0 -0
  87. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/default/scr_url.o +0 -0
  88. package/dist/lib/runtime-darwin-arm64/artifacts/library-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  89. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_array.o +0 -0
  90. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_assert.o +0 -0
  91. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_bigint.o +0 -0
  92. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_bytes.o +0 -0
  93. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_bytes_io.o +0 -0
  94. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_console_native.o +0 -0
  95. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_dyn_invoke.o +0 -0
  96. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_error.o +0 -0
  97. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_exception.o +0 -0
  98. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_grapheme.o +0 -0
  99. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_json.o +0 -0
  100. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_lib.o +0 -0
  101. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_map.o +0 -0
  102. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_node_builtin.o +0 -0
  103. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_object.o +0 -0
  104. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_regex.o +0 -0
  105. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_string.o +0 -0
  106. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_symbol.o +0 -0
  107. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/default/scr_url.o +0 -0
  108. package/dist/lib/runtime-darwin-arm64/artifacts/library-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  109. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_array.o +0 -0
  110. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_assert.o +0 -0
  111. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_bigint.o +0 -0
  112. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_bytes.o +0 -0
  113. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_bytes_io.o +0 -0
  114. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_console_native.o +0 -0
  115. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_dyn_invoke.o +0 -0
  116. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_error.o +0 -0
  117. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_exception.o +0 -0
  118. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_grapheme.o +0 -0
  119. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_json.o +0 -0
  120. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_lib.o +0 -0
  121. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_map.o +0 -0
  122. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_node_builtin.o +0 -0
  123. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_object.o +0 -0
  124. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_regex.o +0 -0
  125. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_string.o +0 -0
  126. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_symbol.o +0 -0
  127. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/default/scr_url.o +0 -0
  128. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  129. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_array.o +0 -0
  130. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_assert.o +0 -0
  131. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_bigint.o +0 -0
  132. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_bytes.o +0 -0
  133. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_bytes_io.o +0 -0
  134. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_console_native.o +0 -0
  135. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_dyn_invoke.o +0 -0
  136. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_error.o +0 -0
  137. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_exception.o +0 -0
  138. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_grapheme.o +0 -0
  139. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_json.o +0 -0
  140. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_lib.o +0 -0
  141. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_map.o +0 -0
  142. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_node_builtin.o +0 -0
  143. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_object.o +0 -0
  144. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_regex.o +0 -0
  145. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_string.o +0 -0
  146. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_symbol.o +0 -0
  147. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/default/scr_url.o +0 -0
  148. package/dist/lib/runtime-darwin-arm64/artifacts/library-thread-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  149. package/dist/lib/runtime-darwin-arm64/artifacts/licenses/v8-number-radix.txt +61 -0
  150. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_array.o +0 -0
  151. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_assert.o +0 -0
  152. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_async.o +0 -0
  153. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_async_dyn.o +0 -0
  154. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_bigint.o +0 -0
  155. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_bytes.o +0 -0
  156. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_bytes_io.o +0 -0
  157. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_child.o +0 -0
  158. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_console.o +0 -0
  159. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_console_native.o +0 -0
  160. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_dyn_invoke.o +0 -0
  161. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_error.o +0 -0
  162. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_events.o +0 -0
  163. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_exception.o +0 -0
  164. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_fetch.o +0 -0
  165. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_file_handle.o +0 -0
  166. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_grapheme.o +0 -0
  167. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_http.o +0 -0
  168. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_http2.o +0 -0
  169. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_json.o +0 -0
  170. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_lib.o +0 -0
  171. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_map.o +0 -0
  172. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_net.o +0 -0
  173. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_node_builtin.o +0 -0
  174. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_object.o +0 -0
  175. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_regex.o +0 -0
  176. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_stream.o +0 -0
  177. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_string.o +0 -0
  178. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_symbol.o +0 -0
  179. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/default/scr_url.o +0 -0
  180. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_array.o +0 -0
  181. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_assert.o +0 -0
  182. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_async.o +0 -0
  183. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_async_dyn.o +0 -0
  184. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_bigint.o +0 -0
  185. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_bytes.o +0 -0
  186. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_bytes_io.o +0 -0
  187. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_child.o +0 -0
  188. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_console.o +0 -0
  189. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_console_native.o +0 -0
  190. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_dyn_invoke.o +0 -0
  191. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_error.o +0 -0
  192. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_events.o +0 -0
  193. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_exception.o +0 -0
  194. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_file_handle.o +0 -0
  195. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_grapheme.o +0 -0
  196. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_http.o +0 -0
  197. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_http2.o +0 -0
  198. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_island.o +0 -0
  199. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_json.o +0 -0
  200. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_lib.o +0 -0
  201. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_map.o +0 -0
  202. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_net.o +0 -0
  203. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_node_builtin.o +0 -0
  204. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_object.o +0 -0
  205. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_regex.o +0 -0
  206. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_stream.o +0 -0
  207. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_string.o +0 -0
  208. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_symbol.o +0 -0
  209. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic/scr_url.o +0 -0
  210. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
  211. package/dist/lib/runtime-darwin-arm64/artifacts/release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  212. package/dist/lib/runtime-darwin-arm64/package.json +1 -1
  213. package/dist/lib/runtime-darwin-arm64/runtime-pack.json +529 -525
  214. package/dist/lib/runtime-sources/package.json +1 -1
  215. package/dist/lib/runtime-sources/src/scr_array.c +16 -0
  216. package/dist/lib/runtime-sources/src/scr_assert.c +1 -0
  217. package/dist/lib/runtime-sources/src/scr_async.c +26 -1
  218. package/dist/lib/runtime-sources/src/scr_async_dyn.c +90 -16
  219. package/dist/lib/runtime-sources/src/scr_bigint.c +8 -0
  220. package/dist/lib/runtime-sources/src/scr_bytes.c +205 -41
  221. package/dist/lib/runtime-sources/src/scr_bytes_io.c +581 -12
  222. package/dist/lib/runtime-sources/src/scr_child.c +544 -17
  223. package/dist/lib/runtime-sources/src/scr_console.c +1 -1
  224. package/dist/lib/runtime-sources/src/scr_dyn_invoke.c +164 -31
  225. package/dist/lib/runtime-sources/src/scr_error.c +52 -5
  226. package/dist/lib/runtime-sources/src/scr_exception.c +21 -5
  227. package/dist/lib/runtime-sources/src/scr_fetch.c +266 -2
  228. package/dist/lib/runtime-sources/src/scr_http.c +3 -0
  229. package/dist/lib/runtime-sources/src/scr_island.c +38 -13
  230. package/dist/lib/runtime-sources/src/scr_json.c +1149 -91
  231. package/dist/lib/runtime-sources/src/scr_map.c +47 -0
  232. package/dist/lib/runtime-sources/src/scr_node_builtin.c +10 -0
  233. package/dist/lib/runtime-sources/src/scr_object.c +11 -0
  234. package/dist/lib/runtime-sources/src/scr_regex.c +108 -69
  235. package/dist/lib/runtime-sources/src/scr_runtime.h +190 -33
  236. package/dist/lib/runtime-sources/src/scr_stream.c +197 -0
  237. package/dist/lib/runtime-sources/src/scr_string.c +16 -1
  238. package/dist/lib/runtime-sources/src/scr_symbol.c +5 -0
  239. package/dist/lib/runtime-sources/src/scr_text_decoder_labels.h +225 -0
  240. package/dist/lib/runtime-sources/src/scr_url.c +172 -3
  241. package/dist/lib/runtime-sources/vendor/v8-number-radix/LICENSE +61 -0
  242. package/package.json +1 -1
@@ -2446,6 +2446,59 @@ void scr_stream_unshift_str(ScrStream *s, ScrStr *str) {
2446
2446
  scr_bytes_release(b);
2447
2447
  }
2448
2448
 
2449
+ static void scr_stream_listener_error(ScrClosure *adapter, ScrError *error) {
2450
+ ScrDyn *fn = scr_dyn_listener_fn(adapter);
2451
+ ScrDyn *arg = scr_dyn_from_error(error);
2452
+ ScrDyn *answer = scr_dyn_call(fn, &arg, 1, "listener");
2453
+ scr_dyn_release(answer);
2454
+ scr_dyn_release(arg);
2455
+ scr_dyn_release(fn);
2456
+ }
2457
+
2458
+ static void scr_stream_listener_data(ScrClosure *adapter, ScrBytes *bytes, ScrStr *string) {
2459
+ ScrDyn *fn = scr_dyn_listener_fn(adapter);
2460
+ ScrDyn *arg = string ? scr_dyn_new_str(string) : scr_dyn_new_bytes(bytes);
2461
+ ScrDyn *answer = scr_dyn_call(fn, &arg, 1, "listener");
2462
+ scr_dyn_release(answer);
2463
+ scr_dyn_release(arg);
2464
+ scr_dyn_release(fn);
2465
+ }
2466
+
2467
+ ScrStream *scr_stream_on_dyn(ScrStream *s, ScrStr *name, ScrDyn *cb, bool once, bool prepend) {
2468
+ if (name->len == 4 && !memcmp(name->data, "data", 4)) {
2469
+ return (ScrStream *)scr_emitter_on_dyn((ScrEmitter *)s, name, cb,
2470
+ scr_dyn_listener_closure_fn(cb, (void *)scr_stream_listener_data),
2471
+ scr_ee_inv_fixed2, once, prepend);
2472
+ }
2473
+ bool error = name->len == 5 && memcmp(name->data, "error", 5) == 0;
2474
+ bool empty = (name->len == 8 && memcmp(name->data, "readable", 8) == 0) ||
2475
+ (name->len == 3 && memcmp(name->data, "end", 3) == 0) ||
2476
+ (name->len == 5 && memcmp(name->data, "close", 5) == 0) ||
2477
+ (name->len == 6 && memcmp(name->data, "finish", 6) == 0) ||
2478
+ (name->len == 5 && memcmp(name->data, "drain", 5) == 0) ||
2479
+ (name->len == 6 && memcmp(name->data, "resume", 6) == 0) ||
2480
+ (name->len == 5 && memcmp(name->data, "pause", 5) == 0) ||
2481
+ (name->len == 9 && memcmp(name->data, "prefinish", 9) == 0);
2482
+ if (error || empty) {
2483
+ ScrClosure *adapter = error ? scr_dyn_listener_closure_fn(cb, (void *)&scr_stream_listener_error) : scr_dyn_listener_closure0(cb);
2484
+ return (ScrStream *)scr_emitter_on_dyn((ScrEmitter *)s, name, cb, adapter,
2485
+ error ? scr_ee_inv_fixed1 : scr_ee_inv_fixed0, once, prepend);
2486
+ }
2487
+ static const char message[] = "this stream event has no checked-dynamic listener adapter";
2488
+ scr_throw_error_msg_code(SCR_ERR_ERROR, message, sizeof message - 1, "SC2020");
2489
+ return NULL;
2490
+ }
2491
+
2492
+ ScrDyn *scr_stream_read_dyn(ScrStream *s, ScrDyn *size) {
2493
+ double n = size && size->kind != SCR_DYN_UNDEF ? scr_dyn_number_coerce(size) : -1;
2494
+ if (scr_exc_pending()) return scr_dyn_undefined();
2495
+ void *chunk = s->st->has_r ? scr_stream_read_n(s, n) : NULL;
2496
+ if (!chunk) return scr_dyn_new_null();
2497
+ ScrDyn *result = s->st->r.encoded ? scr_dyn_new_str(chunk) : scr_dyn_new_buffer(chunk);
2498
+ scr_stream_entry_release(s->st, chunk);
2499
+ return result;
2500
+ }
2501
+
2449
2502
  ScrBytes *scr_stream_read(ScrStream *s, double size) {
2450
2503
  /* a destroyed readable still DRAINS its buffer (Node: destroy leaves
2451
2504
  * buffered chunks readable; only _read refills are blocked) */
@@ -3147,3 +3200,147 @@ void scr_stream_install(void) {
3147
3200
  scr_emitter_on_hook = &scr_stream_on_listener;
3148
3201
  scr_loop_set_stream(&scr_stream_ticks_pending, &scr_stream_dispatch);
3149
3202
  }
3203
+
3204
+ /* Child stdio uses the standard stream machinery once it crosses generic
3205
+ * storage. Child-only programs never reference this optional table. */
3206
+ static void scr_stream_child_read(ScrClosure *cb, ScrStream *s, double size) {
3207
+ (void)cb; (void)s; (void)size;
3208
+ }
3209
+ static ScrStream *scr_stream_child_readable(void) {
3210
+ return scr_stream_new_readable(-1, true, true,
3211
+ scr_closure_new((void *)scr_stream_child_read, 0), scr_stream_child_read,
3212
+ NULL, NULL);
3213
+ }
3214
+ static ScrStream *scr_stream_child_writable(ScrClosure *write, ScrStreamChunkInv write_inv,
3215
+ ScrClosure *final_cb, ScrStreamPlainInv final_inv) {
3216
+ return scr_stream_new_writable(-1, true, true, write, write_inv,
3217
+ final_cb, final_inv, NULL, NULL);
3218
+ }
3219
+ const ScrChildStreamOps scr_stream_child_ops = {
3220
+ scr_stream_child_readable, scr_stream_child_writable,
3221
+ scr_stream_retain_v, scr_stream_release_v, scr_stream_trace,
3222
+ scr_stream_push, scr_stream_push_null,
3223
+ scr_stream_write_done, scr_stream_final_done,
3224
+ };
3225
+
3226
+ static ScrStream *scr_stream_view_receiver(const ScrDyn *value) {
3227
+ if (value->kind == SCR_DYN_TYPED_REF && value->v.typed_ref.type_key_len > 7 &&
3228
+ !memcmp(value->v.typed_ref.type_key, "object:", 7)) {
3229
+ ScrStream *stream = scr_dyn_typed_ref_unbox(value);
3230
+ const ScrVt *vt = stream->vt;
3231
+ if ((vt->pre >= scr_readable_vt.pre && vt->pre <= scr_readable_vt.post) ||
3232
+ (vt->pre >= scr_writable_vt.pre && vt->pre <= scr_writable_vt.post)) return stream;
3233
+ value->v.typed_ref.release(stream);
3234
+ }
3235
+ scr_dyn_arg_type_fail("destination", "an instance of Stream", value);
3236
+ return NULL;
3237
+ }
3238
+
3239
+ static ScrDyn *scr_stream_view_call(ScrClosure *cb, ScrDyn *const *args, size_t argc) {
3240
+ ScrStream *stream = scr_box_get_ref(cb->caps[0]);
3241
+ ScrStr *name = scr_box_get_ref(cb->caps[1]);
3242
+ const char *method = name->data;
3243
+ ScrDyn *result = NULL;
3244
+ ScrDyn *first = argc ? args[0] : scr_dyn_undefined();
3245
+ if (!strcmp(method, "on") || !strcmp(method, "once") || !strcmp(method, "addListener") ||
3246
+ !strcmp(method, "prependListener") || !strcmp(method, "prependOnceListener")) {
3247
+ if (first->kind != SCR_DYN_STR) scr_dyn_arg_type_fail("event", "of type string", first);
3248
+ else {
3249
+ ScrStream *registered = scr_stream_on_dyn(stream, first->v.str,
3250
+ argc > 1 ? args[1] : scr_dyn_undefined(),
3251
+ !strcmp(method, "once") || !strcmp(method, "prependOnceListener"),
3252
+ !strncmp(method, "prepend", 7));
3253
+ scr_stream_release(registered);
3254
+ }
3255
+ } else if (!strcmp(method, "off") || !strcmp(method, "removeListener")) {
3256
+ if (first->kind != SCR_DYN_STR) scr_dyn_arg_type_fail("event", "of type string", first);
3257
+ else {
3258
+ ScrEmitter *registered = scr_emitter_off_dyn((ScrEmitter *)stream, first->v.str,
3259
+ argc > 1 ? args[1] : scr_dyn_undefined());
3260
+ scr_emitter_release(registered);
3261
+ }
3262
+ } else if (!strcmp(method, "pipe") || !strcmp(method, "unpipe")) {
3263
+ ScrStream *destination = first->kind == SCR_DYN_UNDEF && !strcmp(method, "unpipe")
3264
+ ? NULL : scr_stream_view_receiver(first);
3265
+ if (!scr_exc_pending()) {
3266
+ bool end = true;
3267
+ if (argc > 1 && args[1]->kind != SCR_DYN_UNDEF) {
3268
+ ScrDyn *option = scr_dyn_obj_read(args[1], "end", 3);
3269
+ end = option->kind == SCR_DYN_UNDEF || scr_dyn_truthy(option);
3270
+ scr_dyn_release(option);
3271
+ }
3272
+ ScrStream *returned = !strcmp(method, "pipe")
3273
+ ? scr_stream_pipe(stream, destination, end) : scr_stream_unpipe(stream, destination);
3274
+ scr_stream_release(returned);
3275
+ if (!strcmp(method, "pipe") && !scr_exc_pending()) result = scr_dyn_retain(first);
3276
+ }
3277
+ scr_stream_release(destination);
3278
+ } else if (!strcmp(method, "read")) result = scr_stream_read_dyn(stream, first);
3279
+ else if (!strcmp(method, "pause") || !strcmp(method, "resume")) {
3280
+ ScrStream *returned = !strcmp(method, "pause") ? scr_stream_pause(stream) : scr_stream_resume(stream);
3281
+ scr_stream_release(returned);
3282
+ } else if (!strcmp(method, "isPaused")) result = scr_dyn_new_bool(scr_stream_is_paused(stream));
3283
+ else if (!strcmp(method, "setEncoding")) {
3284
+ if (first->kind != SCR_DYN_STR) scr_dyn_arg_type_fail("encoding", "of type string", first);
3285
+ else scr_stream_release(scr_stream_set_encoding(stream, first->v.str));
3286
+ } else if (!strcmp(method, "write")) {
3287
+ if (argc > 1 && args[1]->kind != SCR_DYN_UNDEF) {
3288
+ static const char message[] = "Native stream method values with write encodings or callbacks have no lowering";
3289
+ scr_throw_error_msg_code(SCR_ERR_ERROR, message, sizeof message - 1, "SC2020");
3290
+ } else result = scr_dyn_new_bool(scr_stream_write_dyn(stream, first, NULL));
3291
+ } else if (!strcmp(method, "end")) {
3292
+ if (argc > 1 && args[1]->kind != SCR_DYN_UNDEF) {
3293
+ static const char message[] = "Native stream method values with end encodings or callbacks have no lowering";
3294
+ scr_throw_error_msg_code(SCR_ERR_ERROR, message, sizeof message - 1, "SC2020");
3295
+ } else if (first->kind == SCR_DYN_UNDEF || first->kind == SCR_DYN_NULL) {
3296
+ scr_stream_release(scr_stream_end(stream, NULL, NULL, NULL));
3297
+ } else if (first->kind == SCR_DYN_STR) {
3298
+ scr_stream_release(scr_stream_end(stream, NULL, first->v.str, NULL));
3299
+ } else if (first->kind == SCR_DYN_BYTES) {
3300
+ scr_stream_release(scr_stream_end(stream, first->v.bytes, NULL, NULL));
3301
+ } else scr_dyn_arg_type_fail("chunk", "of type string or an instance of Buffer or Uint8Array", first);
3302
+ } else if (!strcmp(method, "destroy")) {
3303
+ ScrError *error = first->kind == SCR_DYN_UNDEF || first->kind == SCR_DYN_NULL ? NULL : scr_error_from_dyn(first);
3304
+ scr_stream_release(scr_stream_destroy(stream, error));
3305
+ scr_error_release(error);
3306
+ } else if (!strcmp(method, "cork")) scr_stream_cork(stream);
3307
+ else if (!strcmp(method, "uncork")) scr_stream_uncork(stream);
3308
+ if (!result && !scr_exc_pending()) result = scr_dyn_this_get();
3309
+ scr_str_release(name);
3310
+ scr_stream_release(stream);
3311
+ return result;
3312
+ }
3313
+
3314
+ ScrDyn *scr_stream_dyn_view(ScrStream *stream) {
3315
+ ScrDyn *view = scr_dyn_new_obj();
3316
+ ScrDyn *prototype = scr_dyn_new_obj();
3317
+ static const char *const methods[] = {
3318
+ "on", "once", "addListener", "prependListener", "prependOnceListener",
3319
+ "off", "removeListener", "pipe", "unpipe", "read", "pause", "resume", "isPaused",
3320
+ "setEncoding", "write", "end", "destroy", "cork", "uncork",
3321
+ };
3322
+ for (size_t i = 0; i < sizeof methods / sizeof *methods; i++) {
3323
+ ScrClosure *cb = scr_closure_new((void *)scr_stream_view_call, 2);
3324
+ cb->caps[0] = scr_box_new_obj(scr_stream_retain_v, scr_stream_release_v, scr_stream_trace);
3325
+ cb->caps[1] = scr_box_new(SCR_BOX_STR);
3326
+ scr_box_set_ref(cb->caps[0], scr_stream_retain(stream));
3327
+ scr_box_set_ref(cb->caps[1], scr_str_new(methods[i], strlen(methods[i])));
3328
+ scr_dyn_obj_set(prototype, methods[i], strlen(methods[i]),
3329
+ scr_dyn_new_func(cb, scr_stream_view_call, 0, "native stream method", methods[i]));
3330
+ }
3331
+ static const char *const properties[] = {
3332
+ "readable", "readableEnded", "readableLength", "readableHighWaterMark",
3333
+ "writable", "writableEnded", "writableFinished", "writableLength", "writableHighWaterMark",
3334
+ "writableNeedDrain", "destroyed", "closed",
3335
+ };
3336
+ for (size_t i = 0; i < sizeof properties / sizeof *properties; i++) {
3337
+ double value = scr_stream_prop(stream, properties[i]);
3338
+ bool number = strstr(properties[i], "Length") || strstr(properties[i], "HighWaterMark");
3339
+ scr_dyn_obj_set(view, properties[i], strlen(properties[i]),
3340
+ number ? scr_dyn_new_num(value) : scr_dyn_new_bool(value != 0));
3341
+ }
3342
+ ScrDyn *attached = scr_dyn_set_prototype(view, prototype);
3343
+ scr_dyn_release(attached);
3344
+ scr_dyn_release(prototype);
3345
+ return view;
3346
+ }
@@ -1790,7 +1790,7 @@ static int scr_uri_hex_byte(const char *p, size_t rem) {
1790
1790
  * querystring unit's unescape needs exactly the try/catch shape Node's
1791
1791
  * qsUnescape wraps around decodeURIComponent (scr_qs.c), and the throwing
1792
1792
  * entry point below stays byte-identical by rethrowing over NULL. */
1793
- ScrStr *scr_str_decode_uri_component_try(ScrStr *s) {
1793
+ static ScrStr *scr_str_decode_uri_try(ScrStr *s, bool reserved) {
1794
1794
  /* Decoding only ever shrinks (%XX → 1 byte), so len is a safe cap. */
1795
1795
  ScrStr *out = scr_str_alloc_raw(0, s->len);
1796
1796
  size_t w = 0;
@@ -1805,6 +1805,11 @@ ScrStr *scr_str_decode_uri_component_try(ScrStr *s) {
1805
1805
  if (b0 < 0) goto malformed;
1806
1806
  i += 3;
1807
1807
  if (b0 < 0x80) {
1808
+ if (reserved && b0 != 0 && strchr(";/?:@&=+$,#", b0)) {
1809
+ memcpy(out->data + w, p + i - 3, 3);
1810
+ w += 3;
1811
+ continue;
1812
+ }
1808
1813
  /* The empty component reserved set: every ASCII escape decodes. */
1809
1814
  out->data[w++] = (char)b0;
1810
1815
  continue;
@@ -1839,6 +1844,16 @@ malformed:
1839
1844
  return NULL;
1840
1845
  }
1841
1846
 
1847
+ ScrStr *scr_str_decode_uri_component_try(ScrStr *s) {
1848
+ return scr_str_decode_uri_try(s, false);
1849
+ }
1850
+
1851
+ ScrStr *scr_str_decode_uri(ScrStr *s) {
1852
+ ScrStr *out = scr_str_decode_uri_try(s, true);
1853
+ if (!out) scr_uri_malformed();
1854
+ return out;
1855
+ }
1856
+
1842
1857
  ScrStr *scr_str_decode_uri_component(ScrStr *s) {
1843
1858
  ScrStr *out = scr_str_decode_uri_component_try(s);
1844
1859
  if (!out) {
@@ -85,6 +85,11 @@ ScrSym *scr_sym_well_known(ScrStr *name) {
85
85
  scr_dyn_install_iterator_symbol(key);
86
86
  scr_dyn_release(key);
87
87
  }
88
+ if (name->len == 13 && !memcmp(name->data, "asyncIterator", 13)) {
89
+ ScrDyn *key = scr_dyn_new_symbol(symbol);
90
+ scr_dyn_install_async_iterator_symbol(key);
91
+ scr_dyn_release(key);
92
+ }
88
93
  return symbol;
89
94
  }
90
95
 
@@ -0,0 +1,225 @@
1
+ /* Generated by scripts/gen-text-decoder-labels.mts. Do not edit by hand. */
2
+ static const struct { const char *label; int encoding; } scr_td_labels[] = {
3
+ {"unicode-1-1-utf-8", -1},
4
+ {"unicode11utf8", -1},
5
+ {"unicode20utf8", -1},
6
+ {"utf-8", -1},
7
+ {"utf8", -1},
8
+ {"x-unicode20utf8", -1},
9
+ {"866", 0},
10
+ {"cp866", 0},
11
+ {"csibm866", 0},
12
+ {"ibm866", 0},
13
+ {"csisolatin2", 1},
14
+ {"iso-8859-2", 1},
15
+ {"iso-ir-101", 1},
16
+ {"iso8859-2", 1},
17
+ {"iso88592", 1},
18
+ {"iso_8859-2", 1},
19
+ {"iso_8859-2:1987", 1},
20
+ {"l2", 1},
21
+ {"latin2", 1},
22
+ {"csisolatin3", 2},
23
+ {"iso-8859-3", 2},
24
+ {"iso-ir-109", 2},
25
+ {"iso8859-3", 2},
26
+ {"iso88593", 2},
27
+ {"iso_8859-3", 2},
28
+ {"iso_8859-3:1988", 2},
29
+ {"l3", 2},
30
+ {"latin3", 2},
31
+ {"csisolatin4", 3},
32
+ {"iso-8859-4", 3},
33
+ {"iso-ir-110", 3},
34
+ {"iso8859-4", 3},
35
+ {"iso88594", 3},
36
+ {"iso_8859-4", 3},
37
+ {"iso_8859-4:1988", 3},
38
+ {"l4", 3},
39
+ {"latin4", 3},
40
+ {"csisolatincyrillic", 4},
41
+ {"cyrillic", 4},
42
+ {"iso-8859-5", 4},
43
+ {"iso-ir-144", 4},
44
+ {"iso8859-5", 4},
45
+ {"iso88595", 4},
46
+ {"iso_8859-5", 4},
47
+ {"iso_8859-5:1988", 4},
48
+ {"arabic", 5},
49
+ {"asmo-708", 5},
50
+ {"csiso88596e", 5},
51
+ {"csiso88596i", 5},
52
+ {"csisolatinarabic", 5},
53
+ {"ecma-114", 5},
54
+ {"iso-8859-6", 5},
55
+ {"iso-8859-6-e", 5},
56
+ {"iso-8859-6-i", 5},
57
+ {"iso-ir-127", 5},
58
+ {"iso8859-6", 5},
59
+ {"iso88596", 5},
60
+ {"iso_8859-6", 5},
61
+ {"iso_8859-6:1987", 5},
62
+ {"csisolatingreek", 6},
63
+ {"ecma-118", 6},
64
+ {"elot_928", 6},
65
+ {"greek", 6},
66
+ {"greek8", 6},
67
+ {"iso-8859-7", 6},
68
+ {"iso-ir-126", 6},
69
+ {"iso8859-7", 6},
70
+ {"iso88597", 6},
71
+ {"iso_8859-7", 6},
72
+ {"iso_8859-7:1987", 6},
73
+ {"sun_eu_greek", 6},
74
+ {"csiso88598e", 7},
75
+ {"csiso88598i", 7},
76
+ {"csisolatinhebrew", 7},
77
+ {"hebrew", 7},
78
+ {"iso-8859-8", 7},
79
+ {"iso-8859-8-e", 7},
80
+ {"iso-8859-8-i", 7},
81
+ {"iso-ir-138", 7},
82
+ {"iso8859-8", 7},
83
+ {"iso88598", 7},
84
+ {"iso_8859-8", 7},
85
+ {"iso_8859-8:1988", 7},
86
+ {"logical", 7},
87
+ {"visual", 7},
88
+ {"csisolatin6", 8},
89
+ {"iso-8859-10", 8},
90
+ {"iso-ir-157", 8},
91
+ {"iso8859-10", 8},
92
+ {"iso885910", 8},
93
+ {"l6", 8},
94
+ {"latin6", 8},
95
+ {"iso-8859-13", 9},
96
+ {"iso8859-13", 9},
97
+ {"iso885913", 9},
98
+ {"iso-8859-14", 10},
99
+ {"iso8859-14", 10},
100
+ {"iso885914", 10},
101
+ {"csisolatin9", 11},
102
+ {"iso-8859-15", 11},
103
+ {"iso8859-15", 11},
104
+ {"iso885915", 11},
105
+ {"iso_8859-15", 11},
106
+ {"l9", 11},
107
+ {"iso-8859-16", 12},
108
+ {"cskoi8r", 13},
109
+ {"koi", 13},
110
+ {"koi8", 13},
111
+ {"koi8-r", 13},
112
+ {"koi8_r", 13},
113
+ {"koi8-ru", 14},
114
+ {"koi8-u", 14},
115
+ {"csmacintosh", 15},
116
+ {"mac", 15},
117
+ {"macintosh", 15},
118
+ {"x-mac-roman", 15},
119
+ {"dos-874", 16},
120
+ {"iso-8859-11", 16},
121
+ {"iso8859-11", 16},
122
+ {"iso885911", 16},
123
+ {"tis-620", 16},
124
+ {"windows-874", 16},
125
+ {"cp1250", 17},
126
+ {"windows-1250", 17},
127
+ {"x-cp1250", 17},
128
+ {"cp1251", 18},
129
+ {"windows-1251", 18},
130
+ {"x-cp1251", 18},
131
+ {"ansi_x3.4-1968", 19},
132
+ {"ascii", 19},
133
+ {"cp1252", 19},
134
+ {"cp819", 19},
135
+ {"csisolatin1", 19},
136
+ {"ibm819", 19},
137
+ {"iso-8859-1", 19},
138
+ {"iso-ir-100", 19},
139
+ {"iso8859-1", 19},
140
+ {"iso88591", 19},
141
+ {"iso_8859-1", 19},
142
+ {"iso_8859-1:1987", 19},
143
+ {"l1", 19},
144
+ {"latin1", 19},
145
+ {"us-ascii", 19},
146
+ {"windows-1252", 19},
147
+ {"x-cp1252", 19},
148
+ {"cp1253", 20},
149
+ {"windows-1253", 20},
150
+ {"x-cp1253", 20},
151
+ {"cp1254", 21},
152
+ {"csisolatin5", 21},
153
+ {"iso-8859-9", 21},
154
+ {"iso-ir-148", 21},
155
+ {"iso8859-9", 21},
156
+ {"iso88599", 21},
157
+ {"iso_8859-9", 21},
158
+ {"iso_8859-9:1989", 21},
159
+ {"l5", 21},
160
+ {"latin5", 21},
161
+ {"windows-1254", 21},
162
+ {"x-cp1254", 21},
163
+ {"cp1255", 22},
164
+ {"windows-1255", 22},
165
+ {"x-cp1255", 22},
166
+ {"cp1256", 23},
167
+ {"windows-1256", 23},
168
+ {"x-cp1256", 23},
169
+ {"cp1257", 24},
170
+ {"windows-1257", 24},
171
+ {"x-cp1257", 24},
172
+ {"cp1258", 25},
173
+ {"windows-1258", 25},
174
+ {"x-cp1258", 25},
175
+ {"x-mac-cyrillic", 26},
176
+ {"x-mac-ukrainian", 26},
177
+ {"x-user-defined", 27},
178
+ {"csunicode", 28},
179
+ {"iso-10646-ucs-2", 28},
180
+ {"ucs-2", 28},
181
+ {"unicode", 28},
182
+ {"unicodefeff", 28},
183
+ {"utf-16", 28},
184
+ {"utf-16le", 28},
185
+ {"unicodefffe", 29},
186
+ {"utf-16be", 29},
187
+ {"chinese", 30},
188
+ {"csgb2312", 30},
189
+ {"csiso58gb231280", 30},
190
+ {"gb18030", 30},
191
+ {"gb2312", 30},
192
+ {"gb_2312", 30},
193
+ {"gb_2312-80", 30},
194
+ {"gbk", 30},
195
+ {"iso-ir-58", 30},
196
+ {"x-gbk", 30},
197
+ {"big5", 31},
198
+ {"big5-hkscs", 31},
199
+ {"cn-big5", 31},
200
+ {"csbig5", 31},
201
+ {"x-x-big5", 31},
202
+ {"cseucpkdfmtjapanese", 32},
203
+ {"euc-jp", 32},
204
+ {"x-euc-jp", 32},
205
+ {"csiso2022jp", 33},
206
+ {"iso-2022-jp", 33},
207
+ {"csshiftjis", 34},
208
+ {"ms932", 34},
209
+ {"ms_kanji", 34},
210
+ {"shift-jis", 34},
211
+ {"shift_jis", 34},
212
+ {"sjis", 34},
213
+ {"windows-31j", 34},
214
+ {"x-sjis", 34},
215
+ {"cseuckr", 35},
216
+ {"csksc56011987", 35},
217
+ {"euc-kr", 35},
218
+ {"iso-ir-149", 35},
219
+ {"korean", 35},
220
+ {"ks_c_5601-1987", 35},
221
+ {"ks_c_5601-1989", 35},
222
+ {"ksc5601", 35},
223
+ {"ksc_5601", 35},
224
+ {"windows-949", 35},
225
+ };
@@ -1167,9 +1167,10 @@ ScrStr *scr_url_hash(ScrUrl *u) {
1167
1167
  /* Checked native URL values preserve their handle across unknown storage. */
1168
1168
  static ScrDyn *scr_native_url_get(void *ptr, const char *key, size_t len) {
1169
1169
  if (len == 12 && !memcmp(key, "searchParams", len)) {
1170
- static const char message[] = "Checked URL.searchParams has no native lowering";
1171
- scr_throw_error_msg_code(SCR_ERR_ERROR, message, sizeof message - 1, "SC2020");
1172
- return NULL;
1170
+ ScrSearchParams *params = scr_url_search_params(ptr);
1171
+ ScrDyn *result = scr_dyn_native_search_params(params);
1172
+ scr_sp_release(params);
1173
+ return result;
1173
1174
  }
1174
1175
  ScrStr *text = NULL;
1175
1176
  #define URL_GET(name) if (len == sizeof(#name) - 1 && memcmp(key, #name, len) == 0) text = scr_url_##name(ptr)
@@ -1223,6 +1224,174 @@ ScrUrl *scr_dyn_native_url_check(const ScrDyn *value, const ScrDynPath *path) {
1223
1224
  return scr_url_retain(value->v.handle.ptr);
1224
1225
  }
1225
1226
 
1227
+ static ScrDyn *scr_native_sp_get(void *ptr, const char *key, size_t len) {
1228
+ if (len == 4 && !memcmp(key, "size", len)) return scr_dyn_new_num(scr_sp_size(ptr));
1229
+ return scr_dyn_retain(scr_dyn_undefined());
1230
+ }
1231
+
1232
+ static ScrDyn *scr_native_sp_step(void *ptr, double *index, unsigned selection) {
1233
+ bool done = *index >= scr_sp_size(ptr);
1234
+ ScrDyn *value = scr_dyn_retain(scr_dyn_undefined());
1235
+ if (!done) {
1236
+ scr_dyn_release(value);
1237
+ ScrStr *key = scr_sp_key_at(ptr, *index), *text = scr_sp_val_at(ptr, *index);
1238
+ (*index)++;
1239
+ if (selection == 2) {
1240
+ value = scr_dyn_new_arr();
1241
+ scr_dyn_arr_push(value, scr_dyn_new_str(key));
1242
+ scr_dyn_arr_push(value, scr_dyn_new_str(text));
1243
+ } else value = scr_dyn_new_str(selection == 1 ? key : text);
1244
+ scr_str_release(key); scr_str_release(text);
1245
+ }
1246
+ ScrDyn *result = scr_dyn_new_obj();
1247
+ scr_dyn_obj_set(result, "done", 4, scr_dyn_new_bool(done));
1248
+ scr_dyn_obj_set(result, "value", 5, value);
1249
+ return result;
1250
+ }
1251
+
1252
+ static ScrDyn *scr_native_sp_invoke(void *ptr, ScrDyn *self, const char *method,
1253
+ ScrDyn *const *args, size_t argc, const char *what) {
1254
+ if (!strcmp(method, "entries") || !strcmp(method, "keys") || !strcmp(method, "values"))
1255
+ return scr_dyn_native_handle_iterator(self, !strcmp(method, "entries") ? 2 : !strcmp(method, "keys") ? 1 : 0);
1256
+ if (!strcmp(method, "toString")) {
1257
+ ScrStr *text = scr_sp_to_string(ptr);
1258
+ ScrDyn *result = scr_dyn_new_str(text);
1259
+ scr_str_release(text);
1260
+ return result;
1261
+ }
1262
+ if (!strcmp(method, "sort")) { scr_sp_sort(ptr); return scr_dyn_retain(scr_dyn_undefined()); }
1263
+ if (!strcmp(method, "forEach")) {
1264
+ if (!argc) { scr_dyn_arg_type_fail("callback", "of type function", scr_dyn_undefined()); return NULL; }
1265
+ for (double i = 0; i < scr_sp_size(ptr); i++) {
1266
+ ScrStr *key = scr_sp_key_at(ptr, i), *value = scr_sp_val_at(ptr, i);
1267
+ ScrDyn *argv[] = {scr_dyn_new_str(value), scr_dyn_new_str(key), self};
1268
+ scr_str_release(key); scr_str_release(value);
1269
+ scr_dyn_this_push_dyn(argc > 1 ? args[1] : NULL);
1270
+ ScrDyn *called = scr_dyn_call(args[0], argv, 3, "callback");
1271
+ scr_dyn_this_pop();
1272
+ scr_dyn_release(called); scr_dyn_release(argv[0]); scr_dyn_release(argv[1]);
1273
+ if (scr_exc_pending()) return NULL;
1274
+ }
1275
+ return scr_dyn_retain(scr_dyn_undefined());
1276
+ }
1277
+ bool two = !strcmp(method, "append") || !strcmp(method, "set");
1278
+ bool one = !strcmp(method, "get") || !strcmp(method, "getAll") || !strcmp(method, "has") || !strcmp(method, "delete");
1279
+ if (!one && !two) {
1280
+ scr_dyn_arg_type_fail(what, "of type function", scr_dyn_undefined());
1281
+ return NULL;
1282
+ }
1283
+ if (argc < (two ? 2 : 1)) {
1284
+ static const char message[] = "Not enough arguments";
1285
+ scr_throw_error_msg_code(SCR_ERR_TYPE, message, sizeof message - 1, "ERR_MISSING_ARGS");
1286
+ return NULL;
1287
+ }
1288
+ ScrStr *key = scr_dyn_string_coerce_js(args[0]);
1289
+ if (scr_exc_pending()) return NULL;
1290
+ ScrStr *value = NULL;
1291
+ if (two || argc > 1 && args[1]->kind != SCR_DYN_UNDEF) value = scr_dyn_string_coerce_js(args[1]);
1292
+ if (scr_exc_pending()) { scr_str_release(key); return NULL; }
1293
+ ScrDyn *result = NULL;
1294
+ if (!strcmp(method, "get")) {
1295
+ ScrStr *found = scr_sp_get(ptr, key);
1296
+ result = found ? scr_dyn_new_str(found) : scr_dyn_new_null();
1297
+ scr_str_release(found);
1298
+ } else if (!strcmp(method, "getAll")) {
1299
+ ScrArr *found = scr_sp_get_all(ptr, key);
1300
+ result = scr_dyn_new_arr();
1301
+ for (size_t i = 0; i < found->len; i++) {
1302
+ ScrStr *text = scr_arr_get_ref(found, i);
1303
+ scr_dyn_arr_push(result, scr_dyn_new_str(text));
1304
+ scr_str_release(text);
1305
+ }
1306
+ scr_arr_release(found);
1307
+ } else if (!strcmp(method, "has")) result = scr_dyn_new_bool(value ? scr_sp_has_value(ptr, key, value) : scr_sp_has(ptr, key));
1308
+ else {
1309
+ if (!strcmp(method, "append")) scr_sp_append(ptr, key, value);
1310
+ else if (!strcmp(method, "set")) scr_sp_set(ptr, key, value);
1311
+ else if (value) scr_sp_delete_value(ptr, key, value);
1312
+ else scr_sp_delete(ptr, key);
1313
+ result = scr_dyn_retain(scr_dyn_undefined());
1314
+ }
1315
+ scr_str_release(key); scr_str_release(value);
1316
+ return result;
1317
+ }
1318
+
1319
+ ScrDyn *scr_dyn_native_search_params(ScrSearchParams *value) {
1320
+ static const ScrDynHandleOps ops = {
1321
+ "URLSearchParams", &scr_sp_retain_v, &scr_sp_release_v, &scr_native_sp_invoke,
1322
+ &scr_native_sp_get, NULL, NULL, NULL, &scr_native_sp_step,
1323
+ };
1324
+ scr_dyn_handle_install(SCR_DYNH_SEARCH_PARAMS, &ops);
1325
+ return scr_dyn_new_handle(value, SCR_DYNH_SEARCH_PARAMS);
1326
+ }
1327
+
1328
+ bool scr_dyn_native_search_params_is(const ScrDyn *value) {
1329
+ return value && value->kind == SCR_DYN_HANDLE && value->v.handle.tag == SCR_DYNH_SEARCH_PARAMS;
1330
+ }
1331
+
1332
+ ScrSearchParams *scr_dyn_native_search_params_check(const ScrDyn *value, const ScrDynPath *path) {
1333
+ if (!scr_dyn_native_search_params_is(value)) { scr_dyn_check_fail(path, "URLSearchParams", value); return NULL; }
1334
+ return scr_sp_retain(value->v.handle.ptr);
1335
+ }
1336
+
1337
+ ScrSearchParams *scr_sp_new_checked(const ScrDyn *value) {
1338
+ if (!value || value->kind == SCR_DYN_UNDEF || value->kind == SCR_DYN_NULL) return scr_sp_new();
1339
+ if (scr_dyn_native_search_params_is(value)) return scr_sp_copy(value->v.handle.ptr);
1340
+ if (value->kind == SCR_DYN_OBJ || value->kind == SCR_DYN_ARR || value->kind == SCR_DYN_TYPED_REF) {
1341
+ ScrDyn *iterator = scr_dyn_iterator_optional(value);
1342
+ if (scr_exc_pending()) return NULL;
1343
+ ScrSearchParams *result = scr_sp_new();
1344
+ if (iterator) {
1345
+ for (;;) {
1346
+ ScrStr *next_key = scr_str_new("next", 4);
1347
+ ScrDyn *next = iterator->kind == SCR_DYN_HANDLE ? scr_dyn_handle_key_get(iterator, next_key) : scr_dyn_obj_read(iterator, "next", 4);
1348
+ scr_str_release(next_key);
1349
+ scr_dyn_this_push_dyn(iterator);
1350
+ ScrDyn *step = scr_exc_pending() ? NULL : scr_dyn_call(next, NULL, 0, "iterator.next");
1351
+ scr_dyn_this_pop();
1352
+ scr_dyn_release(next);
1353
+ if (scr_exc_pending()) break;
1354
+ ScrDyn *done = scr_dyn_obj_read(step, "done", 4);
1355
+ bool end = scr_dyn_truthy(done);
1356
+ scr_dyn_release(done);
1357
+ if (end) { scr_dyn_release(step); scr_dyn_release(iterator); return result; }
1358
+ ScrDyn *row = scr_dyn_obj_read(step, "value", 5);
1359
+ ScrDyn *pair = scr_dyn_iter_pack(row, NULL);
1360
+ scr_dyn_release(row); scr_dyn_release(step);
1361
+ if (scr_exc_pending()) { scr_dyn_release(pair); break; }
1362
+ if (!pair || pair->kind != SCR_DYN_ARR || pair->v.arr.len != 2) {
1363
+ static const char message[] = "Each query pair must be an iterable [name, value] tuple";
1364
+ scr_throw_error_msg_code(SCR_ERR_TYPE, message, sizeof message - 1, "ERR_INVALID_TUPLE");
1365
+ scr_dyn_release(pair); break;
1366
+ }
1367
+ ScrStr *key = scr_dyn_string_coerce_js(pair->v.arr.items[0]);
1368
+ ScrStr *text = scr_exc_pending() ? NULL : scr_dyn_string_coerce_js(pair->v.arr.items[1]);
1369
+ if (!scr_exc_pending()) scr_sp_append(result, key, text);
1370
+ scr_str_release(key); scr_str_release(text); scr_dyn_release(pair);
1371
+ if (scr_exc_pending()) break;
1372
+ }
1373
+ scr_dyn_release(iterator); scr_sp_release(result); return NULL;
1374
+ }
1375
+ ScrDyn *keys = scr_dyn_obj_keys(value);
1376
+ if (scr_exc_pending()) { scr_sp_release(result); return NULL; }
1377
+ for (size_t i = 0; i < keys->v.arr.len; i++) {
1378
+ ScrStr *key = keys->v.arr.items[i]->v.str;
1379
+ ScrDyn *entry = scr_dyn_obj_read(value, key->data, key->len);
1380
+ ScrStr *text = scr_exc_pending() ? NULL : scr_dyn_string_coerce_js(entry);
1381
+ scr_dyn_release(entry);
1382
+ if (!scr_exc_pending()) scr_sp_append(result, key, text);
1383
+ scr_str_release(text);
1384
+ if (scr_exc_pending()) { scr_dyn_release(keys); scr_sp_release(result); return NULL; }
1385
+ }
1386
+ scr_dyn_release(keys); return result;
1387
+ }
1388
+ ScrStr *text = scr_dyn_string_coerce_js(value);
1389
+ if (scr_exc_pending()) return NULL;
1390
+ ScrSearchParams *result = scr_sp_parse(text);
1391
+ scr_str_release(text);
1392
+ return result;
1393
+ }
1394
+
1226
1395
  ScrStr *scr_url_checked_to_path(const ScrDyn *value) {
1227
1396
  if (scr_dyn_native_url_is(value)) return scr_url_to_path(value->v.handle.ptr);
1228
1397
  if (value->kind == SCR_DYN_STR) return scr_url_str_to_path(value->v.str);