@scriptc/cli-darwin-x64 0.0.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 (963) hide show
  1. package/dist/LICENSE +202 -0
  2. package/dist/THIRD_PARTY_NOTICES +4 -0
  3. package/dist/bin/scriptc +0 -0
  4. package/dist/bin/scriptc.json +21 -0
  5. package/dist/lib/declarations/scriptc-node-fallback.d.ts +3857 -0
  6. package/dist/lib/declarations/scriptc-overrides.d.ts +92 -0
  7. package/dist/lib/declarations/scriptc.d.ts +98 -0
  8. package/dist/lib/llvm/LICENSE +1 -0
  9. package/dist/lib/llvm/SCRIPTC_LICENSE +1 -0
  10. package/dist/lib/llvm/THIRD_PARTY_NOTICES +1 -0
  11. package/dist/lib/llvm/bin/scriptc-llvm-codegen +0 -0
  12. package/dist/lib/llvm/package.json +35 -0
  13. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_array.o +0 -0
  14. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_assert.o +0 -0
  15. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_async.o +0 -0
  16. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_async_dyn.o +0 -0
  17. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_bigint.o +0 -0
  18. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_bigint_assert.o +0 -0
  19. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_bytes.o +0 -0
  20. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_bytes_io.o +0 -0
  21. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_child.o +0 -0
  22. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_closure.o +0 -0
  23. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_console.o +0 -0
  24. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_console_native.o +0 -0
  25. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_copying.o +0 -0
  26. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_crypto_async.o +0 -0
  27. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_cycle.o +0 -0
  28. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_dc.o +0 -0
  29. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_dgram.o +0 -0
  30. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_dyn_handle.o +0 -0
  31. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_dyn_invoke.o +0 -0
  32. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_error.o +0 -0
  33. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_events.o +0 -0
  34. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_events_emitter.o +0 -0
  35. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_exception.o +0 -0
  36. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_fetch.o +0 -0
  37. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_ffi.o +0 -0
  38. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_ffi_queue.o +0 -0
  39. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_file_handle.o +0 -0
  40. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_grapheme.o +0 -0
  41. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_http.o +0 -0
  42. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_http2.o +0 -0
  43. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_inspect.o +0 -0
  44. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_json.o +0 -0
  45. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_lib.o +0 -0
  46. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_loop_epoll.o +0 -0
  47. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_loop_kqueue.o +0 -0
  48. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_loop_wsapoll.o +0 -0
  49. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_map.o +0 -0
  50. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_net.o +0 -0
  51. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_node_builtin.o +0 -0
  52. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_number.o +0 -0
  53. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_object.o +0 -0
  54. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_path.o +0 -0
  55. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_qs.o +0 -0
  56. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_readline.o +0 -0
  57. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_regex.o +0 -0
  58. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_stream.o +0 -0
  59. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_string.o +0 -0
  60. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_symbol.o +0 -0
  61. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_test.o +0 -0
  62. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_tls.o +0 -0
  63. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_tls_ca.o +0 -0
  64. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_union.o +0 -0
  65. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_url.o +0 -0
  66. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_url_params.o +0 -0
  67. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_util.o +0 -0
  68. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_watch.o +0 -0
  69. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_zlib.o +0 -0
  70. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_array.o +0 -0
  71. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_assert.o +0 -0
  72. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_async.o +0 -0
  73. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_async_dyn.o +0 -0
  74. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_bigint.o +0 -0
  75. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_bigint_assert.o +0 -0
  76. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_bytes.o +0 -0
  77. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_bytes_io.o +0 -0
  78. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_child.o +0 -0
  79. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_closure.o +0 -0
  80. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_console.o +0 -0
  81. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_console_native.o +0 -0
  82. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_copying.o +0 -0
  83. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_crypto_async.o +0 -0
  84. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_cycle.o +0 -0
  85. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_dc.o +0 -0
  86. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_dgram.o +0 -0
  87. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_dyn_handle.o +0 -0
  88. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_dyn_invoke.o +0 -0
  89. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_error.o +0 -0
  90. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_events.o +0 -0
  91. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_events_emitter.o +0 -0
  92. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_exception.o +0 -0
  93. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_fetch.o +0 -0
  94. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_ffi.o +0 -0
  95. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_ffi_queue.o +0 -0
  96. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_file_handle.o +0 -0
  97. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_grapheme.o +0 -0
  98. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_http.o +0 -0
  99. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_http2.o +0 -0
  100. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_inspect.o +0 -0
  101. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_inspect_island.o +0 -0
  102. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_island.o +0 -0
  103. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_json.o +0 -0
  104. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_lib.o +0 -0
  105. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_loop_epoll.o +0 -0
  106. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_loop_kqueue.o +0 -0
  107. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_loop_wsapoll.o +0 -0
  108. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_map.o +0 -0
  109. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_net.o +0 -0
  110. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_net_island.o +0 -0
  111. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_node_builtin.o +0 -0
  112. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_number.o +0 -0
  113. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_object.o +0 -0
  114. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_path.o +0 -0
  115. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_qs.o +0 -0
  116. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_readline.o +0 -0
  117. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_regex.o +0 -0
  118. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_stream.o +0 -0
  119. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_string.o +0 -0
  120. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_symbol.o +0 -0
  121. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_test.o +0 -0
  122. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_tls.o +0 -0
  123. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_tls_ca.o +0 -0
  124. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_union.o +0 -0
  125. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_url.o +0 -0
  126. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_url_params.o +0 -0
  127. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_util.o +0 -0
  128. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_watch.o +0 -0
  129. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_web.o +0 -0
  130. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_zlib.o +0 -0
  131. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_zlib_island.o +0 -0
  132. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
  133. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  134. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_array.o +0 -0
  135. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_assert.o +0 -0
  136. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_bigint.o +0 -0
  137. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_bigint_assert.o +0 -0
  138. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_bytes.o +0 -0
  139. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_bytes_io.o +0 -0
  140. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_closure.o +0 -0
  141. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_console.o +0 -0
  142. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_console_native.o +0 -0
  143. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_copying.o +0 -0
  144. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_cycle.o +0 -0
  145. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_dyn_handle.o +0 -0
  146. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_dyn_invoke.o +0 -0
  147. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_error.o +0 -0
  148. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_events_emitter.o +0 -0
  149. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_exception.o +0 -0
  150. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_grapheme.o +0 -0
  151. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_inspect.o +0 -0
  152. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_json.o +0 -0
  153. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_lib.o +0 -0
  154. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_library.o +0 -0
  155. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_map.o +0 -0
  156. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_node_builtin.o +0 -0
  157. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_number.o +0 -0
  158. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_object.o +0 -0
  159. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_path.o +0 -0
  160. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_regex.o +0 -0
  161. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_string.o +0 -0
  162. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_symbol.o +0 -0
  163. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_union.o +0 -0
  164. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_url.o +0 -0
  165. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_url_params.o +0 -0
  166. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_zlib.o +0 -0
  167. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  168. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_array.o +0 -0
  169. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_assert.o +0 -0
  170. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_bigint.o +0 -0
  171. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_bigint_assert.o +0 -0
  172. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_bytes.o +0 -0
  173. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_bytes_io.o +0 -0
  174. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_closure.o +0 -0
  175. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_console.o +0 -0
  176. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_console_native.o +0 -0
  177. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_copying.o +0 -0
  178. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_cycle.o +0 -0
  179. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_dyn_handle.o +0 -0
  180. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_dyn_invoke.o +0 -0
  181. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_error.o +0 -0
  182. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_events_emitter.o +0 -0
  183. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_exception.o +0 -0
  184. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_grapheme.o +0 -0
  185. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_inspect.o +0 -0
  186. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_json.o +0 -0
  187. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_lib.o +0 -0
  188. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_library.o +0 -0
  189. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_map.o +0 -0
  190. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_node_builtin.o +0 -0
  191. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_number.o +0 -0
  192. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_object.o +0 -0
  193. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_path.o +0 -0
  194. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_regex.o +0 -0
  195. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_string.o +0 -0
  196. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_symbol.o +0 -0
  197. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_union.o +0 -0
  198. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_url.o +0 -0
  199. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_url_params.o +0 -0
  200. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_zlib.o +0 -0
  201. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  202. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_array.o +0 -0
  203. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_assert.o +0 -0
  204. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_bigint.o +0 -0
  205. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_bigint_assert.o +0 -0
  206. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_bytes.o +0 -0
  207. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_bytes_io.o +0 -0
  208. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_closure.o +0 -0
  209. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_console.o +0 -0
  210. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_console_native.o +0 -0
  211. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_copying.o +0 -0
  212. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_cycle.o +0 -0
  213. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_dyn_handle.o +0 -0
  214. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_dyn_invoke.o +0 -0
  215. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_error.o +0 -0
  216. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_events_emitter.o +0 -0
  217. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_exception.o +0 -0
  218. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_grapheme.o +0 -0
  219. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_inspect.o +0 -0
  220. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_json.o +0 -0
  221. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_lib.o +0 -0
  222. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_library.o +0 -0
  223. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_map.o +0 -0
  224. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_node_builtin.o +0 -0
  225. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_number.o +0 -0
  226. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_object.o +0 -0
  227. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_path.o +0 -0
  228. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_regex.o +0 -0
  229. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_string.o +0 -0
  230. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_symbol.o +0 -0
  231. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_union.o +0 -0
  232. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_url.o +0 -0
  233. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_url_params.o +0 -0
  234. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_zlib.o +0 -0
  235. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  236. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_array.o +0 -0
  237. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_assert.o +0 -0
  238. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_bigint.o +0 -0
  239. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_bigint_assert.o +0 -0
  240. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_bytes.o +0 -0
  241. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_bytes_io.o +0 -0
  242. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_closure.o +0 -0
  243. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_console.o +0 -0
  244. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_console_native.o +0 -0
  245. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_copying.o +0 -0
  246. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_cycle.o +0 -0
  247. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_dyn_handle.o +0 -0
  248. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_dyn_invoke.o +0 -0
  249. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_error.o +0 -0
  250. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_events_emitter.o +0 -0
  251. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_exception.o +0 -0
  252. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_grapheme.o +0 -0
  253. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_inspect.o +0 -0
  254. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_json.o +0 -0
  255. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_lib.o +0 -0
  256. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_library.o +0 -0
  257. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_map.o +0 -0
  258. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_node_builtin.o +0 -0
  259. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_number.o +0 -0
  260. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_object.o +0 -0
  261. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_path.o +0 -0
  262. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_regex.o +0 -0
  263. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_string.o +0 -0
  264. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_symbol.o +0 -0
  265. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_union.o +0 -0
  266. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_url.o +0 -0
  267. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_url_params.o +0 -0
  268. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_zlib.o +0 -0
  269. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  270. package/dist/lib/runtime-darwin-x64/artifacts/licenses/mbedtls.txt +553 -0
  271. package/dist/lib/runtime-darwin-x64/artifacts/licenses/quickjs-ng.txt +24 -0
  272. package/dist/lib/runtime-darwin-x64/artifacts/licenses/ryu.txt +23 -0
  273. package/dist/lib/runtime-darwin-x64/artifacts/licenses/scriptc-runtime.txt +202 -0
  274. package/dist/lib/runtime-darwin-x64/artifacts/licenses/unicode.txt +39 -0
  275. package/dist/lib/runtime-darwin-x64/artifacts/licenses/v8-number-radix.txt +61 -0
  276. package/dist/lib/runtime-darwin-x64/artifacts/licenses/zlib.txt +22 -0
  277. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_array.o +0 -0
  278. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_assert.o +0 -0
  279. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_async.o +0 -0
  280. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_async_dyn.o +0 -0
  281. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_bigint.o +0 -0
  282. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_bigint_assert.o +0 -0
  283. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_bytes.o +0 -0
  284. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_bytes_io.o +0 -0
  285. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_child.o +0 -0
  286. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_closure.o +0 -0
  287. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_console.o +0 -0
  288. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_console_native.o +0 -0
  289. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_copying.o +0 -0
  290. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_crypto_async.o +0 -0
  291. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_cycle.o +0 -0
  292. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_dc.o +0 -0
  293. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_dgram.o +0 -0
  294. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_dyn_handle.o +0 -0
  295. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_dyn_invoke.o +0 -0
  296. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_error.o +0 -0
  297. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_events.o +0 -0
  298. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_events_emitter.o +0 -0
  299. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_exception.o +0 -0
  300. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_fetch.o +0 -0
  301. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_ffi.o +0 -0
  302. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_ffi_queue.o +0 -0
  303. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_file_handle.o +0 -0
  304. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_grapheme.o +0 -0
  305. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_http.o +0 -0
  306. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_http2.o +0 -0
  307. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_inspect.o +0 -0
  308. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_json.o +0 -0
  309. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_lib.o +0 -0
  310. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_loop_epoll.o +0 -0
  311. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_loop_kqueue.o +0 -0
  312. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_loop_wsapoll.o +0 -0
  313. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_map.o +0 -0
  314. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_net.o +0 -0
  315. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_node_builtin.o +0 -0
  316. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_number.o +0 -0
  317. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_object.o +0 -0
  318. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_path.o +0 -0
  319. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_qs.o +0 -0
  320. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_readline.o +0 -0
  321. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_regex.o +0 -0
  322. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_stream.o +0 -0
  323. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_string.o +0 -0
  324. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_symbol.o +0 -0
  325. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_test.o +0 -0
  326. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_tls.o +0 -0
  327. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_tls_ca.o +0 -0
  328. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_union.o +0 -0
  329. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_url.o +0 -0
  330. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_url_params.o +0 -0
  331. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_util.o +0 -0
  332. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_watch.o +0 -0
  333. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_zlib.o +0 -0
  334. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_array.o +0 -0
  335. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_assert.o +0 -0
  336. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_async.o +0 -0
  337. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_async_dyn.o +0 -0
  338. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_bigint.o +0 -0
  339. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_bigint_assert.o +0 -0
  340. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_bytes.o +0 -0
  341. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_bytes_io.o +0 -0
  342. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_child.o +0 -0
  343. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_closure.o +0 -0
  344. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_console.o +0 -0
  345. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_console_native.o +0 -0
  346. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_copying.o +0 -0
  347. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_crypto_async.o +0 -0
  348. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_cycle.o +0 -0
  349. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_dc.o +0 -0
  350. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_dgram.o +0 -0
  351. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_dyn_handle.o +0 -0
  352. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_dyn_invoke.o +0 -0
  353. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_error.o +0 -0
  354. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_events.o +0 -0
  355. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_events_emitter.o +0 -0
  356. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_exception.o +0 -0
  357. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_fetch.o +0 -0
  358. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_ffi.o +0 -0
  359. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_ffi_queue.o +0 -0
  360. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_file_handle.o +0 -0
  361. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_grapheme.o +0 -0
  362. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_http.o +0 -0
  363. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_http2.o +0 -0
  364. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_inspect.o +0 -0
  365. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_inspect_island.o +0 -0
  366. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_island.o +0 -0
  367. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_json.o +0 -0
  368. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_lib.o +0 -0
  369. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_loop_epoll.o +0 -0
  370. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_loop_kqueue.o +0 -0
  371. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_loop_wsapoll.o +0 -0
  372. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_map.o +0 -0
  373. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_net.o +0 -0
  374. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_net_island.o +0 -0
  375. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_node_builtin.o +0 -0
  376. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_number.o +0 -0
  377. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_object.o +0 -0
  378. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_path.o +0 -0
  379. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_qs.o +0 -0
  380. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_readline.o +0 -0
  381. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_regex.o +0 -0
  382. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_stream.o +0 -0
  383. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_string.o +0 -0
  384. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_symbol.o +0 -0
  385. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_test.o +0 -0
  386. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_tls.o +0 -0
  387. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_tls_ca.o +0 -0
  388. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_union.o +0 -0
  389. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_url.o +0 -0
  390. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_url_params.o +0 -0
  391. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_util.o +0 -0
  392. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_watch.o +0 -0
  393. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_web.o +0 -0
  394. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_zlib.o +0 -0
  395. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_zlib_island.o +0 -0
  396. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
  397. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  398. package/dist/lib/runtime-darwin-x64/artifacts/vendor/libregexp/libscriptc-libregexp.a +0 -0
  399. package/dist/lib/runtime-darwin-x64/artifacts/vendor/mbedtls/libscriptc-mbedtls.a +0 -0
  400. package/dist/lib/runtime-darwin-x64/artifacts/vendor/quickjs/libscriptc-quickjs.a +0 -0
  401. package/dist/lib/runtime-darwin-x64/artifacts/vendor/zlib/libscriptc-zlib.a +0 -0
  402. package/dist/lib/runtime-darwin-x64/package.json +24 -0
  403. package/dist/lib/runtime-darwin-x64/runtime-pack.json +5762 -0
  404. package/dist/lib/runtime-sources/LICENSE +202 -0
  405. package/dist/lib/runtime-sources/package.json +22 -0
  406. package/dist/lib/runtime-sources/src/scr_array.c +1460 -0
  407. package/dist/lib/runtime-sources/src/scr_assert.c +1538 -0
  408. package/dist/lib/runtime-sources/src/scr_async.c +3945 -0
  409. package/dist/lib/runtime-sources/src/scr_async.test.c +134 -0
  410. package/dist/lib/runtime-sources/src/scr_async.test.ts +34 -0
  411. package/dist/lib/runtime-sources/src/scr_async_dyn.c +877 -0
  412. package/dist/lib/runtime-sources/src/scr_bigint.c +898 -0
  413. package/dist/lib/runtime-sources/src/scr_bigint_assert.c +22 -0
  414. package/dist/lib/runtime-sources/src/scr_bytes.c +2682 -0
  415. package/dist/lib/runtime-sources/src/scr_bytes_io.c +1324 -0
  416. package/dist/lib/runtime-sources/src/scr_child.c +6335 -0
  417. package/dist/lib/runtime-sources/src/scr_closure.c +213 -0
  418. package/dist/lib/runtime-sources/src/scr_console.c +259 -0
  419. package/dist/lib/runtime-sources/src/scr_console_native.c +95 -0
  420. package/dist/lib/runtime-sources/src/scr_copying.c +146 -0
  421. package/dist/lib/runtime-sources/src/scr_crypto_async.c +24 -0
  422. package/dist/lib/runtime-sources/src/scr_cycle.c +565 -0
  423. package/dist/lib/runtime-sources/src/scr_dc.c +814 -0
  424. package/dist/lib/runtime-sources/src/scr_dgram.c +1182 -0
  425. package/dist/lib/runtime-sources/src/scr_dyn_handle.c +96 -0
  426. package/dist/lib/runtime-sources/src/scr_dyn_invoke.c +1759 -0
  427. package/dist/lib/runtime-sources/src/scr_error.c +419 -0
  428. package/dist/lib/runtime-sources/src/scr_events.c +1222 -0
  429. package/dist/lib/runtime-sources/src/scr_events_emitter.c +842 -0
  430. package/dist/lib/runtime-sources/src/scr_exception.c +484 -0
  431. package/dist/lib/runtime-sources/src/scr_fetch.c +7479 -0
  432. package/dist/lib/runtime-sources/src/scr_fetch_curl.c +666 -0
  433. package/dist/lib/runtime-sources/src/scr_ffi.c +143 -0
  434. package/dist/lib/runtime-sources/src/scr_ffi_queue.c +379 -0
  435. package/dist/lib/runtime-sources/src/scr_file_handle.c +562 -0
  436. package/dist/lib/runtime-sources/src/scr_grapheme.c +203 -0
  437. package/dist/lib/runtime-sources/src/scr_grapheme_data.h +842 -0
  438. package/dist/lib/runtime-sources/src/scr_http.c +5811 -0
  439. package/dist/lib/runtime-sources/src/scr_http2.c +3243 -0
  440. package/dist/lib/runtime-sources/src/scr_inspect.c +923 -0
  441. package/dist/lib/runtime-sources/src/scr_inspect_island.c +51 -0
  442. package/dist/lib/runtime-sources/src/scr_island.c +10012 -0
  443. package/dist/lib/runtime-sources/src/scr_island_manifest.h +153 -0
  444. package/dist/lib/runtime-sources/src/scr_json.c +8986 -0
  445. package/dist/lib/runtime-sources/src/scr_json.test.c +182 -0
  446. package/dist/lib/runtime-sources/src/scr_json.test.ts +33 -0
  447. package/dist/lib/runtime-sources/src/scr_lib.c +6304 -0
  448. package/dist/lib/runtime-sources/src/scr_library.c +444 -0
  449. package/dist/lib/runtime-sources/src/scr_loop_epoll.c +241 -0
  450. package/dist/lib/runtime-sources/src/scr_loop_kqueue.c +121 -0
  451. package/dist/lib/runtime-sources/src/scr_loop_wsapoll.c +208 -0
  452. package/dist/lib/runtime-sources/src/scr_map.c +752 -0
  453. package/dist/lib/runtime-sources/src/scr_musl.c +438 -0
  454. package/dist/lib/runtime-sources/src/scr_net.c +3708 -0
  455. package/dist/lib/runtime-sources/src/scr_net_island.c +458 -0
  456. package/dist/lib/runtime-sources/src/scr_node_builtin.c +291 -0
  457. package/dist/lib/runtime-sources/src/scr_number.c +192 -0
  458. package/dist/lib/runtime-sources/src/scr_object.c +91 -0
  459. package/dist/lib/runtime-sources/src/scr_path.c +1281 -0
  460. package/dist/lib/runtime-sources/src/scr_platform.h +119 -0
  461. package/dist/lib/runtime-sources/src/scr_qs.c +496 -0
  462. package/dist/lib/runtime-sources/src/scr_readline.c +288 -0
  463. package/dist/lib/runtime-sources/src/scr_regex.c +1313 -0
  464. package/dist/lib/runtime-sources/src/scr_runtime.h +7364 -0
  465. package/dist/lib/runtime-sources/src/scr_stream.c +3346 -0
  466. package/dist/lib/runtime-sources/src/scr_string.c +1864 -0
  467. package/dist/lib/runtime-sources/src/scr_symbol.c +239 -0
  468. package/dist/lib/runtime-sources/src/scr_test.c +662 -0
  469. package/dist/lib/runtime-sources/src/scr_text_decoder_data.h +7389 -0
  470. package/dist/lib/runtime-sources/src/scr_text_decoder_labels.h +225 -0
  471. package/dist/lib/runtime-sources/src/scr_tls.c +1806 -0
  472. package/dist/lib/runtime-sources/src/scr_tls_ca.c +433 -0
  473. package/dist/lib/runtime-sources/src/scr_union.c +105 -0
  474. package/dist/lib/runtime-sources/src/scr_url.c +1400 -0
  475. package/dist/lib/runtime-sources/src/scr_url_internal.h +29 -0
  476. package/dist/lib/runtime-sources/src/scr_url_params.c +526 -0
  477. package/dist/lib/runtime-sources/src/scr_util.c +984 -0
  478. package/dist/lib/runtime-sources/src/scr_watch.c +568 -0
  479. package/dist/lib/runtime-sources/src/scr_web.c +1854 -0
  480. package/dist/lib/runtime-sources/src/scr_win.c +231 -0
  481. package/dist/lib/runtime-sources/src/scr_win_stats.h +23 -0
  482. package/dist/lib/runtime-sources/src/scr_zlib.c +358 -0
  483. package/dist/lib/runtime-sources/src/scr_zlib_island.c +15 -0
  484. package/dist/lib/runtime-sources/vendor/README.md +60 -0
  485. package/dist/lib/runtime-sources/vendor/curl/COPYRIGHT +534 -0
  486. package/dist/lib/runtime-sources/vendor/curl/include/curl/curl.h +3214 -0
  487. package/dist/lib/runtime-sources/vendor/curl/include/curl/curlver.h +79 -0
  488. package/dist/lib/runtime-sources/vendor/curl/include/curl/easy.h +125 -0
  489. package/dist/lib/runtime-sources/vendor/curl/include/curl/header.h +74 -0
  490. package/dist/lib/runtime-sources/vendor/curl/include/curl/mprintf.h +52 -0
  491. package/dist/lib/runtime-sources/vendor/curl/include/curl/multi.h +460 -0
  492. package/dist/lib/runtime-sources/vendor/curl/include/curl/options.h +70 -0
  493. package/dist/lib/runtime-sources/vendor/curl/include/curl/stdcheaders.h +35 -0
  494. package/dist/lib/runtime-sources/vendor/curl/include/curl/system.h +508 -0
  495. package/dist/lib/runtime-sources/vendor/curl/include/curl/typecheck-gcc.h +716 -0
  496. package/dist/lib/runtime-sources/vendor/curl/include/curl/urlapi.h +149 -0
  497. package/dist/lib/runtime-sources/vendor/curl/include/curl/websockets.h +84 -0
  498. package/dist/lib/runtime-sources/vendor/mbedtls/LICENSE +553 -0
  499. package/dist/lib/runtime-sources/vendor/mbedtls/include/CMakeLists.txt +22 -0
  500. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/aes.h +631 -0
  501. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/aria.h +343 -0
  502. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/asn1.h +642 -0
  503. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/asn1write.h +390 -0
  504. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/base64.h +82 -0
  505. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/bignum.h +1088 -0
  506. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/block_cipher.h +76 -0
  507. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/build_info.h +194 -0
  508. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/camellia.h +305 -0
  509. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ccm.h +526 -0
  510. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/chacha20.h +209 -0
  511. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/chachapoly.h +351 -0
  512. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/check_config.h +1149 -0
  513. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/cipher.h +1250 -0
  514. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/cmac.h +246 -0
  515. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/compat-2.x.h +46 -0
  516. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +578 -0
  517. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +873 -0
  518. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +359 -0
  519. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +145 -0
  520. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_adjust_ssl.h +91 -0
  521. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_adjust_x509.h +35 -0
  522. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_psa.h +61 -0
  523. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/constant_time.h +36 -0
  524. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ctr_drbg.h +596 -0
  525. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/debug.h +156 -0
  526. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/des.h +385 -0
  527. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/dhm.h +972 -0
  528. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ecdh.h +455 -0
  529. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ecdsa.h +674 -0
  530. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ecjpake.h +298 -0
  531. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ecp.h +1517 -0
  532. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/entropy.h +274 -0
  533. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/error.h +201 -0
  534. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/gcm.h +387 -0
  535. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/hkdf.h +124 -0
  536. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
  537. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/lms.h +440 -0
  538. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/mbedtls_config.h +4446 -0
  539. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/md.h +526 -0
  540. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/md5.h +190 -0
  541. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
  542. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/net_sockets.h +299 -0
  543. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/nist_kw.h +166 -0
  544. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/oid.h +727 -0
  545. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/pem.h +160 -0
  546. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/pk.h +1303 -0
  547. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/pkcs12.h +186 -0
  548. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/pkcs5.h +198 -0
  549. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/pkcs7.h +252 -0
  550. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/platform.h +516 -0
  551. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/platform_time.h +79 -0
  552. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/platform_util.h +247 -0
  553. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/poly1305.h +168 -0
  554. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/private_access.h +20 -0
  555. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/psa_util.h +207 -0
  556. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ripemd160.h +136 -0
  557. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/rsa.h +1170 -0
  558. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/sha1.h +219 -0
  559. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/sha256.h +200 -0
  560. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/sha3.h +172 -0
  561. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/sha512.h +208 -0
  562. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ssl.h +5887 -0
  563. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ssl_cache.h +187 -0
  564. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ssl_ciphersuites.h +482 -0
  565. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
  566. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ssl_ticket.h +199 -0
  567. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/threading.h +167 -0
  568. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/timing.h +94 -0
  569. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/version.h +78 -0
  570. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/x509.h +500 -0
  571. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/x509_crl.h +184 -0
  572. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/x509_crt.h +1208 -0
  573. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/x509_csr.h +382 -0
  574. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/build_info.h +20 -0
  575. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto.h +4998 -0
  576. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_adjust_auto_enabled.h +31 -0
  577. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_adjust_config_dependencies.h +51 -0
  578. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +101 -0
  579. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_adjust_config_synonyms.h +49 -0
  580. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_builtin_composites.h +214 -0
  581. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
  582. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
  583. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_compat.h +230 -0
  584. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_config.h +145 -0
  585. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_driver_common.h +44 -0
  586. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
  587. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
  588. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
  589. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_extra.h +2145 -0
  590. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_legacy.h +88 -0
  591. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_platform.h +102 -0
  592. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_se_driver.h +1383 -0
  593. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_sizes.h +1319 -0
  594. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_struct.h +527 -0
  595. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_types.h +508 -0
  596. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_values.h +2782 -0
  597. package/dist/lib/runtime-sources/vendor/mbedtls/library/aes.c +2294 -0
  598. package/dist/lib/runtime-sources/vendor/mbedtls/library/aesce.c +624 -0
  599. package/dist/lib/runtime-sources/vendor/mbedtls/library/aesce.h +136 -0
  600. package/dist/lib/runtime-sources/vendor/mbedtls/library/aesni.c +846 -0
  601. package/dist/lib/runtime-sources/vendor/mbedtls/library/aesni.h +162 -0
  602. package/dist/lib/runtime-sources/vendor/mbedtls/library/alignment.h +704 -0
  603. package/dist/lib/runtime-sources/vendor/mbedtls/library/aria.c +969 -0
  604. package/dist/lib/runtime-sources/vendor/mbedtls/library/asn1parse.c +468 -0
  605. package/dist/lib/runtime-sources/vendor/mbedtls/library/asn1write.c +440 -0
  606. package/dist/lib/runtime-sources/vendor/mbedtls/library/base64.c +322 -0
  607. package/dist/lib/runtime-sources/vendor/mbedtls/library/base64_internal.h +45 -0
  608. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum.c +2583 -0
  609. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_core.c +1240 -0
  610. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_core.h +872 -0
  611. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_core_invasive.h +38 -0
  612. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_internal.h +122 -0
  613. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_mod.c +394 -0
  614. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_mod.h +452 -0
  615. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_mod_raw.c +276 -0
  616. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_mod_raw.h +416 -0
  617. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
  618. package/dist/lib/runtime-sources/vendor/mbedtls/library/block_cipher.c +207 -0
  619. package/dist/lib/runtime-sources/vendor/mbedtls/library/block_cipher_internal.h +99 -0
  620. package/dist/lib/runtime-sources/vendor/mbedtls/library/bn_mul.h +1094 -0
  621. package/dist/lib/runtime-sources/vendor/mbedtls/library/camellia.c +1058 -0
  622. package/dist/lib/runtime-sources/vendor/mbedtls/library/ccm.c +777 -0
  623. package/dist/lib/runtime-sources/vendor/mbedtls/library/chacha20.c +563 -0
  624. package/dist/lib/runtime-sources/vendor/mbedtls/library/chacha20_internal.h +23 -0
  625. package/dist/lib/runtime-sources/vendor/mbedtls/library/chachapoly.c +487 -0
  626. package/dist/lib/runtime-sources/vendor/mbedtls/library/check_crypto_config.h +136 -0
  627. package/dist/lib/runtime-sources/vendor/mbedtls/library/cipher.c +1712 -0
  628. package/dist/lib/runtime-sources/vendor/mbedtls/library/cipher_invasive.h +28 -0
  629. package/dist/lib/runtime-sources/vendor/mbedtls/library/cipher_wrap.c +2482 -0
  630. package/dist/lib/runtime-sources/vendor/mbedtls/library/cipher_wrap.h +178 -0
  631. package/dist/lib/runtime-sources/vendor/mbedtls/library/cmac.c +1067 -0
  632. package/dist/lib/runtime-sources/vendor/mbedtls/library/common.h +487 -0
  633. package/dist/lib/runtime-sources/vendor/mbedtls/library/constant_time.c +247 -0
  634. package/dist/lib/runtime-sources/vendor/mbedtls/library/constant_time_impl.h +541 -0
  635. package/dist/lib/runtime-sources/vendor/mbedtls/library/constant_time_internal.h +579 -0
  636. package/dist/lib/runtime-sources/vendor/mbedtls/library/ctr.h +35 -0
  637. package/dist/lib/runtime-sources/vendor/mbedtls/library/ctr_drbg.c +1016 -0
  638. package/dist/lib/runtime-sources/vendor/mbedtls/library/debug.c +475 -0
  639. package/dist/lib/runtime-sources/vendor/mbedtls/library/debug_internal.h +185 -0
  640. package/dist/lib/runtime-sources/vendor/mbedtls/library/des.c +1042 -0
  641. package/dist/lib/runtime-sources/vendor/mbedtls/library/dhm.c +700 -0
  642. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecdh.c +696 -0
  643. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecdsa.c +858 -0
  644. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecjpake.c +1216 -0
  645. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecp.c +3674 -0
  646. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecp_curves.c +6125 -0
  647. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecp_curves_new.c +9 -0
  648. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecp_internal_alt.h +287 -0
  649. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecp_invasive.h +305 -0
  650. package/dist/lib/runtime-sources/vendor/mbedtls/library/entropy.c +680 -0
  651. package/dist/lib/runtime-sources/vendor/mbedtls/library/entropy_poll.c +233 -0
  652. package/dist/lib/runtime-sources/vendor/mbedtls/library/entropy_poll.h +64 -0
  653. package/dist/lib/runtime-sources/vendor/mbedtls/library/error.c +878 -0
  654. package/dist/lib/runtime-sources/vendor/mbedtls/library/gcm.c +1330 -0
  655. package/dist/lib/runtime-sources/vendor/mbedtls/library/hkdf.c +161 -0
  656. package/dist/lib/runtime-sources/vendor/mbedtls/library/hmac_drbg.c +633 -0
  657. package/dist/lib/runtime-sources/vendor/mbedtls/library/lmots.c +789 -0
  658. package/dist/lib/runtime-sources/vendor/mbedtls/library/lmots.h +288 -0
  659. package/dist/lib/runtime-sources/vendor/mbedtls/library/lms.c +778 -0
  660. package/dist/lib/runtime-sources/vendor/mbedtls/library/md.c +1108 -0
  661. package/dist/lib/runtime-sources/vendor/mbedtls/library/md5.c +426 -0
  662. package/dist/lib/runtime-sources/vendor/mbedtls/library/md_psa.h +26 -0
  663. package/dist/lib/runtime-sources/vendor/mbedtls/library/md_wrap.h +46 -0
  664. package/dist/lib/runtime-sources/vendor/mbedtls/library/memory_buffer_alloc.c +751 -0
  665. package/dist/lib/runtime-sources/vendor/mbedtls/library/mps_common.h +181 -0
  666. package/dist/lib/runtime-sources/vendor/mbedtls/library/mps_error.h +89 -0
  667. package/dist/lib/runtime-sources/vendor/mbedtls/library/mps_reader.c +538 -0
  668. package/dist/lib/runtime-sources/vendor/mbedtls/library/mps_reader.h +366 -0
  669. package/dist/lib/runtime-sources/vendor/mbedtls/library/mps_trace.c +112 -0
  670. package/dist/lib/runtime-sources/vendor/mbedtls/library/mps_trace.h +154 -0
  671. package/dist/lib/runtime-sources/vendor/mbedtls/library/net_sockets.c +694 -0
  672. package/dist/lib/runtime-sources/vendor/mbedtls/library/nist_kw.c +729 -0
  673. package/dist/lib/runtime-sources/vendor/mbedtls/library/oid.c +1166 -0
  674. package/dist/lib/runtime-sources/vendor/mbedtls/library/padlock.c +157 -0
  675. package/dist/lib/runtime-sources/vendor/mbedtls/library/padlock.h +111 -0
  676. package/dist/lib/runtime-sources/vendor/mbedtls/library/pem.c +554 -0
  677. package/dist/lib/runtime-sources/vendor/mbedtls/library/pk.c +1602 -0
  678. package/dist/lib/runtime-sources/vendor/mbedtls/library/pk_ecc.c +261 -0
  679. package/dist/lib/runtime-sources/vendor/mbedtls/library/pk_internal.h +241 -0
  680. package/dist/lib/runtime-sources/vendor/mbedtls/library/pk_wrap.c +1618 -0
  681. package/dist/lib/runtime-sources/vendor/mbedtls/library/pk_wrap.h +138 -0
  682. package/dist/lib/runtime-sources/vendor/mbedtls/library/pkcs12.c +437 -0
  683. package/dist/lib/runtime-sources/vendor/mbedtls/library/pkcs5.c +500 -0
  684. package/dist/lib/runtime-sources/vendor/mbedtls/library/pkcs7.c +787 -0
  685. package/dist/lib/runtime-sources/vendor/mbedtls/library/pkparse.c +1392 -0
  686. package/dist/lib/runtime-sources/vendor/mbedtls/library/pkwrite.c +631 -0
  687. package/dist/lib/runtime-sources/vendor/mbedtls/library/pkwrite.h +121 -0
  688. package/dist/lib/runtime-sources/vendor/mbedtls/library/platform.c +402 -0
  689. package/dist/lib/runtime-sources/vendor/mbedtls/library/platform_util.c +258 -0
  690. package/dist/lib/runtime-sources/vendor/mbedtls/library/poly1305.c +492 -0
  691. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto.c +9532 -0
  692. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_aead.c +646 -0
  693. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_aead.h +499 -0
  694. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_cipher.c +747 -0
  695. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_cipher.h +316 -0
  696. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_client.c +22 -0
  697. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_core.h +983 -0
  698. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_core_common.h +52 -0
  699. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_driver_wrappers.h +2896 -0
  700. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
  701. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
  702. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_ecp.c +594 -0
  703. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_ecp.h +267 -0
  704. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_ffdh.c +361 -0
  705. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_ffdh.h +131 -0
  706. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_hash.c +470 -0
  707. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_hash.h +211 -0
  708. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_invasive.h +92 -0
  709. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_its.h +131 -0
  710. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_mac.c +505 -0
  711. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_mac.h +264 -0
  712. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_pake.c +571 -0
  713. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_pake.h +159 -0
  714. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_random.c +181 -0
  715. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_random.h +72 -0
  716. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_random_impl.h +200 -0
  717. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_rsa.c +714 -0
  718. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_rsa.h +321 -0
  719. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_se.c +373 -0
  720. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_se.h +192 -0
  721. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_slot_management.c +1137 -0
  722. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_slot_management.h +344 -0
  723. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_storage.c +481 -0
  724. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_storage.h +392 -0
  725. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_its_file.c +254 -0
  726. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_util.c +614 -0
  727. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_util_internal.h +100 -0
  728. package/dist/lib/runtime-sources/vendor/mbedtls/library/ripemd160.c +490 -0
  729. package/dist/lib/runtime-sources/vendor/mbedtls/library/rsa.c +3121 -0
  730. package/dist/lib/runtime-sources/vendor/mbedtls/library/rsa_alt_helpers.c +455 -0
  731. package/dist/lib/runtime-sources/vendor/mbedtls/library/rsa_alt_helpers.h +209 -0
  732. package/dist/lib/runtime-sources/vendor/mbedtls/library/rsa_internal.h +188 -0
  733. package/dist/lib/runtime-sources/vendor/mbedtls/library/sha1.c +480 -0
  734. package/dist/lib/runtime-sources/vendor/mbedtls/library/sha256.c +983 -0
  735. package/dist/lib/runtime-sources/vendor/mbedtls/library/sha3.c +721 -0
  736. package/dist/lib/runtime-sources/vendor/mbedtls/library/sha512.c +1115 -0
  737. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_cache.c +410 -0
  738. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_ciphersuites.c +2050 -0
  739. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_ciphersuites_internal.h +154 -0
  740. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_client.c +1023 -0
  741. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_client.h +22 -0
  742. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_cookie.c +384 -0
  743. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_debug_helpers.h +85 -0
  744. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_debug_helpers_generated.c +251 -0
  745. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_misc.h +3198 -0
  746. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_msg.c +6619 -0
  747. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_ticket.c +556 -0
  748. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls.c +10234 -0
  749. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls12_client.c +3688 -0
  750. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls12_server.c +4311 -0
  751. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls13_client.c +3208 -0
  752. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls13_generic.c +1793 -0
  753. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls13_invasive.h +23 -0
  754. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls13_keys.c +1918 -0
  755. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls13_keys.h +668 -0
  756. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls13_server.c +3624 -0
  757. package/dist/lib/runtime-sources/vendor/mbedtls/library/threading.c +193 -0
  758. package/dist/lib/runtime-sources/vendor/mbedtls/library/threading_internal.h +28 -0
  759. package/dist/lib/runtime-sources/vendor/mbedtls/library/timing.c +152 -0
  760. package/dist/lib/runtime-sources/vendor/mbedtls/library/version.c +32 -0
  761. package/dist/lib/runtime-sources/vendor/mbedtls/library/version_features.c +856 -0
  762. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509.c +1776 -0
  763. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509_create.c +570 -0
  764. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509_crl.c +708 -0
  765. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509_crt.c +3311 -0
  766. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509_csr.c +648 -0
  767. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509_internal.h +101 -0
  768. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509write.c +174 -0
  769. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509write_crt.c +688 -0
  770. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509write_csr.c +336 -0
  771. package/dist/lib/runtime-sources/vendor/quickjs-ng/CMakeLists.txt +566 -0
  772. package/dist/lib/runtime-sources/vendor/quickjs-ng/LICENSE +24 -0
  773. package/dist/lib/runtime-sources/vendor/quickjs-ng/README.md +24 -0
  774. package/dist/lib/runtime-sources/vendor/quickjs-ng/api-test.c +1195 -0
  775. package/dist/lib/runtime-sources/vendor/quickjs-ng/builtin-array-fromasync.h +119 -0
  776. package/dist/lib/runtime-sources/vendor/quickjs-ng/builtin-iterator-zip-keyed.h +332 -0
  777. package/dist/lib/runtime-sources/vendor/quickjs-ng/builtin-iterator-zip.h +337 -0
  778. package/dist/lib/runtime-sources/vendor/quickjs-ng/cutils.h +1998 -0
  779. package/dist/lib/runtime-sources/vendor/quickjs-ng/dtoa.c +1619 -0
  780. package/dist/lib/runtime-sources/vendor/quickjs-ng/dtoa.h +87 -0
  781. package/dist/lib/runtime-sources/vendor/quickjs-ng/gen/function_source.c +81 -0
  782. package/dist/lib/runtime-sources/vendor/quickjs-ng/gen/hello.c +53 -0
  783. package/dist/lib/runtime-sources/vendor/quickjs-ng/gen/hello_module.c +106 -0
  784. package/dist/lib/runtime-sources/vendor/quickjs-ng/gen/repl.c +3036 -0
  785. package/dist/lib/runtime-sources/vendor/quickjs-ng/gen/standalone.c +323 -0
  786. package/dist/lib/runtime-sources/vendor/quickjs-ng/gen/test_fib.c +81 -0
  787. package/dist/lib/runtime-sources/vendor/quickjs-ng/libregexp-opcode.h +73 -0
  788. package/dist/lib/runtime-sources/vendor/quickjs-ng/libregexp.c +3474 -0
  789. package/dist/lib/runtime-sources/vendor/quickjs-ng/libregexp.h +101 -0
  790. package/dist/lib/runtime-sources/vendor/quickjs-ng/libunicode-table.h +5173 -0
  791. package/dist/lib/runtime-sources/vendor/quickjs-ng/libunicode.c +2069 -0
  792. package/dist/lib/runtime-sources/vendor/quickjs-ng/libunicode.h +172 -0
  793. package/dist/lib/runtime-sources/vendor/quickjs-ng/list.h +107 -0
  794. package/dist/lib/runtime-sources/vendor/quickjs-ng/lre-test.c +52 -0
  795. package/dist/lib/runtime-sources/vendor/quickjs-ng/qjs.c +762 -0
  796. package/dist/lib/runtime-sources/vendor/quickjs-ng/qjsc.c +673 -0
  797. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs-atom.h +280 -0
  798. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs-c-atomics.h +54 -0
  799. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs-libc.c +5037 -0
  800. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs-libc.h +87 -0
  801. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs-opcode.h +377 -0
  802. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs.c +64041 -0
  803. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs.h +1447 -0
  804. package/dist/lib/runtime-sources/vendor/quickjs-ng/run-test262.c +2374 -0
  805. package/dist/lib/runtime-sources/vendor/quickjs-ng/unicode_gen.c +3121 -0
  806. package/dist/lib/runtime-sources/vendor/quickjs-ng/unicode_gen_def.h +310 -0
  807. package/dist/lib/runtime-sources/vendor/ryu/LICENSE-Boost +23 -0
  808. package/dist/lib/runtime-sources/vendor/ryu/common.h +114 -0
  809. package/dist/lib/runtime-sources/vendor/ryu/d2s.c +509 -0
  810. package/dist/lib/runtime-sources/vendor/ryu/d2s_full_table.h +367 -0
  811. package/dist/lib/runtime-sources/vendor/ryu/d2s_intrinsics.h +357 -0
  812. package/dist/lib/runtime-sources/vendor/ryu/d2s_small_table.h +186 -0
  813. package/dist/lib/runtime-sources/vendor/ryu/digit_table.h +35 -0
  814. package/dist/lib/runtime-sources/vendor/ryu/ryu.h +46 -0
  815. package/dist/lib/runtime-sources/vendor/unicode/LICENSE +39 -0
  816. package/dist/lib/runtime-sources/vendor/v8-number-radix/LICENSE +61 -0
  817. package/dist/lib/runtime-sources/vendor/zlib/LICENSE +22 -0
  818. package/dist/lib/runtime-sources/vendor/zlib/adler32.c +164 -0
  819. package/dist/lib/runtime-sources/vendor/zlib/compress.c +75 -0
  820. package/dist/lib/runtime-sources/vendor/zlib/crc32.c +1049 -0
  821. package/dist/lib/runtime-sources/vendor/zlib/crc32.h +9446 -0
  822. package/dist/lib/runtime-sources/vendor/zlib/deflate.c +2139 -0
  823. package/dist/lib/runtime-sources/vendor/zlib/deflate.h +377 -0
  824. package/dist/lib/runtime-sources/vendor/zlib/gzclose.c +23 -0
  825. package/dist/lib/runtime-sources/vendor/zlib/gzguts.h +214 -0
  826. package/dist/lib/runtime-sources/vendor/zlib/gzlib.c +582 -0
  827. package/dist/lib/runtime-sources/vendor/zlib/gzread.c +602 -0
  828. package/dist/lib/runtime-sources/vendor/zlib/gzwrite.c +631 -0
  829. package/dist/lib/runtime-sources/vendor/zlib/infback.c +628 -0
  830. package/dist/lib/runtime-sources/vendor/zlib/inffast.c +320 -0
  831. package/dist/lib/runtime-sources/vendor/zlib/inffast.h +11 -0
  832. package/dist/lib/runtime-sources/vendor/zlib/inffixed.h +94 -0
  833. package/dist/lib/runtime-sources/vendor/zlib/inflate.c +1526 -0
  834. package/dist/lib/runtime-sources/vendor/zlib/inflate.h +126 -0
  835. package/dist/lib/runtime-sources/vendor/zlib/inftrees.c +299 -0
  836. package/dist/lib/runtime-sources/vendor/zlib/inftrees.h +62 -0
  837. package/dist/lib/runtime-sources/vendor/zlib/trees.c +1117 -0
  838. package/dist/lib/runtime-sources/vendor/zlib/trees.h +128 -0
  839. package/dist/lib/runtime-sources/vendor/zlib/uncompr.c +85 -0
  840. package/dist/lib/runtime-sources/vendor/zlib/zconf.h +543 -0
  841. package/dist/lib/runtime-sources/vendor/zlib/zlib.h +1938 -0
  842. package/dist/lib/runtime-sources/vendor/zlib/zutil.c +299 -0
  843. package/dist/lib/runtime-sources/vendor/zlib/zutil.h +254 -0
  844. package/dist/lib/scriptc-comptime +0 -0
  845. package/dist/lib/typescript/LICENSE +55 -0
  846. package/dist/lib/typescript/NOTICE.txt +436 -0
  847. package/dist/lib/typescript/lib/lib.d.ts +20 -0
  848. package/dist/lib/typescript/lib/lib.decorators.d.ts +382 -0
  849. package/dist/lib/typescript/lib/lib.decorators.legacy.d.ts +20 -0
  850. package/dist/lib/typescript/lib/lib.dom.asynciterable.d.ts +18 -0
  851. package/dist/lib/typescript/lib/lib.dom.d.ts +45125 -0
  852. package/dist/lib/typescript/lib/lib.dom.iterable.d.ts +18 -0
  853. package/dist/lib/typescript/lib/lib.es2015.collection.d.ts +159 -0
  854. package/dist/lib/typescript/lib/lib.es2015.core.d.ts +595 -0
  855. package/dist/lib/typescript/lib/lib.es2015.d.ts +26 -0
  856. package/dist/lib/typescript/lib/lib.es2015.generator.d.ts +75 -0
  857. package/dist/lib/typescript/lib/lib.es2015.iterable.d.ts +603 -0
  858. package/dist/lib/typescript/lib/lib.es2015.promise.d.ts +79 -0
  859. package/dist/lib/typescript/lib/lib.es2015.proxy.d.ts +126 -0
  860. package/dist/lib/typescript/lib/lib.es2015.reflect.d.ts +142 -0
  861. package/dist/lib/typescript/lib/lib.es2015.symbol.d.ts +44 -0
  862. package/dist/lib/typescript/lib/lib.es2015.symbol.wellknown.d.ts +324 -0
  863. package/dist/lib/typescript/lib/lib.es2016.array.include.d.ts +114 -0
  864. package/dist/lib/typescript/lib/lib.es2016.d.ts +19 -0
  865. package/dist/lib/typescript/lib/lib.es2016.full.d.ts +21 -0
  866. package/dist/lib/typescript/lib/lib.es2016.intl.d.ts +29 -0
  867. package/dist/lib/typescript/lib/lib.es2017.arraybuffer.d.ts +19 -0
  868. package/dist/lib/typescript/lib/lib.es2017.d.ts +24 -0
  869. package/dist/lib/typescript/lib/lib.es2017.date.d.ts +29 -0
  870. package/dist/lib/typescript/lib/lib.es2017.full.d.ts +21 -0
  871. package/dist/lib/typescript/lib/lib.es2017.intl.d.ts +42 -0
  872. package/dist/lib/typescript/lib/lib.es2017.object.d.ts +47 -0
  873. package/dist/lib/typescript/lib/lib.es2017.sharedmemory.d.ts +133 -0
  874. package/dist/lib/typescript/lib/lib.es2017.string.d.ts +47 -0
  875. package/dist/lib/typescript/lib/lib.es2017.typedarrays.d.ts +51 -0
  876. package/dist/lib/typescript/lib/lib.es2018.asyncgenerator.d.ts +75 -0
  877. package/dist/lib/typescript/lib/lib.es2018.asynciterable.d.ts +51 -0
  878. package/dist/lib/typescript/lib/lib.es2018.d.ts +22 -0
  879. package/dist/lib/typescript/lib/lib.es2018.full.d.ts +22 -0
  880. package/dist/lib/typescript/lib/lib.es2018.intl.d.ts +81 -0
  881. package/dist/lib/typescript/lib/lib.es2018.promise.d.ts +28 -0
  882. package/dist/lib/typescript/lib/lib.es2018.regexp.d.ts +35 -0
  883. package/dist/lib/typescript/lib/lib.es2019.array.d.ts +77 -0
  884. package/dist/lib/typescript/lib/lib.es2019.d.ts +22 -0
  885. package/dist/lib/typescript/lib/lib.es2019.full.d.ts +22 -0
  886. package/dist/lib/typescript/lib/lib.es2019.intl.d.ts +21 -0
  887. package/dist/lib/typescript/lib/lib.es2019.object.d.ts +31 -0
  888. package/dist/lib/typescript/lib/lib.es2019.string.d.ts +35 -0
  889. package/dist/lib/typescript/lib/lib.es2019.symbol.d.ts +22 -0
  890. package/dist/lib/typescript/lib/lib.es2020.bigint.d.ts +763 -0
  891. package/dist/lib/typescript/lib/lib.es2020.d.ts +25 -0
  892. package/dist/lib/typescript/lib/lib.es2020.date.d.ts +40 -0
  893. package/dist/lib/typescript/lib/lib.es2020.full.d.ts +22 -0
  894. package/dist/lib/typescript/lib/lib.es2020.intl.d.ts +472 -0
  895. package/dist/lib/typescript/lib/lib.es2020.number.d.ts +26 -0
  896. package/dist/lib/typescript/lib/lib.es2020.promise.d.ts +45 -0
  897. package/dist/lib/typescript/lib/lib.es2020.sharedmemory.d.ts +97 -0
  898. package/dist/lib/typescript/lib/lib.es2020.string.d.ts +42 -0
  899. package/dist/lib/typescript/lib/lib.es2020.symbol.wellknown.d.ts +39 -0
  900. package/dist/lib/typescript/lib/lib.es2021.d.ts +21 -0
  901. package/dist/lib/typescript/lib/lib.es2021.full.d.ts +22 -0
  902. package/dist/lib/typescript/lib/lib.es2021.intl.d.ts +164 -0
  903. package/dist/lib/typescript/lib/lib.es2021.promise.d.ts +46 -0
  904. package/dist/lib/typescript/lib/lib.es2021.string.d.ts +31 -0
  905. package/dist/lib/typescript/lib/lib.es2021.weakref.d.ts +76 -0
  906. package/dist/lib/typescript/lib/lib.es2022.array.d.ts +119 -0
  907. package/dist/lib/typescript/lib/lib.es2022.d.ts +23 -0
  908. package/dist/lib/typescript/lib/lib.es2022.error.d.ts +73 -0
  909. package/dist/lib/typescript/lib/lib.es2022.full.d.ts +22 -0
  910. package/dist/lib/typescript/lib/lib.es2022.intl.d.ts +143 -0
  911. package/dist/lib/typescript/lib/lib.es2022.object.d.ts +24 -0
  912. package/dist/lib/typescript/lib/lib.es2022.regexp.d.ts +37 -0
  913. package/dist/lib/typescript/lib/lib.es2022.string.d.ts +23 -0
  914. package/dist/lib/typescript/lib/lib.es2023.array.d.ts +922 -0
  915. package/dist/lib/typescript/lib/lib.es2023.collection.d.ts +19 -0
  916. package/dist/lib/typescript/lib/lib.es2023.d.ts +20 -0
  917. package/dist/lib/typescript/lib/lib.es2023.full.d.ts +22 -0
  918. package/dist/lib/typescript/lib/lib.es2023.intl.d.ts +62 -0
  919. package/dist/lib/typescript/lib/lib.es2024.arraybuffer.d.ts +63 -0
  920. package/dist/lib/typescript/lib/lib.es2024.collection.d.ts +27 -0
  921. package/dist/lib/typescript/lib/lib.es2024.d.ts +24 -0
  922. package/dist/lib/typescript/lib/lib.es2024.full.d.ts +22 -0
  923. package/dist/lib/typescript/lib/lib.es2024.object.d.ts +27 -0
  924. package/dist/lib/typescript/lib/lib.es2024.promise.d.ts +33 -0
  925. package/dist/lib/typescript/lib/lib.es2024.regexp.d.ts +23 -0
  926. package/dist/lib/typescript/lib/lib.es2024.sharedmemory.d.ts +66 -0
  927. package/dist/lib/typescript/lib/lib.es2024.string.d.ts +27 -0
  928. package/dist/lib/typescript/lib/lib.es2025.collection.d.ts +94 -0
  929. package/dist/lib/typescript/lib/lib.es2025.d.ts +23 -0
  930. package/dist/lib/typescript/lib/lib.es2025.float16.d.ts +443 -0
  931. package/dist/lib/typescript/lib/lib.es2025.full.d.ts +22 -0
  932. package/dist/lib/typescript/lib/lib.es2025.intl.d.ts +200 -0
  933. package/dist/lib/typescript/lib/lib.es2025.iterator.d.ts +146 -0
  934. package/dist/lib/typescript/lib/lib.es2025.promise.d.ts +32 -0
  935. package/dist/lib/typescript/lib/lib.es2025.regexp.d.ts +30 -0
  936. package/dist/lib/typescript/lib/lib.es5.d.ts +4599 -0
  937. package/dist/lib/typescript/lib/lib.es6.d.ts +21 -0
  938. package/dist/lib/typescript/lib/lib.esnext.array.d.ts +33 -0
  939. package/dist/lib/typescript/lib/lib.esnext.collection.d.ts +47 -0
  940. package/dist/lib/typescript/lib/lib.esnext.d.ts +27 -0
  941. package/dist/lib/typescript/lib/lib.esnext.date.d.ts +21 -0
  942. package/dist/lib/typescript/lib/lib.esnext.decorators.d.ts +26 -0
  943. package/dist/lib/typescript/lib/lib.esnext.disposable.d.ts +191 -0
  944. package/dist/lib/typescript/lib/lib.esnext.error.d.ts +22 -0
  945. package/dist/lib/typescript/lib/lib.esnext.full.d.ts +22 -0
  946. package/dist/lib/typescript/lib/lib.esnext.intl.d.ts +107 -0
  947. package/dist/lib/typescript/lib/lib.esnext.sharedmemory.d.ts +23 -0
  948. package/dist/lib/typescript/lib/lib.esnext.temporal.d.ts +485 -0
  949. package/dist/lib/typescript/lib/lib.esnext.typedarrays.d.ts +90 -0
  950. package/dist/lib/typescript/lib/lib.scripthost.d.ts +320 -0
  951. package/dist/lib/typescript/lib/lib.webworker.asynciterable.d.ts +18 -0
  952. package/dist/lib/typescript/lib/lib.webworker.d.ts +15606 -0
  953. package/dist/lib/typescript/lib/lib.webworker.importscripts.d.ts +21 -0
  954. package/dist/lib/typescript/lib/lib.webworker.iterable.d.ts +18 -0
  955. package/dist/lib/typescript/lib/tsc +0 -0
  956. package/dist/lib/typescript/package.json +45 -0
  957. package/dist/lib/wasi/cli/wasi-paths.js +41 -0
  958. package/dist/lib/wasi/cli/wasi-runner.js +28 -0
  959. package/dist/lib/wasi/package.json +1 -0
  960. package/dist/lib/wasi/wasi-paths.js +25 -0
  961. package/package.json +22 -6
  962. package/README.md +0 -3
  963. package/index.js +0 -2
@@ -0,0 +1,1313 @@
1
+ /* Regular expressions (see scr_runtime.h for the API contract).
2
+ *
3
+ * The engine is quickjs-ng's libregexp — the exact ECMAScript regex
4
+ * implementation the dynamic island uses — compiled standalone (libregexp.c
5
+ * + libunicode.c; cutils is header-only) and linked ONLY into programs that
6
+ * contain a regex literal. This file is likewise regex-only: it is NOT in
7
+ * the always-compiled runtime source list (see native-toolchain.ts), so regex-free
8
+ * programs keep a byte-identical link line.
9
+ *
10
+ * - Each literal evaluation creates a refcounted regex with fresh state.
11
+ * Instances share an immortal template per (pattern, flags) pair. The
12
+ * template compiles and caches bytecode LAZILY on first use; a pattern
13
+ * lre_compile rejects aborts with a clear
14
+ * message (Node throws SyntaxError at parse time — documented divergence;
15
+ * rare, since tsc's parser has already syntax-checked the literal).
16
+ * - Subjects are matched as UTF-16: lre_exec runs over a per-call
17
+ * conversion of the UTF-8 subject (cbuf_type 1), so every index libregexp
18
+ * reports is a UTF-16 code-unit index — .length/slice/charCodeAt exact,
19
+ * like Node. Correctness-first: the conversion is O(n) per call.
20
+ * - Match loops mirror quickjs.c's own (JS_RegExpDelete /
21
+ * js_regexp_Symbol_replace): capture buffers are sized by
22
+ * lre_get_alloc_count (NOT capture_count*2 — the executor writes
23
+ * temporary registers past the capture slots), unmatched groups leave
24
+ * NULL pointers, and zero-length matches advance by one code unit — or by
25
+ * a whole surrogate pair under /u (AdvanceStringIndex).
26
+ * - Global and sticky exec/test use numeric lastIndex and update or reset
27
+ * it after matching. String matching/replacement follows its own state
28
+ * rules; matchAll, search, and split preserve the original regex state.
29
+ */
30
+ #include "scr_runtime.h"
31
+
32
+ #include <stdio.h>
33
+ #include <math.h>
34
+ #include <stdlib.h>
35
+ #include <string.h>
36
+
37
+ #include "libregexp.h"
38
+
39
+ static void scr_regex_oom(void) {
40
+ scr_trap("scriptc: out of memory\n");
41
+ }
42
+
43
+ /* ── libregexp host hooks ─────────────────────────────────────────────
44
+ * Static builds provide the minimal hooks (malloc-backed, no interrupt,
45
+ * no stack guard — patterns come from source literals and the executor's
46
+ * backtrack stack is heap-allocated). --dynamic builds MUST NOT define
47
+ * them: the engine archive's quickjs.c already does, with the opaque
48
+ * interpreted as the island's JSContext — so under SCR_DYNAMIC every
49
+ * lre_compile/lre_exec call here passes the island's context instead
50
+ * (forcing lazy engine init on first regex use).
51
+ */
52
+ #ifdef SCR_DYNAMIC
53
+ static void *lre_opaque(void) { return scr_island_lre_opaque(); }
54
+ #else
55
+ static void *lre_opaque(void) { return NULL; }
56
+
57
+ bool lre_check_stack_overflow(void *opaque, size_t alloca_size) {
58
+ (void)opaque;
59
+ (void)alloca_size;
60
+ return false;
61
+ }
62
+
63
+ int lre_check_timeout(void *opaque) {
64
+ (void)opaque;
65
+ return 0;
66
+ }
67
+
68
+ void *lre_realloc(void *opaque, void *ptr, size_t size) {
69
+ (void)opaque;
70
+ if (size == 0) {
71
+ free(ptr);
72
+ return NULL;
73
+ }
74
+ return realloc(ptr, size);
75
+ }
76
+ #endif /* SCR_DYNAMIC */
77
+
78
+ /* ── lazy compilation ─────────────────────────────────────────────────
79
+ * Compiled bytecodes are cached on the immortal ScrRegex statics and freed
80
+ * at exit through lre_realloc (registered AFTER the first compile, so under
81
+ * --dynamic it runs before the LIFO-later island teardown and the island's
82
+ * allocation audit sees the bytecode gone).
83
+ */
84
+
85
+ static SCR_TL ScrRegex **scr_compiled = NULL;
86
+ static SCR_TL size_t scr_compiled_len = 0, scr_compiled_cap = 0;
87
+
88
+ static void scr_regex_free_bytecodes(void) {
89
+ for (size_t i = 0; i < scr_compiled_len; i++) {
90
+ lre_realloc(lre_opaque(), scr_compiled[i]->bc, 0);
91
+ scr_compiled[i]->bc = NULL;
92
+ }
93
+ free(scr_compiled);
94
+ scr_compiled = NULL;
95
+ scr_compiled_len = scr_compiled_cap = 0;
96
+ }
97
+
98
+ static void scr_note_compiled(ScrRegex *re) {
99
+ if (scr_compiled_len == scr_compiled_cap) {
100
+ scr_compiled_cap = scr_compiled_cap ? scr_compiled_cap * 2 : 8;
101
+ scr_compiled = realloc(scr_compiled, scr_compiled_cap * sizeof *scr_compiled);
102
+ if (!scr_compiled) scr_regex_oom();
103
+ }
104
+ if (scr_compiled_len == 0) scr_atexit(scr_regex_free_bytecodes);
105
+ scr_compiled[scr_compiled_len++] = re;
106
+ }
107
+
108
+ /* Flags string → LRE_FLAG_* mask. The frontend fences the flag alphabet to
109
+ * g/i/m/s/u/y, so anything else here is a compiler bug. */
110
+ static int scr_lre_flags(const ScrStr *flags) {
111
+ int mask = 0;
112
+ for (size_t i = 0; i < flags->len; i++) {
113
+ switch (flags->data[i]) {
114
+ case 'g': mask |= LRE_FLAG_GLOBAL; break;
115
+ case 'i': mask |= LRE_FLAG_IGNORECASE; break;
116
+ case 'm': mask |= LRE_FLAG_MULTILINE; break;
117
+ case 's': mask |= LRE_FLAG_DOTALL; break;
118
+ case 'u': mask |= LRE_FLAG_UNICODE; break;
119
+ case 'y': mask |= LRE_FLAG_STICKY; break;
120
+ default:
121
+ scr_trap_fmt("scriptc: internal error: unexpected regex flag '%c'\n",
122
+ flags->data[i]);
123
+ }
124
+ }
125
+ return mask;
126
+ }
127
+
128
+ /* Without /u, JS treats the pattern itself as UTF-16 code units: an astral
129
+ * character in the pattern SOURCE is two separate surrogate units.
130
+ * libregexp expects that spelled as CESU-8 (quickjs feeds it
131
+ * JS_ToCStringLen2(cesu8=true) for non-unicode patterns), so a non-/u
132
+ * pattern containing a 4-byte UTF-8 sequence is re-encoded: each astral
133
+ * code point becomes two 3-byte surrogate encodings. Returns NULL when the
134
+ * pattern needs no re-encoding (the common case — no copy). */
135
+ static char *scr_pattern_cesu8(const ScrStr *src, size_t *plen) {
136
+ bool has_astral = false;
137
+ for (size_t i = 0; i < src->len; i++) {
138
+ if ((unsigned char)src->data[i] >= 0xF0) {
139
+ has_astral = true;
140
+ break;
141
+ }
142
+ }
143
+ if (!has_astral) return NULL;
144
+ char *out = malloc(src->len / 2 * 3 + src->len + 1); /* 4 bytes → 6 worst case */
145
+ if (!out) scr_regex_oom();
146
+ size_t o = 0;
147
+ for (size_t i = 0; i < src->len;) {
148
+ unsigned char c = (unsigned char)src->data[i];
149
+ if (c < 0xF0) {
150
+ out[o++] = src->data[i++];
151
+ continue;
152
+ }
153
+ uint32_t cp = ((uint32_t)(c & 0x07) << 18) |
154
+ ((uint32_t)((unsigned char)src->data[i + 1] & 0x3F) << 12) |
155
+ ((uint32_t)((unsigned char)src->data[i + 2] & 0x3F) << 6) |
156
+ ((unsigned char)src->data[i + 3] & 0x3F);
157
+ i += 4;
158
+ uint32_t hi = 0xD800 + ((cp - 0x10000) >> 10);
159
+ uint32_t lo = 0xDC00 + ((cp - 0x10000) & 0x3FF);
160
+ out[o++] = (char)(0xE0 | (hi >> 12));
161
+ out[o++] = (char)(0x80 | ((hi >> 6) & 0x3F));
162
+ out[o++] = (char)(0x80 | (hi & 0x3F));
163
+ out[o++] = (char)(0xE0 | (lo >> 12));
164
+ out[o++] = (char)(0x80 | ((lo >> 6) & 0x3F));
165
+ out[o++] = (char)(0x80 | (lo & 0x3F));
166
+ }
167
+ /* lre_compile needs the NUL sentinel in ADDITION to buf_len: quickjs
168
+ * always hands it NUL-terminated C strings, and the parser reads *p
169
+ * against '\0' at end-of-pattern (found the hard way — an unterminated
170
+ * buffer reports "extraneous characters at the end"). */
171
+ out[o] = '\0';
172
+ *plen = o;
173
+ return out;
174
+ }
175
+
176
+ /* The compiled bytecode, compiling (and caching) on first use. */
177
+ static uint8_t *scr_regex_bc(ScrRegex *re) {
178
+ if (re->bc) return re->bc;
179
+ if (re->literal) return re->bc = scr_regex_bc(re->literal);
180
+ int flags = scr_lre_flags(re->flags);
181
+ const char *pat = re->source->data;
182
+ size_t pat_len = re->source->len;
183
+ char *cesu = NULL;
184
+ if (!(flags & LRE_FLAG_UNICODE)) {
185
+ cesu = scr_pattern_cesu8(re->source, &pat_len);
186
+ if (cesu) pat = cesu;
187
+ }
188
+ char error_msg[64];
189
+ int bc_len;
190
+ uint8_t *bc = lre_compile(&bc_len, error_msg, sizeof error_msg, pat, pat_len,
191
+ flags, lre_opaque());
192
+ free(cesu);
193
+ if (!bc) {
194
+ /* Node rejects the pattern with a SyntaxError at PARSE time; scriptc
195
+ * compiles lazily, so the failure lands here (documented divergence —
196
+ * tsc's parser has already caught plain syntax errors, so this is
197
+ * rare). */
198
+ fflush(stdout);
199
+ scr_trap_fmt("scriptc: SyntaxError: Invalid regular expression: /%s/%s: %s\n",
200
+ re->source->data, re->flags->data, error_msg);
201
+ }
202
+ re->bc = bc;
203
+ scr_note_compiled(re);
204
+ return bc;
205
+ }
206
+
207
+ /* ── RC entry points ──────────────────────────────────────────────────
208
+ * Literal instances borrow bytecode from their immortal templates;
209
+ * constructed regexes own their compiled bytecode. */
210
+
211
+ void scr_regex_release(ScrRegex *re) {
212
+ if (!re || re->rc == SIZE_MAX) return;
213
+ if (--re->rc == 0) {
214
+ scr_str_release(re->source);
215
+ scr_str_release(re->flags);
216
+ if (re->bc && !re->literal) lre_realloc(lre_opaque(), re->bc, 0);
217
+ free(re);
218
+ }
219
+ }
220
+
221
+ void *scr_regex_retain_v(void *re) { return scr_regex_retain(re); }
222
+ void scr_regex_release_v(void *re) { scr_regex_release(re); }
223
+
224
+ ScrRegex *scr_regex_literal(ScrRegex *literal) {
225
+ ScrRegex *re = calloc(1, sizeof *re);
226
+ if (!re) scr_regex_oom();
227
+ re->rc = 1;
228
+ re->source = scr_str_retain(literal->source);
229
+ re->flags = scr_str_retain(literal->flags);
230
+ re->literal = literal;
231
+ return re;
232
+ }
233
+
234
+ double scr_regex_last_index(ScrRegex *re) { return re->last_index; }
235
+
236
+ ScrStr *scr_regex_source(ScrRegex *re) { return scr_str_retain(re->source); }
237
+ ScrStr *scr_regex_flags(ScrRegex *re) { return scr_str_retain(re->flags); }
238
+ ScrStr *scr_regex_to_string(ScrRegex *re) {
239
+ const char *source = re->source->data;
240
+ size_t len = re->source->len;
241
+ size_t escaped = 0;
242
+ bool in_class = false;
243
+ bool quoted = false;
244
+ for (size_t i = 0; i < len; i++) {
245
+ char c = source[i];
246
+ bool line_separator = i + 2 < len && (unsigned char)c == 0xE2 &&
247
+ (unsigned char)source[i + 1] == 0x80 &&
248
+ ((unsigned char)source[i + 2] == 0xA8 ||
249
+ (unsigned char)source[i + 2] == 0xA9);
250
+ if (!quoted && c == '/' && !in_class) escaped++;
251
+ if (!quoted && (c == '\n' || c == '\r')) escaped++;
252
+ if (!quoted && line_separator) escaped += 3;
253
+ if (!quoted && c == '[') in_class = true;
254
+ else if (!quoted && c == ']') in_class = false;
255
+ if (c == '\\') quoted = !quoted;
256
+ else quoted = false;
257
+ }
258
+ size_t total = 2 + len + escaped + re->flags->len;
259
+ char *buf = malloc(total + 1);
260
+ if (!buf) scr_regex_oom();
261
+ size_t pos = 0;
262
+ buf[pos++] = '/';
263
+ in_class = false;
264
+ quoted = false;
265
+ for (size_t i = 0; i < len; i++) {
266
+ char c = source[i];
267
+ bool line_separator = i + 2 < len && (unsigned char)c == 0xE2 &&
268
+ (unsigned char)source[i + 1] == 0x80 &&
269
+ ((unsigned char)source[i + 2] == 0xA8 ||
270
+ (unsigned char)source[i + 2] == 0xA9);
271
+ if (!quoted && c == '/' && !in_class) buf[pos++] = '\\';
272
+ if (!quoted && line_separator) {
273
+ buf[pos++] = '\\';
274
+ buf[pos++] = 'u';
275
+ buf[pos++] = '2';
276
+ buf[pos++] = '0';
277
+ buf[pos++] = '2';
278
+ buf[pos++] = source[i + 2] == (char)0xA8 ? '8' : '9';
279
+ i += 2;
280
+ quoted = false;
281
+ continue;
282
+ }
283
+ if (!quoted && (c == '\n' || c == '\r')) {
284
+ buf[pos++] = '\\';
285
+ c = c == '\n' ? 'n' : 'r';
286
+ }
287
+ buf[pos++] = c;
288
+ if (!quoted && c == '[') in_class = true;
289
+ else if (!quoted && c == ']') in_class = false;
290
+ if (source[i] == '\\') quoted = !quoted;
291
+ else quoted = false;
292
+ }
293
+ buf[pos++] = '/';
294
+ memcpy(buf + pos, re->flags->data, re->flags->len);
295
+ pos += re->flags->len;
296
+ buf[pos] = '\0';
297
+ ScrStr *out = scr_str_new(buf, pos);
298
+ free(buf);
299
+ return out;
300
+ }
301
+
302
+ /* ── UTF-8 ⇄ UTF-16 (the exec buffer strategy) ──────────────────────── */
303
+
304
+ /* Subject as freshly-malloc'd UTF-16 code units (strings are well-formed
305
+ * UTF-8, so no validation). Unit count ≤ byte count. */
306
+ static uint16_t *scr_to_utf16(const ScrStr *s, int *plen) {
307
+ uint16_t *u = malloc((s->len ? s->len : 1) * sizeof(uint16_t));
308
+ if (!u) scr_regex_oom();
309
+ int n = 0;
310
+ for (size_t i = 0; i < s->len;) {
311
+ unsigned char c = (unsigned char)s->data[i];
312
+ uint32_t cp;
313
+ if (c < 0x80) {
314
+ cp = c;
315
+ i += 1;
316
+ } else if (c < 0xE0) {
317
+ cp = ((uint32_t)(c & 0x1F) << 6) | ((unsigned char)s->data[i + 1] & 0x3F);
318
+ i += 2;
319
+ } else if (c < 0xF0) {
320
+ cp = ((uint32_t)(c & 0x0F) << 12) |
321
+ ((uint32_t)((unsigned char)s->data[i + 1] & 0x3F) << 6) |
322
+ ((unsigned char)s->data[i + 2] & 0x3F);
323
+ i += 3;
324
+ } else {
325
+ cp = ((uint32_t)(c & 0x07) << 18) |
326
+ ((uint32_t)((unsigned char)s->data[i + 1] & 0x3F) << 12) |
327
+ ((uint32_t)((unsigned char)s->data[i + 2] & 0x3F) << 6) |
328
+ ((unsigned char)s->data[i + 3] & 0x3F);
329
+ i += 4;
330
+ }
331
+ if (cp >= 0x10000) {
332
+ u[n++] = (uint16_t)(0xD800 + ((cp - 0x10000) >> 10));
333
+ u[n++] = (uint16_t)(0xDC00 + ((cp - 0x10000) & 0x3FF));
334
+ } else {
335
+ u[n++] = (uint16_t)cp;
336
+ }
337
+ }
338
+ *plen = n;
339
+ return u;
340
+ }
341
+
342
+ /* Append u[start..end) as UTF-8. A lone surrogate (a non-/u match boundary
343
+ * split an astral pair) becomes U+FFFD — the house rule for JS results that
344
+ * are not well-formed UTF-16 (same divergence class as charAt/slice,
345
+ * SEMANTICS.md). */
346
+ static void scr_jb_put_utf16(ScrJsonBuf *b, const uint16_t *u, int start, int end) {
347
+ for (int i = start; i < end; i++) {
348
+ uint32_t cp = u[i];
349
+ if (cp >= 0xD800 && cp < 0xDC00 && i + 1 < end && u[i + 1] >= 0xDC00 &&
350
+ u[i + 1] < 0xE000) {
351
+ cp = 0x10000 + ((cp - 0xD800) << 10) + (u[i + 1] - 0xDC00);
352
+ i++;
353
+ } else if (cp >= 0xD800 && cp < 0xE000) {
354
+ cp = 0xFFFD;
355
+ }
356
+ if (cp < 0x80) {
357
+ scr_jb_putc(b, (char)cp);
358
+ } else if (cp < 0x800) {
359
+ scr_jb_putc(b, (char)(0xC0 | (cp >> 6)));
360
+ scr_jb_putc(b, (char)(0x80 | (cp & 0x3F)));
361
+ } else if (cp < 0x10000) {
362
+ scr_jb_putc(b, (char)(0xE0 | (cp >> 12)));
363
+ scr_jb_putc(b, (char)(0x80 | ((cp >> 6) & 0x3F)));
364
+ scr_jb_putc(b, (char)(0x80 | (cp & 0x3F)));
365
+ } else {
366
+ scr_jb_putc(b, (char)(0xF0 | (cp >> 18)));
367
+ scr_jb_putc(b, (char)(0x80 | ((cp >> 12) & 0x3F)));
368
+ scr_jb_putc(b, (char)(0x80 | ((cp >> 6) & 0x3F)));
369
+ scr_jb_putc(b, (char)(0x80 | (cp & 0x3F)));
370
+ }
371
+ }
372
+ }
373
+
374
+ static ScrStr *scr_str_from_utf16(const uint16_t *u, int start, int end) {
375
+ ScrJsonBuf b;
376
+ scr_jb_init(&b);
377
+ scr_jb_put_utf16(&b, u, start, end);
378
+ return scr_jb_finish(&b);
379
+ }
380
+
381
+ /* ── exec plumbing ────────────────────────────────────────────────────── */
382
+
383
+ /* One lre_exec over the UTF-16 subject. Returns 1 (match), 0 (no match);
384
+ * engine-level failures (OOM, corrupt bytecode — no timeout handler is
385
+ * installed) abort like every runtime OOM. */
386
+ static int scr_exec(uint8_t **capture, const uint8_t *bc, const uint16_t *u,
387
+ int index, int len) {
388
+ int rc = lre_exec(capture, bc, (const uint8_t *)u, index, len, 1, lre_opaque());
389
+ if (rc < 0) {
390
+ fflush(stdout);
391
+ scr_trap("scriptc: regular expression execution failed\n");
392
+ }
393
+ return rc;
394
+ }
395
+
396
+ /* Capture buffer sized by lre_get_alloc_count: the register-based executor
397
+ * writes temporary registers past the capture pairs (quickjs.c documents
398
+ * sizing by capture_count*2 as a silent heap overflow). */
399
+ static uint8_t **scr_capture_alloc(const uint8_t *bc) {
400
+ int n = lre_get_alloc_count(bc);
401
+ uint8_t **cap = malloc((n > 0 ? (size_t)n : 1) * sizeof *cap);
402
+ if (!cap) scr_regex_oom();
403
+ return cap;
404
+ }
405
+
406
+ /* ECMA-262 AdvanceStringIndex: past a whole surrogate pair under /u, one
407
+ * code unit otherwise — the rule that keeps zero-length matches from
408
+ * looping forever. */
409
+ static int scr_advance(const uint16_t *u, int len, int i, bool unicode) {
410
+ if (unicode && i + 1 < len && u[i] >= 0xD800 && u[i] < 0xDC00 &&
411
+ u[i + 1] >= 0xDC00 && u[i + 1] < 0xE000) {
412
+ return i + 2;
413
+ }
414
+ return i + 1;
415
+ }
416
+
417
+ /* ── test ─────────────────────────────────────────────────────────────── */
418
+
419
+ void scr_regex_reset_last_index(ScrRegex *re, double index) {
420
+ re->last_index = index;
421
+ }
422
+
423
+ bool scr_regex_test(ScrRegex *re, ScrStr *s) {
424
+ ScrArr *result = scr_regex_exec(s, re);
425
+ bool matched = result != NULL;
426
+ scr_arr_release(result);
427
+ return matched;
428
+ }
429
+
430
+ static int scr_regex_start(ScrRegex *re, int len) {
431
+ double index = re->last_index;
432
+ if (isnan(index) || index <= 0) return 0;
433
+ if (index > len) return -1;
434
+ return (int)floor(index);
435
+ }
436
+
437
+ /* ── match ────────────────────────────────────────────────────────────── */
438
+
439
+ /* re.exec(s): a fresh string[] of [whole match, ...captures], or NULL
440
+ * for no match (the compiler wraps the `string[] | null` union). Global
441
+ * and sticky regexes start at lastIndex, set it to the match end, and
442
+ * reset it on failure. Nonparticipating captures retain the documented
443
+ * empty-string representation. */
444
+ ScrArr *scr_regex_exec(ScrStr *s, ScrRegex *re) {
445
+ uint8_t *bc = scr_regex_bc(re);
446
+ bool stateful = (lre_get_flags(bc) & (LRE_FLAG_GLOBAL | LRE_FLAG_STICKY)) != 0;
447
+ int len;
448
+ uint16_t *u = scr_to_utf16(s, &len);
449
+ uint8_t **capture = scr_capture_alloc(bc);
450
+ int pos = stateful ? scr_regex_start(re, len) : 0;
451
+ int rc = pos < 0 ? 0 : scr_exec(capture, bc, u, pos, len);
452
+ if (stateful) re->last_index = rc == 1
453
+ ? (double)((capture[1] - (const uint8_t *)u) >> 1) : 0;
454
+ ScrArr *out = NULL;
455
+ if (rc == 1) {
456
+ const uint8_t *ubase = (const uint8_t *)u;
457
+ int count = lre_get_capture_count(bc);
458
+ out = scr_arr_new(SCR_ELEM_STR, (size_t)count);
459
+ out->metadata = scr_dyn_new_obj();
460
+ scr_dyn_obj_set(out->metadata, "index", 5, scr_dyn_new_num((double)((capture[0] - ubase) >> 1)));
461
+ scr_dyn_obj_set(out->metadata, "input", 5, scr_dyn_new_str(s));
462
+ for (int k = 0; k < count; k++) {
463
+ const uint8_t *cs = capture[2 * k], *ce = capture[2 * k + 1];
464
+ if (cs == NULL || ce == NULL) {
465
+ scr_arr_push_ref(out, scr_str_new("", 0));
466
+ } else {
467
+ scr_arr_push_ref(
468
+ out, scr_str_from_utf16(u, (int)((cs - ubase) >> 1), (int)((ce - ubase) >> 1)));
469
+ }
470
+ }
471
+ }
472
+ free(capture);
473
+ free(u);
474
+ return out; /* +1, or NULL (no match) */
475
+ }
476
+
477
+ /* Global Symbol.match always starts at zero and drains whole matches,
478
+ * ignoring capture groups. Its terminating failed exec resets lastIndex
479
+ * to zero, so no state escapes this internal iteration. Sticky globals
480
+ * stop at the first gap; empty matches advance by a Unicode code point
481
+ * under /u and by one UTF-16 unit otherwise. */
482
+ ScrArr *scr_regex_match(ScrStr *s, ScrRegex *re) {
483
+ uint8_t *bc = scr_regex_bc(re);
484
+ int flags = lre_get_flags(bc);
485
+ if (!(flags & LRE_FLAG_GLOBAL)) return scr_regex_exec(s, re);
486
+ re->last_index = 0;
487
+ bool unicode = (flags & (LRE_FLAG_UNICODE | LRE_FLAG_UNICODE_SETS)) != 0;
488
+ int len;
489
+ uint16_t *u = scr_to_utf16(s, &len);
490
+ uint8_t **capture = scr_capture_alloc(bc);
491
+ const uint8_t *ubase = (const uint8_t *)u;
492
+ ScrArr *out = NULL;
493
+ int pos = scr_regex_start(re, len);
494
+ if (pos < 0) pos = len + 1;
495
+ while (pos <= len && scr_exec(capture, bc, u, pos, len) == 1) {
496
+ int start = (int)((capture[0] - ubase) >> 1);
497
+ int end = (int)((capture[1] - ubase) >> 1);
498
+ if (!out) out = scr_arr_new(SCR_ELEM_STR, 4);
499
+ scr_arr_push_ref(out, scr_str_from_utf16(u, start, end));
500
+ pos = start == end ? scr_advance(u, len, end, unicode) : end;
501
+ }
502
+ free(capture);
503
+ free(u);
504
+ return out;
505
+ }
506
+
507
+ /* ── search ───────────────────────────────────────────────────────────── */
508
+
509
+ /* s.search(re): the first match's UTF-16 index, or -1 — Symbol.search's
510
+ * fresh exec from position 0. lastIndex is neither read nor written in JS
511
+ * (the spec saves and restores it): /g is irrelevant and /y anchors at 0
512
+ * (libregexp's sticky
513
+ * bytecode omits the implicit forward scan) — exactly Node. */
514
+ double scr_regex_search(ScrStr *s, ScrRegex *re) {
515
+ uint8_t *bc = scr_regex_bc(re);
516
+ int len;
517
+ uint16_t *u = scr_to_utf16(s, &len);
518
+ uint8_t **capture = scr_capture_alloc(bc);
519
+ int rc = scr_exec(capture, bc, u, 0, len);
520
+ double out = -1;
521
+ if (rc == 1) out = (double)((capture[0] - (const uint8_t *)u) >> 1);
522
+ free(capture);
523
+ free(u);
524
+ return out;
525
+ }
526
+
527
+ /* matchAll(re): every match as its honest slice string[] (whole match +
528
+ * captures, nonparticipating = "" — match()'s rule) drained EAGERLY into
529
+ * a fresh string[][]. The lazy iterator is unobservable across the
530
+ * lowered surface: strings are immutable and the spec clones the regex at
531
+ * the call, so nothing can perturb the drain. Non-global regexes throw
532
+ * Node's exact TypeError (catchable — replaceAll's stance). Empty matches
533
+ * advance one unit, unicode-aware (AdvanceStringIndex). `indices`, when
534
+ * non-NULL, receives each match's UTF-16 start index (the row's .index —
535
+ * the companion array the for-of-over-matchAll desugar reads). */
536
+ static ScrArr *scr_regex_match_all_core(ScrStr *s, ScrRegex *re, ScrArr *indices) {
537
+ uint8_t *bc = scr_regex_bc(re);
538
+ int re_flags = lre_get_flags(bc);
539
+ if (!(re_flags & LRE_FLAG_GLOBAL)) {
540
+ static const char msg[] =
541
+ "String.prototype.matchAll called with a non-global RegExp argument";
542
+ scr_throw_error_msg(SCR_ERR_TYPE, msg, sizeof msg - 1);
543
+ return NULL; /* callers are compiler-emitted pending checks */
544
+ }
545
+ bool unicode = (re_flags & (LRE_FLAG_UNICODE | LRE_FLAG_UNICODE_SETS)) != 0;
546
+ int capture_count = lre_get_capture_count(bc);
547
+ int len;
548
+ uint16_t *u = scr_to_utf16(s, &len);
549
+ uint8_t **capture = scr_capture_alloc(bc);
550
+ const uint8_t *ubase = (const uint8_t *)u;
551
+ ScrArr *out = scr_arr_new(SCR_ELEM_ARR, 4);
552
+ int pos = scr_regex_start(re, len);
553
+ if (pos < 0) pos = len + 1;
554
+ while (pos <= len) {
555
+ if (scr_exec(capture, bc, u, pos, len) != 1) break;
556
+ int start = (int)((capture[0] - ubase) >> 1);
557
+ int end = (int)((capture[1] - ubase) >> 1);
558
+ ScrArr *row = scr_arr_new(SCR_ELEM_STR, (size_t)capture_count);
559
+ for (int k = 0; k < capture_count; k++) {
560
+ const uint8_t *cs = capture[2 * k], *ce = capture[2 * k + 1];
561
+ if (cs == NULL || ce == NULL) {
562
+ scr_arr_push_ref(row, scr_str_new("", 0));
563
+ } else {
564
+ scr_arr_push_ref(
565
+ row, scr_str_from_utf16(u, (int)((cs - ubase) >> 1), (int)((ce - ubase) >> 1)));
566
+ }
567
+ }
568
+ scr_arr_push_ref(out, row);
569
+ if (indices != NULL) scr_arr_push_f64(indices, (double)start);
570
+ pos = end == start ? scr_advance(u, len, end, unicode) : end;
571
+ }
572
+ free(capture);
573
+ free(u);
574
+ return out; /* +1 (possibly empty — Node's no-match drain is []) */
575
+ }
576
+
577
+ ScrArr *scr_regex_match_all(ScrStr *s, ScrRegex *re) {
578
+ return scr_regex_match_all_core(s, re, NULL);
579
+ }
580
+
581
+ ScrArr *scr_regex_match_all_into(ScrStr *s, ScrRegex *re, ScrArr *indices) {
582
+ return scr_regex_match_all_core(s, re, indices);
583
+ }
584
+
585
+ /* ── replace / replaceAll ─────────────────────────────────────────────── */
586
+
587
+ /* ECMA-262 GetSubstitution over the replacement TEMPLATE (function
588
+ * replacements are frontend-fenced): $$, $&, $` and $', $1..$99 (two digits
589
+ * win when in range — the refined ES2019 rule quickjs implements), with
590
+ * out-of-range references left literal and unmatched groups substituting
591
+ * empty. $<name> resolves against the pattern's named capture groups
592
+ * (lre_get_groupnames — one NUL-terminated name per capture, "" for
593
+ * unnamed): the first PARTICIPATING capture with that name substitutes
594
+ * (ES2025 duplicates live in distinct alternatives, so at most one
595
+ * participates); a nonexistent or nonparticipating name substitutes
596
+ * empty (the spec's Get→undefined→"" path, Node-exact). When the pattern
597
+ * has NO named groups, namedCaptures is undefined and '$<' stays literal
598
+ * — also Node's unterminated-'$<name' answer either way. The template is
599
+ * scanned byte-wise: every '$' directive is ASCII, and UTF-8 continuation
600
+ * bytes can never alias it. */
601
+ static void scr_put_substitution(ScrJsonBuf *b, const uint16_t *u, int len,
602
+ int start, int end, uint8_t **capture,
603
+ int capture_count, const char *groupnames,
604
+ const ScrStr *rep) {
605
+ const uint8_t *ubase = (const uint8_t *)u;
606
+ size_t i = 0;
607
+ while (i < rep->len) {
608
+ char c = rep->data[i];
609
+ if (c != '$' || i + 1 >= rep->len) {
610
+ scr_jb_putc(b, c);
611
+ i++;
612
+ continue;
613
+ }
614
+ char c1 = rep->data[i + 1];
615
+ if (c1 == '$') {
616
+ scr_jb_putc(b, '$');
617
+ i += 2;
618
+ } else if (c1 == '&') {
619
+ scr_jb_put_utf16(b, u, start, end);
620
+ i += 2;
621
+ } else if (c1 == '`') {
622
+ scr_jb_put_utf16(b, u, 0, start);
623
+ i += 2;
624
+ } else if (c1 == '\'') {
625
+ scr_jb_put_utf16(b, u, end, len);
626
+ i += 2;
627
+ } else if (c1 >= '0' && c1 <= '9') {
628
+ int k = c1 - '0';
629
+ size_t adv = 2;
630
+ if (i + 2 < rep->len && rep->data[i + 2] >= '0' && rep->data[i + 2] <= '9') {
631
+ int k1 = k * 10 + (rep->data[i + 2] - '0');
632
+ if (k1 >= 1 && k1 < capture_count) {
633
+ k = k1;
634
+ adv = 3;
635
+ }
636
+ }
637
+ if (k >= 1 && k < capture_count) {
638
+ const uint8_t *cs = capture[2 * k], *ce = capture[2 * k + 1];
639
+ if (cs && ce) {
640
+ scr_jb_put_utf16(b, u, (int)((cs - ubase) >> 1), (int)((ce - ubase) >> 1));
641
+ }
642
+ i += adv;
643
+ } else {
644
+ /* Out of range: the '$' is literal (the digits re-scan verbatim). */
645
+ scr_jb_putc(b, '$');
646
+ i++;
647
+ }
648
+ } else if (c1 == '<' && groupnames != NULL) {
649
+ /* $<name>: scan for '>'; absent, the '$' is literal (the rest
650
+ * re-scans verbatim — GetSubstitution's not-found answer). */
651
+ size_t gt = i + 2;
652
+ while (gt < rep->len && rep->data[gt] != '>') gt++;
653
+ if (gt >= rep->len) {
654
+ scr_jb_putc(b, '$');
655
+ i++;
656
+ continue;
657
+ }
658
+ const char *name = rep->data + i + 2;
659
+ size_t name_len = gt - (i + 2);
660
+ const char *p = groupnames; /* capture_count-1 entries: name NUL scope */
661
+ for (int k = 1; k < capture_count; k++) {
662
+ size_t glen = strlen(p);
663
+ if (glen == name_len && memcmp(p, name, name_len) == 0) {
664
+ const uint8_t *cs = capture[2 * k], *ce = capture[2 * k + 1];
665
+ if (cs && ce) {
666
+ scr_jb_put_utf16(b, u, (int)((cs - ubase) >> 1), (int)((ce - ubase) >> 1));
667
+ break; /* at most one duplicate participates */
668
+ }
669
+ }
670
+ p += glen + LRE_GROUP_NAME_TRAILER_LEN;
671
+ }
672
+ i = gt + 1;
673
+ } else {
674
+ scr_jb_putc(b, '$');
675
+ i++;
676
+ }
677
+ }
678
+ }
679
+
680
+ /* The shared match loop (the shape of quickjs's JS_RegExpDelete): search
681
+ * from `pos`, copy the gap, emit the substitution, continue from the match
682
+ * end when global — advancing zero-length matches per AdvanceStringIndex. */
683
+ static ScrStr *scr_replace_impl(ScrStr *s, ScrRegex *re, ScrStr *rep) {
684
+ uint8_t *bc = scr_regex_bc(re);
685
+ int re_flags = lre_get_flags(bc);
686
+ bool global = (re_flags & LRE_FLAG_GLOBAL) != 0;
687
+ bool sticky = (re_flags & LRE_FLAG_STICKY) != 0;
688
+ bool unicode = (re_flags & (LRE_FLAG_UNICODE | LRE_FLAG_UNICODE_SETS)) != 0;
689
+ int capture_count = lre_get_capture_count(bc);
690
+ const char *groupnames = lre_get_groupnames(bc);
691
+ int len;
692
+ uint16_t *u = scr_to_utf16(s, &len);
693
+ uint8_t **capture = scr_capture_alloc(bc);
694
+ const uint8_t *ubase = (const uint8_t *)u;
695
+ ScrJsonBuf b;
696
+ scr_jb_init(&b);
697
+ if (global) re->last_index = 0;
698
+ int next = 0, pos = sticky ? scr_regex_start(re, len) : 0;
699
+ if (pos < 0) pos = len + 1;
700
+ if (sticky && !global) re->last_index = 0;
701
+ while (pos <= len) {
702
+ if (scr_exec(capture, bc, u, pos, len) != 1) break;
703
+ int start = (int)((capture[0] - ubase) >> 1);
704
+ int end = (int)((capture[1] - ubase) >> 1);
705
+ if (sticky && !global) re->last_index = end;
706
+ scr_jb_put_utf16(&b, u, next, start);
707
+ scr_put_substitution(&b, u, len, start, end, capture, capture_count, groupnames, rep);
708
+ next = end;
709
+ if (!global) break;
710
+ pos = end == start ? scr_advance(u, len, end, unicode) : end;
711
+ }
712
+ scr_jb_put_utf16(&b, u, next, len);
713
+ free(capture);
714
+ free(u);
715
+ return scr_jb_finish(&b);
716
+ }
717
+
718
+ ScrStr *scr_regex_replace(ScrStr *s, ScrRegex *re, ScrStr *rep) {
719
+ return scr_replace_impl(s, re, rep);
720
+ }
721
+
722
+ ScrStr *scr_regex_replace_all(ScrStr *s, ScrRegex *re, ScrStr *rep) {
723
+ if (!(lre_get_flags(scr_regex_bc(re)) & LRE_FLAG_GLOBAL)) {
724
+ /* Node's exact TypeError — a real instance now: catch bindings narrow
725
+ * it and e.message carries V8's text byte-for-byte. */
726
+ static const char msg[] =
727
+ "String.prototype.replaceAll called with a non-global RegExp argument";
728
+ scr_throw_error_msg(SCR_ERR_TYPE, msg, sizeof msg - 1);
729
+ return NULL; /* callers are compiler-emitted pending checks */
730
+ }
731
+ return scr_replace_impl(s, re, rep);
732
+ }
733
+
734
+ /* ── split ────────────────────────────────────────────────────────────── */
735
+
736
+ ScrArr *scr_regex_split_limit(ScrStr *s, ScrRegex *re, double limit_num) {
737
+ uint8_t *bc = scr_regex_bc(re);
738
+ uint32_t limit = scr_to_uint32(limit_num);
739
+ if (limit == 0) return scr_arr_new(SCR_ELEM_STR, 0);
740
+ int capture_count = lre_get_capture_count(bc);
741
+ int re_flags = lre_get_flags(bc);
742
+ bool unicode = (re_flags & (LRE_FLAG_UNICODE | LRE_FLAG_UNICODE_SETS)) != 0;
743
+ bool sticky = (re_flags & LRE_FLAG_STICKY) != 0;
744
+ int len;
745
+ uint16_t *u = scr_to_utf16(s, &len);
746
+ uint8_t **capture = scr_capture_alloc(bc);
747
+ const uint8_t *ubase = (const uint8_t *)u;
748
+ ScrArr *out = scr_arr_new(SCR_ELEM_STR, 0);
749
+
750
+ /* ECMA-262 22.2.6.14 (Symbol.split). The spec probes every
751
+ * position with a sticky matcher; for non-sticky patterns a forward
752
+ * SEARCH from q is equivalent (the earliest match position >= q is the
753
+ * first probe that would succeed) and one exec replaces the per-position
754
+ * loop. A genuinely sticky pattern keeps the spec's probe-and-advance. */
755
+ if (len == 0) {
756
+ /* Empty subject: one probe — a match yields [], no match yields [""]. */
757
+ if (scr_exec(capture, bc, u, 0, len) != 1) {
758
+ scr_arr_push_ref(out, scr_str_new("", 0));
759
+ }
760
+ free(capture);
761
+ free(u);
762
+ return out;
763
+ }
764
+ int p = 0, q = 0;
765
+ while (q < len) {
766
+ if (scr_exec(capture, bc, u, q, len) != 1) {
767
+ if (!sticky) break; /* no match anywhere right of q */
768
+ q = scr_advance(u, len, q, unicode);
769
+ continue;
770
+ }
771
+ int start = (int)((capture[0] - ubase) >> 1);
772
+ int end = (int)((capture[1] - ubase) >> 1);
773
+ /* The sticky algorithm never probes the position after the subject.
774
+ * A forward search can find a zero-width match there; exclude it. */
775
+ if (start == len) break;
776
+ if (end == p) {
777
+ /* Zero-length match adjacent to the previous split point: advance
778
+ * (start == q == p here — the search cannot skip a match). */
779
+ q = scr_advance(u, len, start, unicode);
780
+ } else {
781
+ scr_arr_push_ref(out, scr_str_from_utf16(u, p, start));
782
+ if (out->len == limit) goto done;
783
+ for (int group = 1; group < capture_count; group++) {
784
+ const uint8_t *from = capture[2 * group];
785
+ const uint8_t *to = capture[2 * group + 1];
786
+ if (from == NULL || to == NULL) {
787
+ // Nonparticipating captures are present undefined elements,
788
+ // distinct from both empty strings and holes.
789
+ scr_arr_set_undefined(out, (double)out->len);
790
+ } else {
791
+ scr_arr_push_ref(out, scr_str_from_utf16(u,
792
+ (int)((from - ubase) >> 1), (int)((to - ubase) >> 1)));
793
+ }
794
+ if (out->len == limit) goto done;
795
+ }
796
+ p = end;
797
+ q = p;
798
+ }
799
+ }
800
+ scr_arr_push_ref(out, scr_str_from_utf16(u, p, len));
801
+ done:
802
+ free(capture);
803
+ free(u);
804
+ return out;
805
+ }
806
+
807
+ ScrArr *scr_regex_split(ScrStr *s, ScrRegex *re) {
808
+ return scr_regex_split_limit(s, re, 4294967295.0);
809
+ }
810
+
811
+ /* ── String.prototype.toLowerCase / toUpperCase (the static path) ──────
812
+ * ECMA-262 Default Case Conversion via the vendored libunicode's
813
+ * lre_case_conv — the exact tables and algorithm the engine's own
814
+ * String.prototype methods run (quickjs.c's js_string_toLowerCase), the
815
+ * context-sensitive Greek final-sigma rule included. Lives HERE, not in
816
+ * scr_string.c, because it needs libunicode: the compiler sets the lre
817
+ * link flag for case-conversion sites exactly like regex nodes, so
818
+ * case-free (and regex-free) programs keep their historical link line.
819
+ * Node runs full ICU case mapping, but for the locale-independent
820
+ * toLowerCase/toUpperCase the two agree — ICU's locale tailorings
821
+ * (Turkish/Azeri dotted I, Lithuanian accent handling) apply only to
822
+ * toLocaleLowerCase with an explicit locale, which stays fenced. The
823
+ * receiver is BORROWED; the result is a fresh +1 string. */
824
+
825
+ /* Decode the code point at p (well-formed UTF-8); *adv gets the length. */
826
+ static uint32_t scr_case_decode(const char *p, size_t *adv) {
827
+ unsigned char c = (unsigned char)p[0];
828
+ if (c < 0x80) {
829
+ *adv = 1;
830
+ return c;
831
+ }
832
+ if (c < 0xE0) {
833
+ *adv = 2;
834
+ return ((uint32_t)(c & 0x1F) << 6) | ((unsigned char)p[1] & 0x3F);
835
+ }
836
+ if (c < 0xF0) {
837
+ *adv = 3;
838
+ return ((uint32_t)(c & 0x0F) << 12) |
839
+ ((uint32_t)((unsigned char)p[1] & 0x3F) << 6) |
840
+ ((unsigned char)p[2] & 0x3F);
841
+ }
842
+ *adv = 4;
843
+ return ((uint32_t)(c & 0x07) << 18) |
844
+ ((uint32_t)((unsigned char)p[1] & 0x3F) << 12) |
845
+ ((uint32_t)((unsigned char)p[2] & 0x3F) << 6) |
846
+ ((unsigned char)p[3] & 0x3F);
847
+ }
848
+
849
+ /* Step back one code point from *off (> 0) and decode it. */
850
+ static uint32_t scr_case_prev(const ScrStr *s, size_t *off) {
851
+ size_t i = *off;
852
+ do {
853
+ i--;
854
+ } while (i > 0 && ((unsigned char)s->data[i] & 0xC0) == 0x80);
855
+ *off = i;
856
+ size_t adv;
857
+ return scr_case_decode(s->data + i, &adv);
858
+ }
859
+
860
+ /* Unicode Final_Sigma: Σ is preceded by a cased letter (after skipping
861
+ * case-ignorable characters) and NOT followed by one — quickjs.c's
862
+ * test_final_sigma over the UTF-8 storage. `next_off` is the byte offset
863
+ * just past the sigma. */
864
+ static bool scr_final_sigma(const ScrStr *s, size_t sigma_off, size_t next_off) {
865
+ size_t k = sigma_off;
866
+ uint32_t c1;
867
+ for (;;) {
868
+ if (k == 0) return false; /* nothing cased before C */
869
+ c1 = scr_case_prev(s, &k);
870
+ if (!lre_is_case_ignorable(c1)) break;
871
+ }
872
+ if (!lre_is_cased(c1)) return false;
873
+ k = next_off;
874
+ for (;;) {
875
+ if (k >= s->len) return true;
876
+ size_t adv;
877
+ c1 = scr_case_decode(s->data + k, &adv);
878
+ k += adv;
879
+ if (!lre_is_case_ignorable(c1)) break;
880
+ }
881
+ return !lre_is_cased(c1);
882
+ }
883
+
884
+ /* Append one code point as UTF-8 (case results never mint surrogates). */
885
+ static void scr_case_put_cp(ScrJsonBuf *b, uint32_t cp) {
886
+ if (cp < 0x80) {
887
+ scr_jb_putc(b, (char)cp);
888
+ } else if (cp < 0x800) {
889
+ scr_jb_putc(b, (char)(0xC0 | (cp >> 6)));
890
+ scr_jb_putc(b, (char)(0x80 | (cp & 0x3F)));
891
+ } else if (cp < 0x10000) {
892
+ scr_jb_putc(b, (char)(0xE0 | (cp >> 12)));
893
+ scr_jb_putc(b, (char)(0x80 | ((cp >> 6) & 0x3F)));
894
+ scr_jb_putc(b, (char)(0x80 | (cp & 0x3F)));
895
+ } else {
896
+ scr_jb_putc(b, (char)(0xF0 | (cp >> 18)));
897
+ scr_jb_putc(b, (char)(0x80 | ((cp >> 12) & 0x3F)));
898
+ scr_jb_putc(b, (char)(0x80 | ((cp >> 6) & 0x3F)));
899
+ scr_jb_putc(b, (char)(0x80 | (cp & 0x3F)));
900
+ }
901
+ }
902
+
903
+ static ScrStr *scr_str_case_conv(const ScrStr *s, int to_lower) {
904
+ ScrJsonBuf b;
905
+ scr_jb_init(&b);
906
+ uint32_t res[LRE_CC_RES_LEN_MAX];
907
+ for (size_t i = 0; i < s->len;) {
908
+ size_t adv;
909
+ uint32_t c = scr_case_decode(s->data + i, &adv);
910
+ int l;
911
+ if (c == 0x3a3 && to_lower && scr_final_sigma(s, i, i + adv)) {
912
+ res[0] = 0x3c2; /* final sigma */
913
+ l = 1;
914
+ } else {
915
+ l = lre_case_conv(res, c, to_lower);
916
+ }
917
+ i += adv;
918
+ for (int j = 0; j < l; j++) scr_case_put_cp(&b, res[j]);
919
+ }
920
+ return scr_jb_finish(&b);
921
+ }
922
+
923
+ ScrStr *scr_str_to_lower(const ScrStr *s) { return scr_str_case_conv(s, 1); }
924
+ ScrStr *scr_str_to_upper(const ScrStr *s) { return scr_str_case_conv(s, 0); }
925
+
926
+ /* ── assert.match / assert.doesNotMatch ──────────────────────────────────
927
+ * Lives here because it needs the matcher. Assertion matching follows
928
+ * RegExp.test, including global and sticky lastIndex transitions. */
929
+ static bool scr_assert_regex_hits(ScrRegex *re, ScrStr *s) {
930
+ return scr_regex_test(re, s);
931
+ }
932
+
933
+ /* The regex's own inspection — /source/ + FLAGS IN GETTER ORDER
934
+ * (dgimsuvy), not source order. +1. */
935
+ static ScrStr *scr_assert_regex_render(ScrRegex *re) {
936
+ size_t cap = re->source->len + re->flags->len + 2;
937
+ char *buf = malloc(cap);
938
+ if (!buf) scr_trap("scriptc: out of memory\n");
939
+ size_t n = 0;
940
+ buf[n++] = '/';
941
+ memcpy(buf + n, re->source->data, re->source->len);
942
+ n += re->source->len;
943
+ buf[n++] = '/';
944
+ for (const char *f = "dgimsuvy"; *f; f++) {
945
+ for (size_t i = 0; i < re->flags->len; i++) {
946
+ if (re->flags->data[i] == *f) buf[n++] = *f;
947
+ }
948
+ }
949
+ ScrStr *out = scr_str_new(buf, n);
950
+ free(buf);
951
+ return out;
952
+ }
953
+
954
+ /* Node's regex-mismatch AssertionError: 'The input did not match the
955
+ * regular expression /re/flags. Input:\n\n<inspect(input)>\n' (the
956
+ * was-expected-to-not-match head when negated). Always throws. */
957
+ static void scr_assert_regex_input_fail(bool negated, ScrRegex *re, ScrStr *input) {
958
+ ScrStr *insp = scr_assert_inspect_str(input);
959
+ ScrStr *rre = scr_assert_regex_render(re);
960
+ const char *head = negated
961
+ ? "The input was expected to not match the regular expression "
962
+ : "The input did not match the regular expression ";
963
+ const char *mid = ". Input:\n\n";
964
+ size_t cap = strlen(head) + rre->len + strlen(mid) + insp->len + 1;
965
+ char *buf = malloc(cap);
966
+ if (!buf) scr_trap("scriptc: out of memory\n");
967
+ size_t n = 0;
968
+ memcpy(buf + n, head, strlen(head));
969
+ n += strlen(head);
970
+ memcpy(buf + n, rre->data, rre->len);
971
+ n += rre->len;
972
+ memcpy(buf + n, mid, strlen(mid));
973
+ n += strlen(mid);
974
+ memcpy(buf + n, insp->data, insp->len);
975
+ n += insp->len;
976
+ buf[n++] = '\n';
977
+ scr_str_release(insp);
978
+ scr_str_release(rre);
979
+ ScrStr *message = scr_str_new(buf, n);
980
+ free(buf);
981
+ scr_assert_fail_msg(message);
982
+ }
983
+
984
+ void scr_assert_match(ScrStr *s, ScrRegex *re, bool negated, ScrStr *msg,
985
+ bool has_msg) {
986
+ bool matched = scr_assert_regex_hits(re, s);
987
+ if (negated ? !matched : matched) return;
988
+ if (has_msg) {
989
+ scr_assert_fail_msg(scr_str_retain(msg));
990
+ return;
991
+ }
992
+ scr_assert_regex_input_fail(negated, re, s);
993
+ }
994
+
995
+ /* assert.throws(fn, /re/) whose thrown Error did not satisfy the regex:
996
+ * Node tests String(actual) — Error.prototype.toString's "Name: message"
997
+ * — and reports the mismatch with that string inspected. */
998
+ void scr_assert_throws_regex(ScrRegex *re, ScrError *err, ScrStr *msg, bool has_msg) {
999
+ ScrStr *str = scr_error_to_string(err);
1000
+ bool matched = scr_assert_regex_hits(re, str);
1001
+ if (matched) {
1002
+ scr_str_release(str);
1003
+ return;
1004
+ }
1005
+ if (has_msg) {
1006
+ scr_str_release(str);
1007
+ scr_assert_fail_msg(scr_str_retain(msg));
1008
+ return;
1009
+ }
1010
+ scr_assert_regex_input_fail(false, re, str);
1011
+ scr_str_release(str);
1012
+ }
1013
+
1014
+ /* assert.doesNotReject's regex predicate: does String(error) satisfy the
1015
+ * regex? Never throws — the caller inverts the verdict into either the
1016
+ * unwanted-rejection AssertionError or a rethrow of the original. */
1017
+ bool scr_assert_regex_err_test(ScrRegex *re, ScrError *err) {
1018
+ ScrStr *str = scr_error_to_string(err);
1019
+ bool matched = scr_assert_regex_hits(re, str);
1020
+ scr_str_release(str);
1021
+ return matched;
1022
+ }
1023
+
1024
+ /* The regex-valued shape slot (assert.throws(fn, {message: /re/})):
1025
+ * test the stashed actual key eagerly and store verdict + rendering, so
1026
+ * scr_assert.c's comparison and diff stay libregexp-free. An absent
1027
+ * actual key (NULL code) is a mismatch — Node's `key in actual` test. */
1028
+ void scr_assert_shape_re(int key, ScrRegex *re) {
1029
+ ScrStr *actual = scr_assert_shape_actual(key);
1030
+ bool matched = actual != NULL && scr_assert_regex_hits(re, actual);
1031
+ scr_assert_shape_slot_re(key, matched, scr_assert_regex_render(re));
1032
+ }
1033
+
1034
+ /* ── new RegExp(pattern, flags) — runtime construction ────────────────
1035
+ * A heap ScrRegex (rc 1) over the same engine the literals use. The
1036
+ * pattern compiles EAGERLY so an invalid pattern throws Node's catchable
1037
+ * SyntaxError at construction (Node: "Invalid regular expression:
1038
+ * /pat/: detail" — the detail text is libregexp's, approximate fidelity
1039
+ * by design; e.name is exact). Unknown flag letters throw Node's
1040
+ * "Invalid flags supplied to RegExp constructor 'x'". An empty pattern
1041
+ * stores the spec's "(?:)" source, like Node. Borrows both; +1. */
1042
+ ScrRegex *scr_regex_new(ScrStr *pattern, ScrStr *flags) {
1043
+ unsigned seen_flags = 0;
1044
+ for (size_t i = 0; i < flags->len; i++) {
1045
+ unsigned flag = 0;
1046
+ switch (flags->data[i]) {
1047
+ case 'g': flag = 1u << 0; break;
1048
+ case 'i': flag = 1u << 1; break;
1049
+ case 'm': flag = 1u << 2; break;
1050
+ case 's': flag = 1u << 3; break;
1051
+ case 'u': flag = 1u << 4; break;
1052
+ case 'y': flag = 1u << 5; break;
1053
+ default: break;
1054
+ }
1055
+ if (!flag || (seen_flags & flag)) {
1056
+ char msg[80];
1057
+ int n = snprintf(msg, sizeof msg,
1058
+ "Invalid flags supplied to RegExp constructor '%.20s'",
1059
+ flags->data);
1060
+ scr_throw_error_msg(SCR_ERR_SYNTAX, msg, (size_t)n);
1061
+ return NULL;
1062
+ }
1063
+ seen_flags |= flag;
1064
+ }
1065
+ ScrRegex *re = calloc(1, sizeof *re);
1066
+ if (!re) {
1067
+ scr_trap("scriptc: out of memory\n");
1068
+ }
1069
+ re->rc = 1;
1070
+ re->source = pattern->len > 0 ? scr_str_retain(pattern) : scr_str_new("(?:)", 4);
1071
+ re->flags = scr_str_retain(flags);
1072
+ /* Eager compile — the literal path stays lazy (its failure is an
1073
+ * abort; tsc already parsed those patterns). */
1074
+ int lre_flags = scr_lre_flags(re->flags);
1075
+ const char *pat = re->source->data;
1076
+ size_t pat_len = re->source->len;
1077
+ char *cesu = NULL;
1078
+ if (!(lre_flags & LRE_FLAG_UNICODE)) {
1079
+ cesu = scr_pattern_cesu8(re->source, &pat_len);
1080
+ if (cesu) pat = cesu;
1081
+ }
1082
+ char error_msg[64];
1083
+ int bc_len;
1084
+ uint8_t *bc = lre_compile(&bc_len, error_msg, sizeof error_msg, pat, pat_len,
1085
+ lre_flags, lre_opaque());
1086
+ free(cesu);
1087
+ if (!bc) {
1088
+ char msg[192];
1089
+ int n = snprintf(msg, sizeof msg, "Invalid regular expression: /%.64s/%.8s: %s",
1090
+ re->source->data, re->flags->data, error_msg);
1091
+ scr_str_release(re->source);
1092
+ scr_str_release(re->flags);
1093
+ free(re);
1094
+ scr_throw_error_msg(SCR_ERR_SYNTAX, msg, (size_t)n);
1095
+ return NULL;
1096
+ }
1097
+ re->bc = bc;
1098
+ return re;
1099
+ }
1100
+
1101
+ /* Decode the code point at p (well-formed UTF-8 by the string
1102
+ * invariant); *adv gets the byte length of the sequence. */
1103
+ static uint32_t scr_re_utf8_decode(const char *p, size_t *adv) {
1104
+ unsigned char c = (unsigned char)p[0];
1105
+ if (c < 0x80) { *adv = 1; return c; }
1106
+ if (c < 0xE0) { *adv = 2; return ((uint32_t)(c & 0x1F) << 6) | ((unsigned char)p[1] & 0x3F); }
1107
+ if (c < 0xF0) {
1108
+ *adv = 3;
1109
+ return ((uint32_t)(c & 0x0F) << 12) | ((uint32_t)((unsigned char)p[1] & 0x3F) << 6) | ((unsigned char)p[2] & 0x3F);
1110
+ }
1111
+ *adv = 4;
1112
+ return ((uint32_t)(c & 0x07) << 18) | ((uint32_t)((unsigned char)p[1] & 0x3F) << 12) |
1113
+ ((uint32_t)((unsigned char)p[2] & 0x3F) << 6) | ((unsigned char)p[3] & 0x3F);
1114
+ }
1115
+
1116
+ /* ── RegExp.escape ────────────────────────────────────────────────────
1117
+ * ECMA-262 (ES2025) RegExp.escape over the UTF-8 storage. Per-code-point
1118
+ * EncodeForRegExpEscape: a LEADING ASCII letter/digit hex-escapes (so a
1119
+ * concatenation can't extend a token), SyntaxCharacters and '/' take a
1120
+ * backslash, the "other punctuators" ∪ WhiteSpace ∪ LineTerminator set
1121
+ * hex-escapes (\xNN below U+0100, \uNNNN above — lowercase hex, per
1122
+ * spec), and everything else passes through. The spec's surrogate arm is
1123
+ * unreachable over well-formed storage (SEMANTICS.md 2). Borrows s;
1124
+ * result +1. */
1125
+ static bool scr_regexp_syntax_char(uint32_t cp) {
1126
+ switch (cp) {
1127
+ case '^': case '$': case '\\': case '.': case '*': case '+': case '?':
1128
+ case '(': case ')': case '[': case ']': case '{': case '}': case '|':
1129
+ case '/':
1130
+ return true;
1131
+ default:
1132
+ return false;
1133
+ }
1134
+ }
1135
+
1136
+ /* The ControlEscape arm: TAB/LF/VT/FF/CR escape as \t \n \v \f \r (the
1137
+ * spec maps them through ControlEscape before the hex arm). Returns the
1138
+ * escape letter, or 0 when cp isn't one of the five. */
1139
+ static char scr_regexp_control_escape(uint32_t cp) {
1140
+ switch (cp) {
1141
+ case 0x09: return 't';
1142
+ case 0x0A: return 'n';
1143
+ case 0x0B: return 'v';
1144
+ case 0x0C: return 'f';
1145
+ case 0x0D: return 'r';
1146
+ default: return 0;
1147
+ }
1148
+ }
1149
+
1150
+ static bool scr_regexp_hex_escaped(uint32_t cp) {
1151
+ switch (cp) {
1152
+ /* other punctuators */
1153
+ case ',': case '-': case '=': case '<': case '>': case '#': case '&':
1154
+ case '!': case '%': case ':': case ';': case '@': case '~': case '\'':
1155
+ case '`': case '"':
1156
+ return true;
1157
+ /* WhiteSpace ∪ LineTerminator less the ControlEscape five */
1158
+ case 0x20: case 0xA0: case 0x1680: case 0x2028: case 0x2029:
1159
+ case 0x202F: case 0x205F: case 0x3000: case 0xFEFF:
1160
+ return true;
1161
+ default:
1162
+ return cp >= 0x2000 && cp <= 0x200A;
1163
+ }
1164
+ }
1165
+
1166
+ /* Encoded byte length of cp at position `first` (raw = its UTF-8 length). */
1167
+ static size_t scr_regexp_escape_len(uint32_t cp, bool first, size_t raw) {
1168
+ if (first && ((cp >= '0' && cp <= '9') || (cp >= 'A' && cp <= 'Z') || (cp >= 'a' && cp <= 'z'))) return 4;
1169
+ if (scr_regexp_syntax_char(cp) || scr_regexp_control_escape(cp) != 0) return 2;
1170
+ if (scr_regexp_hex_escaped(cp)) return cp < 0x100 ? 4 : 6;
1171
+ return raw;
1172
+ }
1173
+
1174
+ ScrStr *scr_regexp_escape(ScrStr *s) {
1175
+ static const char hex[] = "0123456789abcdef";
1176
+ size_t out_len = 0;
1177
+ bool first = true;
1178
+ for (size_t i = 0; i < s->len;) {
1179
+ size_t adv;
1180
+ uint32_t cp = scr_re_utf8_decode(s->data + i, &adv);
1181
+ out_len += scr_regexp_escape_len(cp, first, adv);
1182
+ first = false;
1183
+ i += adv;
1184
+ }
1185
+ if (out_len == s->len) return scr_str_retain(s); /* nothing escapes — share */
1186
+ ScrStr *out = scr_str_alloc_raw(out_len, out_len);
1187
+ char *w = out->data;
1188
+ first = true;
1189
+ for (size_t i = 0; i < s->len;) {
1190
+ size_t adv;
1191
+ uint32_t cp = scr_re_utf8_decode(s->data + i, &adv);
1192
+ size_t enc = scr_regexp_escape_len(cp, first, adv);
1193
+ if (enc == adv) { /* pass-through: an escape's length never matches raw */
1194
+ memcpy(w, s->data + i, adv);
1195
+ w += adv;
1196
+ } else if (enc == 2) {
1197
+ char ctl = scr_regexp_control_escape(cp);
1198
+ *w++ = '\\';
1199
+ *w++ = ctl != 0 ? ctl : (char)cp;
1200
+ } else if (enc == 4) {
1201
+ *w++ = '\\';
1202
+ *w++ = 'x';
1203
+ *w++ = hex[(cp >> 4) & 0xF];
1204
+ *w++ = hex[cp & 0xF];
1205
+ } else {
1206
+ *w++ = '\\';
1207
+ *w++ = 'u';
1208
+ *w++ = hex[(cp >> 12) & 0xF];
1209
+ *w++ = hex[(cp >> 8) & 0xF];
1210
+ *w++ = hex[(cp >> 4) & 0xF];
1211
+ *w++ = hex[cp & 0xF];
1212
+ }
1213
+ first = false;
1214
+ i += adv;
1215
+ }
1216
+ out->len = out_len;
1217
+ out->data[out_len] = '\0';
1218
+ return out;
1219
+ }
1220
+
1221
+ /* Checked storage retains the native pattern; no JavaScript engine is needed. */
1222
+ bool scr_dyn_native_regex_is(const ScrDyn *value) {
1223
+ return value && value->kind == SCR_DYN_HANDLE && value->v.handle.tag == SCR_DYNH_REGEXP;
1224
+ }
1225
+
1226
+ ScrRegex *scr_dyn_native_regex_check(const ScrDyn *value, const ScrDynPath *path) {
1227
+ if (!scr_dyn_native_regex_is(value)) { scr_dyn_check_fail(path, "RegExp", value); return NULL; }
1228
+ return scr_regex_retain(value->v.handle.ptr);
1229
+ }
1230
+
1231
+ static ScrDyn *scr_native_regex_string(ScrStr *text) {
1232
+ if (!text) return NULL;
1233
+ ScrDyn *out = scr_dyn_new_str(text);
1234
+ scr_str_release(text);
1235
+ return out;
1236
+ }
1237
+
1238
+ static ScrDyn *scr_native_regex_get(void *ptr, const char *key, size_t len) {
1239
+ ScrRegex *re = ptr;
1240
+ if (len == 6 && memcmp(key, "source", 6) == 0) return scr_native_regex_string(scr_regex_source(re));
1241
+ if (len == 5 && memcmp(key, "flags", 5) == 0) return scr_native_regex_string(scr_regex_flags(re));
1242
+ if (len == 9 && memcmp(key, "lastIndex", 9) == 0) return scr_dyn_new_num(re->last_index);
1243
+ static const struct { const char *name; char flag; } flags[] = {
1244
+ {"global", 'g'}, {"ignoreCase", 'i'}, {"multiline", 'm'}, {"dotAll", 's'},
1245
+ {"unicode", 'u'}, {"sticky", 'y'}, {"hasIndices", 'd'}, {"unicodeSets", 'v'},
1246
+ };
1247
+ for (size_t i = 0; i < sizeof flags / sizeof flags[0]; i++) {
1248
+ if (strlen(flags[i].name) == len && memcmp(key, flags[i].name, len) == 0)
1249
+ return scr_dyn_new_bool(memchr(re->flags->data, flags[i].flag, re->flags->len) != NULL);
1250
+ }
1251
+ static const char *const methods[] = {"test", "exec", "toString", "compile"};
1252
+ for (size_t i = 0; i < sizeof methods / sizeof methods[0]; i++) {
1253
+ if (strlen(methods[i]) == len && memcmp(key, methods[i], len) == 0) {
1254
+ static const char message[] = "Native RegExp method values have no lowering";
1255
+ scr_throw_error_msg_code(SCR_ERR_ERROR, message, sizeof message - 1, "SC2020");
1256
+ break;
1257
+ }
1258
+ }
1259
+ return NULL;
1260
+ }
1261
+
1262
+ static bool scr_native_regex_set(void *ptr, const char *key, size_t len, const ScrDyn *value) {
1263
+ if (len == 9 && memcmp(key, "lastIndex", 9) == 0) {
1264
+ if (value->kind != SCR_DYN_NUM) {
1265
+ static const char message[] = "Non-numeric RegExp.lastIndex values have no native lowering";
1266
+ scr_throw_error_msg_code(SCR_ERR_ERROR, message, sizeof message - 1, "SC2020");
1267
+ return true;
1268
+ }
1269
+ ((ScrRegex *)ptr)->last_index = value->v.num;
1270
+ return true;
1271
+ }
1272
+ return false;
1273
+ }
1274
+
1275
+ static ScrDyn *scr_native_regex_invoke(void *ptr, ScrDyn *self, const char *method,
1276
+ ScrDyn *const *args, size_t argc, const char *what) {
1277
+ (void)self; (void)what;
1278
+ ScrRegex *re = ptr;
1279
+ if (strcmp(method, "toString") == 0) return scr_native_regex_string(scr_regex_to_string(re));
1280
+ if (strcmp(method, "test") == 0) {
1281
+ ScrStr *subject = scr_dyn_string_coerce_js(argc ? args[0] : scr_dyn_undefined());
1282
+ if (!subject) return NULL;
1283
+ bool matches = scr_regex_test(re, subject);
1284
+ scr_str_release(subject);
1285
+ return scr_exc_pending() ? NULL : scr_dyn_new_bool(matches);
1286
+ }
1287
+ static const char message[] = "Native RegExp method has no lowering";
1288
+ scr_throw_error_msg_code(SCR_ERR_ERROR, message, sizeof message - 1, "SC2020");
1289
+ return NULL;
1290
+ }
1291
+
1292
+ ScrDyn *scr_dyn_native_regex(ScrRegex *value) {
1293
+ static const ScrDynHandleOps ops = {
1294
+ "RegExp", &scr_regex_retain_v, &scr_regex_release_v, &scr_native_regex_invoke,
1295
+ &scr_native_regex_get, &scr_native_regex_set, NULL, NULL,
1296
+ };
1297
+ scr_dyn_handle_install(SCR_DYNH_REGEXP, &ops);
1298
+ return scr_dyn_new_handle(value, SCR_DYNH_REGEXP);
1299
+ }
1300
+
1301
+ ScrRegex *scr_regex_new_checked(const ScrDyn *pattern, const ScrDyn *flags) {
1302
+ ScrRegex *original = scr_dyn_native_regex_is(pattern) ? pattern->v.handle.ptr : NULL;
1303
+ ScrStr *source = original ? scr_regex_source(original)
1304
+ : pattern->kind == SCR_DYN_UNDEF ? scr_str_new("", 0) : scr_dyn_string_coerce_js(pattern);
1305
+ if (!source) return NULL;
1306
+ ScrStr *options = flags->kind == SCR_DYN_UNDEF
1307
+ ? original ? scr_regex_flags(original) : scr_str_new("", 0)
1308
+ : scr_dyn_string_coerce_js(flags);
1309
+ ScrRegex *result = options ? scr_regex_new(source, options) : NULL;
1310
+ scr_str_release(source);
1311
+ scr_str_release(options);
1312
+ return result;
1313
+ }