@suchipi/quickjs 0.8.1 → 0.10.0

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 (247) hide show
  1. package/README.md +9 -6
  2. package/build/aarch64-apple-darwin/bin/file-to-bytecode.js +3 -3
  3. package/build/aarch64-apple-darwin/bin/qjs +0 -0
  4. package/build/aarch64-apple-darwin/bin/qjsbootstrap +0 -0
  5. package/build/aarch64-apple-darwin/bin/qjsbootstrap-bytecode +0 -0
  6. package/build/aarch64-apple-darwin/bin/qjsc +0 -0
  7. package/build/aarch64-apple-darwin/bin/quickjs-run +0 -0
  8. package/build/aarch64-apple-darwin/extras/is-stdin-a-tty +0 -0
  9. package/build/aarch64-apple-darwin/extras/run-test262 +0 -0
  10. package/build/aarch64-apple-darwin/extras/sample-program/sum +0 -0
  11. package/build/aarch64-apple-darwin/extras/stack-limit-test +0 -0
  12. package/build/aarch64-apple-darwin/include/quickjs-bytecode.h +8 -0
  13. package/build/aarch64-apple-darwin/include/quickjs-context.h +8 -0
  14. package/build/aarch64-apple-darwin/include/quickjs-encoding.h +8 -0
  15. package/build/aarch64-apple-darwin/include/quickjs-engine.h +8 -0
  16. package/build/aarch64-apple-darwin/include/quickjs-full-init.h +19 -0
  17. package/build/aarch64-apple-darwin/include/quickjs-inspect.h +9 -0
  18. package/build/aarch64-apple-darwin/include/quickjs-intervals.h +9 -0
  19. package/build/aarch64-apple-darwin/include/quickjs-libc.h +65 -0
  20. package/build/aarch64-apple-darwin/include/quickjs-modulesys.h +68 -0
  21. package/build/aarch64-apple-darwin/include/quickjs-pointer.h +9 -0
  22. package/build/aarch64-apple-darwin/include/quickjs-print.h +9 -0
  23. package/build/aarch64-apple-darwin/include/quickjs-utils.h +49 -0
  24. package/build/aarch64-apple-darwin/include/quickjs.h +1195 -0
  25. package/build/aarch64-apple-darwin/lib/quickjs-core.a +0 -0
  26. package/build/aarch64-apple-darwin/lib/quickjs-full.a +0 -0
  27. package/build/aarch64-unknown-linux-gnu/bin/file-to-bytecode.js +3 -3
  28. package/build/aarch64-unknown-linux-gnu/bin/qjs +0 -0
  29. package/build/aarch64-unknown-linux-gnu/bin/qjsbootstrap +0 -0
  30. package/build/aarch64-unknown-linux-gnu/bin/qjsbootstrap-bytecode +0 -0
  31. package/build/aarch64-unknown-linux-gnu/bin/qjsc +0 -0
  32. package/build/aarch64-unknown-linux-gnu/bin/quickjs-run +0 -0
  33. package/build/aarch64-unknown-linux-gnu/extras/is-stdin-a-tty +0 -0
  34. package/build/aarch64-unknown-linux-gnu/extras/run-test262 +0 -0
  35. package/build/aarch64-unknown-linux-gnu/extras/sample-program/sum +0 -0
  36. package/build/aarch64-unknown-linux-gnu/extras/stack-limit-test +0 -0
  37. package/build/aarch64-unknown-linux-gnu/include/quickjs-bytecode.h +8 -0
  38. package/build/aarch64-unknown-linux-gnu/include/quickjs-context.h +8 -0
  39. package/build/aarch64-unknown-linux-gnu/include/quickjs-encoding.h +8 -0
  40. package/build/aarch64-unknown-linux-gnu/include/quickjs-engine.h +8 -0
  41. package/build/aarch64-unknown-linux-gnu/include/quickjs-full-init.h +19 -0
  42. package/build/aarch64-unknown-linux-gnu/include/quickjs-inspect.h +9 -0
  43. package/build/aarch64-unknown-linux-gnu/include/quickjs-intervals.h +9 -0
  44. package/build/aarch64-unknown-linux-gnu/include/quickjs-libc.h +65 -0
  45. package/build/aarch64-unknown-linux-gnu/include/quickjs-modulesys.h +68 -0
  46. package/build/aarch64-unknown-linux-gnu/include/quickjs-pointer.h +9 -0
  47. package/build/aarch64-unknown-linux-gnu/include/quickjs-print.h +9 -0
  48. package/build/aarch64-unknown-linux-gnu/include/quickjs-utils.h +49 -0
  49. package/build/aarch64-unknown-linux-gnu/include/quickjs.h +1195 -0
  50. package/build/aarch64-unknown-linux-gnu/lib/quickjs-core.a +0 -0
  51. package/build/aarch64-unknown-linux-gnu/lib/quickjs-full.a +0 -0
  52. package/build/aarch64-unknown-linux-musl/bin/file-to-bytecode.js +3 -3
  53. package/build/aarch64-unknown-linux-musl/bin/qjs +0 -0
  54. package/build/aarch64-unknown-linux-musl/bin/qjsbootstrap +0 -0
  55. package/build/aarch64-unknown-linux-musl/bin/qjsbootstrap-bytecode +0 -0
  56. package/build/aarch64-unknown-linux-musl/bin/qjsc +0 -0
  57. package/build/aarch64-unknown-linux-musl/bin/quickjs-run +0 -0
  58. package/build/aarch64-unknown-linux-musl/extras/is-stdin-a-tty +0 -0
  59. package/build/aarch64-unknown-linux-musl/extras/run-test262 +0 -0
  60. package/build/aarch64-unknown-linux-musl/extras/sample-program/sum +0 -0
  61. package/build/aarch64-unknown-linux-musl/extras/stack-limit-test +0 -0
  62. package/build/aarch64-unknown-linux-musl/include/quickjs-bytecode.h +8 -0
  63. package/build/aarch64-unknown-linux-musl/include/quickjs-context.h +8 -0
  64. package/build/aarch64-unknown-linux-musl/include/quickjs-encoding.h +8 -0
  65. package/build/aarch64-unknown-linux-musl/include/quickjs-engine.h +8 -0
  66. package/build/aarch64-unknown-linux-musl/include/quickjs-full-init.h +19 -0
  67. package/build/aarch64-unknown-linux-musl/include/quickjs-inspect.h +9 -0
  68. package/build/aarch64-unknown-linux-musl/include/quickjs-intervals.h +9 -0
  69. package/build/aarch64-unknown-linux-musl/include/quickjs-libc.h +65 -0
  70. package/build/aarch64-unknown-linux-musl/include/quickjs-modulesys.h +68 -0
  71. package/build/aarch64-unknown-linux-musl/include/quickjs-pointer.h +9 -0
  72. package/build/aarch64-unknown-linux-musl/include/quickjs-print.h +9 -0
  73. package/build/aarch64-unknown-linux-musl/include/quickjs-utils.h +49 -0
  74. package/build/aarch64-unknown-linux-musl/include/quickjs.h +1195 -0
  75. package/build/aarch64-unknown-linux-musl/lib/quickjs-core.a +0 -0
  76. package/build/aarch64-unknown-linux-musl/lib/quickjs-full.a +0 -0
  77. package/build/aarch64-unknown-linux-static/bin/file-to-bytecode.js +3 -3
  78. package/build/aarch64-unknown-linux-static/bin/qjs +0 -0
  79. package/build/aarch64-unknown-linux-static/bin/qjsbootstrap +0 -0
  80. package/build/aarch64-unknown-linux-static/bin/qjsbootstrap-bytecode +0 -0
  81. package/build/aarch64-unknown-linux-static/bin/qjsc +0 -0
  82. package/build/aarch64-unknown-linux-static/bin/quickjs-run +0 -0
  83. package/build/aarch64-unknown-linux-static/extras/is-stdin-a-tty +0 -0
  84. package/build/aarch64-unknown-linux-static/extras/run-test262 +0 -0
  85. package/build/aarch64-unknown-linux-static/extras/sample-program/sum +0 -0
  86. package/build/aarch64-unknown-linux-static/extras/stack-limit-test +0 -0
  87. package/build/aarch64-unknown-linux-static/include/quickjs-bytecode.h +8 -0
  88. package/build/aarch64-unknown-linux-static/include/quickjs-context.h +8 -0
  89. package/build/aarch64-unknown-linux-static/include/quickjs-encoding.h +8 -0
  90. package/build/aarch64-unknown-linux-static/include/quickjs-engine.h +8 -0
  91. package/build/aarch64-unknown-linux-static/include/quickjs-full-init.h +19 -0
  92. package/build/aarch64-unknown-linux-static/include/quickjs-inspect.h +9 -0
  93. package/build/aarch64-unknown-linux-static/include/quickjs-intervals.h +9 -0
  94. package/build/aarch64-unknown-linux-static/include/quickjs-libc.h +65 -0
  95. package/build/aarch64-unknown-linux-static/include/quickjs-modulesys.h +68 -0
  96. package/build/aarch64-unknown-linux-static/include/quickjs-pointer.h +9 -0
  97. package/build/aarch64-unknown-linux-static/include/quickjs-print.h +9 -0
  98. package/build/aarch64-unknown-linux-static/include/quickjs-utils.h +49 -0
  99. package/build/aarch64-unknown-linux-static/include/quickjs.h +1195 -0
  100. package/build/aarch64-unknown-linux-static/lib/quickjs-core.a +0 -0
  101. package/build/aarch64-unknown-linux-static/lib/quickjs-full.a +0 -0
  102. package/build/dts/{quickjs-libcontext.d.ts → quickjs-context.d.ts} +0 -3
  103. package/build/dts/quickjs-intervals.d.ts +4 -0
  104. package/build/dts/quickjs-libc.d.ts +21 -76
  105. package/build/dts/quickjs-modulesys.d.ts +9 -0
  106. package/build/dts/{quickjs-libpointer.d.ts → quickjs-pointer.d.ts} +1 -1
  107. package/build/dts/quickjs-print.d.ts +26 -0
  108. package/build/x86_64-apple-darwin/bin/file-to-bytecode.js +3 -3
  109. package/build/x86_64-apple-darwin/bin/qjs +0 -0
  110. package/build/x86_64-apple-darwin/bin/qjsbootstrap +0 -0
  111. package/build/x86_64-apple-darwin/bin/qjsbootstrap-bytecode +0 -0
  112. package/build/x86_64-apple-darwin/bin/qjsc +0 -0
  113. package/build/x86_64-apple-darwin/bin/quickjs-run +0 -0
  114. package/build/x86_64-apple-darwin/extras/is-stdin-a-tty +0 -0
  115. package/build/x86_64-apple-darwin/extras/run-test262 +0 -0
  116. package/build/x86_64-apple-darwin/extras/sample-program/sum +0 -0
  117. package/build/x86_64-apple-darwin/extras/stack-limit-test +0 -0
  118. package/build/x86_64-apple-darwin/include/quickjs-bytecode.h +8 -0
  119. package/build/x86_64-apple-darwin/include/quickjs-context.h +8 -0
  120. package/build/x86_64-apple-darwin/include/quickjs-encoding.h +8 -0
  121. package/build/x86_64-apple-darwin/include/quickjs-engine.h +8 -0
  122. package/build/x86_64-apple-darwin/include/quickjs-full-init.h +19 -0
  123. package/build/x86_64-apple-darwin/include/quickjs-inspect.h +9 -0
  124. package/build/x86_64-apple-darwin/include/quickjs-intervals.h +9 -0
  125. package/build/x86_64-apple-darwin/include/quickjs-libc.h +65 -0
  126. package/build/x86_64-apple-darwin/include/quickjs-modulesys.h +68 -0
  127. package/build/x86_64-apple-darwin/include/quickjs-pointer.h +9 -0
  128. package/build/x86_64-apple-darwin/include/quickjs-print.h +9 -0
  129. package/build/x86_64-apple-darwin/include/quickjs-utils.h +49 -0
  130. package/build/x86_64-apple-darwin/include/quickjs.h +1195 -0
  131. package/build/x86_64-apple-darwin/lib/quickjs-core.a +0 -0
  132. package/build/x86_64-apple-darwin/lib/quickjs-full.a +0 -0
  133. package/build/x86_64-pc-windows-static/bin/file-to-bytecode.js +3 -3
  134. package/build/x86_64-pc-windows-static/bin/qjs.exe +0 -0
  135. package/build/x86_64-pc-windows-static/bin/qjsbootstrap-bytecode.exe +0 -0
  136. package/build/x86_64-pc-windows-static/bin/qjsbootstrap.exe +0 -0
  137. package/build/x86_64-pc-windows-static/bin/qjsc.exe +0 -0
  138. package/build/x86_64-pc-windows-static/bin/quickjs-run.exe +0 -0
  139. package/build/x86_64-pc-windows-static/extras/is-stdin-a-tty.exe +0 -0
  140. package/build/x86_64-pc-windows-static/extras/run-test262.exe +0 -0
  141. package/build/x86_64-pc-windows-static/extras/sample-program/sum.exe +0 -0
  142. package/build/x86_64-pc-windows-static/extras/stack-limit-test.exe +0 -0
  143. package/build/x86_64-pc-windows-static/include/quickjs-bytecode.h +8 -0
  144. package/build/x86_64-pc-windows-static/include/quickjs-context.h +8 -0
  145. package/build/x86_64-pc-windows-static/include/quickjs-encoding.h +8 -0
  146. package/build/x86_64-pc-windows-static/include/quickjs-engine.h +8 -0
  147. package/build/x86_64-pc-windows-static/include/quickjs-full-init.h +19 -0
  148. package/build/x86_64-pc-windows-static/include/quickjs-inspect.h +9 -0
  149. package/build/x86_64-pc-windows-static/include/quickjs-intervals.h +9 -0
  150. package/build/x86_64-pc-windows-static/include/quickjs-libc.h +65 -0
  151. package/build/x86_64-pc-windows-static/include/quickjs-modulesys.h +68 -0
  152. package/build/x86_64-pc-windows-static/include/quickjs-pointer.h +9 -0
  153. package/build/x86_64-pc-windows-static/include/quickjs-print.h +9 -0
  154. package/build/x86_64-pc-windows-static/include/quickjs-utils.h +49 -0
  155. package/build/x86_64-pc-windows-static/include/quickjs.h +1195 -0
  156. package/build/x86_64-pc-windows-static/lib/quickjs-core.a +0 -0
  157. package/build/x86_64-pc-windows-static/lib/quickjs-full.a +0 -0
  158. package/build/x86_64-unknown-linux-gnu/bin/file-to-bytecode.js +3 -3
  159. package/build/x86_64-unknown-linux-gnu/bin/qjs +0 -0
  160. package/build/x86_64-unknown-linux-gnu/bin/qjsbootstrap +0 -0
  161. package/build/x86_64-unknown-linux-gnu/bin/qjsbootstrap-bytecode +0 -0
  162. package/build/x86_64-unknown-linux-gnu/bin/qjsc +0 -0
  163. package/build/x86_64-unknown-linux-gnu/bin/quickjs-run +0 -0
  164. package/build/x86_64-unknown-linux-gnu/extras/is-stdin-a-tty +0 -0
  165. package/build/x86_64-unknown-linux-gnu/extras/run-test262 +0 -0
  166. package/build/x86_64-unknown-linux-gnu/extras/sample-program/sum +0 -0
  167. package/build/x86_64-unknown-linux-gnu/extras/stack-limit-test +0 -0
  168. package/build/x86_64-unknown-linux-gnu/include/quickjs-bytecode.h +8 -0
  169. package/build/x86_64-unknown-linux-gnu/include/quickjs-context.h +8 -0
  170. package/build/x86_64-unknown-linux-gnu/include/quickjs-encoding.h +8 -0
  171. package/build/x86_64-unknown-linux-gnu/include/quickjs-engine.h +8 -0
  172. package/build/x86_64-unknown-linux-gnu/include/quickjs-full-init.h +19 -0
  173. package/build/x86_64-unknown-linux-gnu/include/quickjs-inspect.h +9 -0
  174. package/build/x86_64-unknown-linux-gnu/include/quickjs-intervals.h +9 -0
  175. package/build/x86_64-unknown-linux-gnu/include/quickjs-libc.h +65 -0
  176. package/build/x86_64-unknown-linux-gnu/include/quickjs-modulesys.h +68 -0
  177. package/build/x86_64-unknown-linux-gnu/include/quickjs-pointer.h +9 -0
  178. package/build/x86_64-unknown-linux-gnu/include/quickjs-print.h +9 -0
  179. package/build/x86_64-unknown-linux-gnu/include/quickjs-utils.h +49 -0
  180. package/build/x86_64-unknown-linux-gnu/include/quickjs.h +1195 -0
  181. package/build/x86_64-unknown-linux-gnu/lib/quickjs-core.a +0 -0
  182. package/build/x86_64-unknown-linux-gnu/lib/quickjs-full.a +0 -0
  183. package/build/x86_64-unknown-linux-musl/bin/file-to-bytecode.js +3 -3
  184. package/build/x86_64-unknown-linux-musl/bin/qjs +0 -0
  185. package/build/x86_64-unknown-linux-musl/bin/qjsbootstrap +0 -0
  186. package/build/x86_64-unknown-linux-musl/bin/qjsbootstrap-bytecode +0 -0
  187. package/build/x86_64-unknown-linux-musl/bin/qjsc +0 -0
  188. package/build/x86_64-unknown-linux-musl/bin/quickjs-run +0 -0
  189. package/build/x86_64-unknown-linux-musl/extras/is-stdin-a-tty +0 -0
  190. package/build/x86_64-unknown-linux-musl/extras/run-test262 +0 -0
  191. package/build/x86_64-unknown-linux-musl/extras/sample-program/sum +0 -0
  192. package/build/x86_64-unknown-linux-musl/extras/stack-limit-test +0 -0
  193. package/build/x86_64-unknown-linux-musl/include/quickjs-bytecode.h +8 -0
  194. package/build/x86_64-unknown-linux-musl/include/quickjs-context.h +8 -0
  195. package/build/x86_64-unknown-linux-musl/include/quickjs-encoding.h +8 -0
  196. package/build/x86_64-unknown-linux-musl/include/quickjs-engine.h +8 -0
  197. package/build/x86_64-unknown-linux-musl/include/quickjs-full-init.h +19 -0
  198. package/build/x86_64-unknown-linux-musl/include/quickjs-inspect.h +9 -0
  199. package/build/x86_64-unknown-linux-musl/include/quickjs-intervals.h +9 -0
  200. package/build/x86_64-unknown-linux-musl/include/quickjs-libc.h +65 -0
  201. package/build/x86_64-unknown-linux-musl/include/quickjs-modulesys.h +68 -0
  202. package/build/x86_64-unknown-linux-musl/include/quickjs-pointer.h +9 -0
  203. package/build/x86_64-unknown-linux-musl/include/quickjs-print.h +9 -0
  204. package/build/x86_64-unknown-linux-musl/include/quickjs-utils.h +49 -0
  205. package/build/x86_64-unknown-linux-musl/include/quickjs.h +1195 -0
  206. package/build/x86_64-unknown-linux-musl/lib/quickjs-core.a +0 -0
  207. package/build/x86_64-unknown-linux-musl/lib/quickjs-full.a +0 -0
  208. package/build/x86_64-unknown-linux-static/bin/file-to-bytecode.js +3 -3
  209. package/build/x86_64-unknown-linux-static/bin/qjs +0 -0
  210. package/build/x86_64-unknown-linux-static/bin/qjsbootstrap +0 -0
  211. package/build/x86_64-unknown-linux-static/bin/qjsbootstrap-bytecode +0 -0
  212. package/build/x86_64-unknown-linux-static/bin/qjsc +0 -0
  213. package/build/x86_64-unknown-linux-static/bin/quickjs-run +0 -0
  214. package/build/x86_64-unknown-linux-static/extras/is-stdin-a-tty +0 -0
  215. package/build/x86_64-unknown-linux-static/extras/run-test262 +0 -0
  216. package/build/x86_64-unknown-linux-static/extras/sample-program/sum +0 -0
  217. package/build/x86_64-unknown-linux-static/extras/stack-limit-test +0 -0
  218. package/build/x86_64-unknown-linux-static/include/quickjs-bytecode.h +8 -0
  219. package/build/x86_64-unknown-linux-static/include/quickjs-context.h +8 -0
  220. package/build/x86_64-unknown-linux-static/include/quickjs-encoding.h +8 -0
  221. package/build/x86_64-unknown-linux-static/include/quickjs-engine.h +8 -0
  222. package/build/x86_64-unknown-linux-static/include/quickjs-full-init.h +19 -0
  223. package/build/x86_64-unknown-linux-static/include/quickjs-inspect.h +9 -0
  224. package/build/x86_64-unknown-linux-static/include/quickjs-intervals.h +9 -0
  225. package/build/x86_64-unknown-linux-static/include/quickjs-libc.h +65 -0
  226. package/build/x86_64-unknown-linux-static/include/quickjs-modulesys.h +68 -0
  227. package/build/x86_64-unknown-linux-static/include/quickjs-pointer.h +9 -0
  228. package/build/x86_64-unknown-linux-static/include/quickjs-print.h +9 -0
  229. package/build/x86_64-unknown-linux-static/include/quickjs-utils.h +49 -0
  230. package/build/x86_64-unknown-linux-static/include/quickjs.h +1195 -0
  231. package/build/x86_64-unknown-linux-static/lib/quickjs-core.a +0 -0
  232. package/build/x86_64-unknown-linux-static/lib/quickjs-full.a +0 -0
  233. package/package.json +3 -3
  234. package/tsconfig.json +2 -5
  235. package/build/aarch64-apple-darwin/extras/log-argv +0 -0
  236. package/build/aarch64-unknown-linux-gnu/extras/log-argv +0 -0
  237. package/build/aarch64-unknown-linux-musl/extras/log-argv +0 -0
  238. package/build/aarch64-unknown-linux-static/extras/log-argv +0 -0
  239. package/build/x86_64-apple-darwin/extras/log-argv +0 -0
  240. package/build/x86_64-pc-windows-static/extras/log-argv.exe +0 -0
  241. package/build/x86_64-unknown-linux-gnu/extras/log-argv +0 -0
  242. package/build/x86_64-unknown-linux-musl/extras/log-argv +0 -0
  243. package/build/x86_64-unknown-linux-static/extras/log-argv +0 -0
  244. /package/build/dts/{quickjs-libbytecode.d.ts → quickjs-bytecode.d.ts} +0 -0
  245. /package/build/dts/{quickjs-libencoding.d.ts → quickjs-encoding.d.ts} +0 -0
  246. /package/build/dts/{quickjs-libengine.d.ts → quickjs-engine.d.ts} +0 -0
  247. /package/build/dts/{inspect.d.ts → quickjs-inspect.d.ts} +0 -0
@@ -59,9 +59,6 @@ declare module "quickjs:context" {
59
59
  /** Enables `String.prototype.normalize`. Defaults to `true`. */
60
60
  stringNormalize?: boolean;
61
61
 
62
- /** Enables `String.dedent`. Defaults to `true`. */
63
- stringDedent?: boolean;
64
-
65
62
  /** Enables `RegExp`. Defaults to `true`. */
66
63
  regExp?: boolean;
67
64
 
@@ -0,0 +1,4 @@
1
+ declare type Interval = { [Symbol.toStringTag]: "Interval" };
2
+
3
+ declare function setInterval(func: (...args: any) => any, ms: number): Interval;
4
+ declare function clearInterval(interval: Interval): void;
@@ -5,33 +5,6 @@
5
5
  */
6
6
  declare var scriptArgs: Array<string>;
7
7
 
8
- /**
9
- * Print the arguments separated by spaces and a trailing newline.
10
- *
11
- * Non-string args are coerced into a string via [ToString](https://tc39.es/ecma262/#sec-tostring).
12
- * Objects can override the default `ToString` behavior by defining a `toString` method.
13
- */
14
- declare var print: (...args: Array<any>) => void;
15
-
16
- /**
17
- * Object that provides functions for logging information.
18
- */
19
- interface Console {
20
- /** Same as {@link print}(). */
21
- log: typeof print;
22
-
23
- /** Same as {@link print}(). */
24
- warn: typeof print;
25
-
26
- /** Same as {@link print}(). */
27
- error: typeof print;
28
-
29
- /** Same as {@link print}(). */
30
- info: typeof print;
31
- }
32
-
33
- declare var console: Console;
34
-
35
8
  /** An object representing a file handle. */
36
9
  declare interface FILE {
37
10
  /**
@@ -315,6 +288,27 @@ declare module "quickjs:std" {
315
288
  */
316
289
  export function getegid(): number;
317
290
 
291
+ /** The type of the object returned by {@link getpwuid}. */
292
+ export interface PasswdEntry {
293
+ name: string;
294
+ passwd: string;
295
+ uid: number;
296
+ gid: number;
297
+ gecos: string;
298
+ dir: string;
299
+ shell: string;
300
+ }
301
+
302
+ /**
303
+ * Get information from the passwd file entry for the specified user id.
304
+ *
305
+ * See https://linux.die.net/man/3/getpwuid.
306
+ *
307
+ * This function throws an error on windows, because windows doesn't support
308
+ * the same uid/gid paradigm as Unix-like operating systems.
309
+ */
310
+ export function getpwuid(id: number): PasswdEntry;
311
+
318
312
  interface UrlGet {
319
313
  /**
320
314
  * Download `url` using the `curl` command line utility. Returns string
@@ -1036,52 +1030,3 @@ declare module "quickjs:os" {
1036
1030
 
1037
1031
  declare var setTimeout: typeof import("quickjs:os").setTimeout;
1038
1032
  declare var clearTimeout: typeof import("quickjs:os").clearTimeout;
1039
-
1040
- declare type Interval = { [Symbol.toStringTag]: "Interval" };
1041
-
1042
- declare function setInterval(func: (...args: any) => any, ms: number): Interval;
1043
- declare function clearInterval(interval: Interval): void;
1044
-
1045
- interface StringConstructor {
1046
- /**
1047
- * Remove leading minimum indentation from the string.
1048
- * The first line of the string must be empty.
1049
- *
1050
- * https://github.com/tc39/proposal-string-dedent
1051
- */
1052
- dedent: {
1053
- /**
1054
- * Remove leading minimum indentation from the string.
1055
- * The first line of the string must be empty.
1056
- *
1057
- * https://github.com/tc39/proposal-string-dedent
1058
- */
1059
- (input: string): string;
1060
-
1061
- /**
1062
- * Remove leading minimum indentation from the template literal.
1063
- * The first line of the string must be empty.
1064
- *
1065
- * https://github.com/tc39/proposal-string-dedent
1066
- */
1067
- (
1068
- strings: readonly string[] | ArrayLike<string>,
1069
- ...substitutions: any[]
1070
- ): string;
1071
-
1072
- /**
1073
- * Wrap another template tag function such that tagged literals
1074
- * become dedented before being passed to the wrapped function.
1075
- *
1076
- * https://www.npmjs.com/package/string-dedent#usage
1077
- */
1078
- <
1079
- Func extends (
1080
- strings: readonly string[] | ArrayLike<string>,
1081
- ...substitutions: any[]
1082
- ) => string
1083
- >(
1084
- input: Func
1085
- ): Func;
1086
- };
1087
- }
@@ -61,6 +61,15 @@ interface ModuleDelegate {
61
61
  [extensionWithDot: string]: (filename: string, content: string) => string;
62
62
  };
63
63
 
64
+ /**
65
+ * An Array containing the names of all the built-in modules, such as
66
+ * "quickjs:std", "quickjs:bytecode", etc.
67
+ *
68
+ * `quickjs:engine`'s `defineBuiltinModule` function adds to the end of this
69
+ * array.
70
+ */
71
+ builtinModuleNames: Array<string>;
72
+
64
73
  /**
65
74
  * Resolves a require/import request from `fromFile` into a canonicalized
66
75
  * path.
@@ -6,7 +6,7 @@ declare module "quickjs:pointer" {
6
6
  static NULL: Pointer;
7
7
 
8
8
  /** Returns a boolean indicating whether the provided value is a `Pointer` object. */
9
- static isPointer(value: any): boolean;
9
+ static isPointer(value: any): value is Pointer;
10
10
 
11
11
  /** For debug logging purposes only; format can vary from platform to platform and is not guaranteed to be present or consistent. */
12
12
  _info?: string;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Print the arguments separated by spaces and a trailing newline.
3
+ *
4
+ * Non-string args are coerced into a string via [ToString](https://tc39.es/ecma262/#sec-tostring).
5
+ * Objects can override the default `ToString` behavior by defining a `toString` method.
6
+ */
7
+ declare var print: (...args: Array<any>) => void;
8
+
9
+ /**
10
+ * Object that provides functions for logging information.
11
+ */
12
+ interface Console {
13
+ /** Same as {@link print}(). */
14
+ log: typeof print;
15
+
16
+ /** Same as {@link print}(). */
17
+ warn: typeof print;
18
+
19
+ /** Same as {@link print}(). */
20
+ error: typeof print;
21
+
22
+ /** Same as {@link print}(). */
23
+ info: typeof print;
24
+ }
25
+
26
+ declare var console: Console;
@@ -3,9 +3,9 @@
3
3
  // Simple script which reads in a file, converts it to bytecode, and writes out
4
4
  // the bytecode to a new file.
5
5
 
6
- /// <reference path="../quickjs/quickjs.d.ts" />
7
- /// <reference path="../quickjs-libc/quickjs-libc.d.ts" />
8
- /// <reference path="../quickjs-libbytecode/quickjs-libbytecode.d.ts" />
6
+ /// <reference path="../../quickjs/quickjs.d.ts" />
7
+ /// <reference path="../../builtin-modules/quickjs-libc/quickjs-libc.d.ts" />
8
+ /// <reference path="../../builtin-modules/quickjs-bytecode/quickjs-bytecode.d.ts" />
9
9
 
10
10
  import * as std from "quickjs:std";
11
11
  import * as Bytecode from "quickjs:bytecode";
Binary file
Binary file
@@ -0,0 +1,8 @@
1
+ #ifndef QUICKJS_BYTECODE_H
2
+ #define QUICKJS_BYTECODE_H
3
+
4
+ #include "quickjs.h"
5
+
6
+ JSModuleDef *js_init_module_bytecode(JSContext *ctx, const char *module_name);
7
+
8
+ #endif /* ifndef QUICKJS_BYTECODE_H */
@@ -0,0 +1,8 @@
1
+ #ifndef QUICKJS_CONTEXT_H
2
+ #define QUICKJS_CONTEXT_H
3
+
4
+ #include "quickjs.h"
5
+
6
+ JSModuleDef *js_init_module_context(JSContext *ctx, const char *module_name);
7
+
8
+ #endif /* ifndef QUICKJS_CONTEXT_H */
@@ -0,0 +1,8 @@
1
+ #ifndef QUICKJS_ENCODING_H
2
+ #define QUICKJS_ENCODING_H
3
+
4
+ #include "quickjs.h"
5
+
6
+ JSModuleDef *js_init_module_encoding(JSContext *ctx, const char *module_name);
7
+
8
+ #endif /* ifndef QUICKJS_ENCODING_H */
@@ -0,0 +1,8 @@
1
+ #ifndef QUICKJS_ENGINE_H
2
+ #define QUICKJS_ENGINE_H
3
+
4
+ #include "quickjs.h"
5
+
6
+ JSModuleDef *js_init_module_engine(JSContext *ctx, const char *module_name);
7
+
8
+ #endif /* ifndef QUICKJS_ENGINE_H */
@@ -0,0 +1,19 @@
1
+ #ifndef QUICKJS_FULL_INIT_H
2
+ #define QUICKJS_FULL_INIT_H
3
+
4
+ #include "quickjs.h"
5
+ #include "quickjs-print.h"
6
+ #include "quickjs-inspect.h"
7
+ #include "quickjs-intervals.h"
8
+ #include "quickjs-libc.h"
9
+ #include "quickjs-bytecode.h"
10
+ #include "quickjs-context.h"
11
+ #include "quickjs-pointer.h"
12
+ #include "quickjs-modulesys.h"
13
+ #include "quickjs-engine.h"
14
+ #include "quickjs-encoding.h"
15
+
16
+ /* returns 0 on success, nonzero on failure */
17
+ int quickjs_full_init(JSContext *ctx);
18
+
19
+ #endif /* ifndef QUICKJS_FULL_INIT_H */
@@ -0,0 +1,9 @@
1
+ #ifndef QUICKJS_INSPECT_H
2
+ #define QUICKJS_INSPECT_H
3
+
4
+ #include "quickjs.h"
5
+
6
+ /* Adds 'inspect' global */
7
+ int js_inspect_add_inspect_global(JSContext *ctx);
8
+
9
+ #endif /* ifndef QUICKJS_INSPECT_H */
@@ -0,0 +1,9 @@
1
+ #ifndef QUICKJS_INTERVALS_H
2
+ #define QUICKJS_INTERVALS_H
3
+
4
+ #include "quickjs.h"
5
+
6
+ /* Adds 'setInterval' and 'clearInterval' globals */
7
+ int js_intervals_add_setInterval_clearInterval_globals(JSContext *ctx);
8
+
9
+ #endif /* ifndef QUICKJS_INTERVALS_H */
@@ -0,0 +1,65 @@
1
+ /*
2
+ * QuickJS C library
3
+ *
4
+ * Copyright (c) 2017-2018 Fabrice Bellard
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in
14
+ * all copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ * THE SOFTWARE.
23
+ */
24
+ #ifndef QUICKJS_LIBC_H
25
+ #define QUICKJS_LIBC_H
26
+
27
+ #include <stdio.h>
28
+ #include <stdlib.h>
29
+
30
+ #include "quickjs.h"
31
+
32
+ #ifdef __cplusplus
33
+ extern "C"
34
+ {
35
+ #endif
36
+
37
+ JSModuleDef *js_init_module_std(JSContext *ctx, const char *module_name);
38
+ JSModuleDef *js_init_module_os(JSContext *ctx, const char *module_name);
39
+
40
+ /*
41
+ Creates 'scriptArgs' and 'setTimeout'.
42
+ */
43
+ void js_std_add_helpers(JSContext *ctx, int argc, char **argv);
44
+
45
+ /* Creates 'scriptArgs' global */
46
+ void js_std_add_scriptArgs(JSContext *ctx, int argc, char **argv);
47
+
48
+ /* Creates 'setTimeout' and 'clearTimeout' globals */
49
+ void js_std_add_timeout(JSContext *ctx);
50
+
51
+ JS_BOOL js_std_is_main_thread(JSRuntime *rt);
52
+ void js_std_interrupt_handler_start(JSContext *ctx);
53
+ void js_std_interrupt_handler_finish(JSContext *ctx, JSValue ret);
54
+
55
+ /* returns the exit status code */
56
+ int js_std_loop(JSContext *ctx);
57
+ void js_std_init_handlers(JSRuntime *rt);
58
+ void js_std_free_handlers(JSRuntime *rt);
59
+ void js_std_set_worker_new_context_func(JSContext *(*func)(JSRuntime *rt));
60
+
61
+ #ifdef __cplusplus
62
+ } /* extern "C" { */
63
+ #endif
64
+
65
+ #endif /* QUICKJS_LIBC_H */
@@ -0,0 +1,68 @@
1
+ #ifndef QUICKJS_MODULESYS_H
2
+ #define QUICKJS_MODULESYS_H
3
+
4
+ #include "quickjs.h"
5
+
6
+ typedef struct QJMS_State QJMS_State;
7
+
8
+ /*
9
+ initialize and register the module loader system.
10
+ call both this (once per runtime) AND QJMS_InitContext (once per context).
11
+ */
12
+ void QJMS_InitState(JSRuntime *rt);
13
+
14
+ /*
15
+ initialize and register the module loader system.
16
+ call both this (once per context) AND QJMS_InitState (once per runtime).
17
+ */
18
+ void QJMS_InitContext(JSContext *ctx);
19
+
20
+ /* free resources allocated by the module loader system */
21
+ void QJMS_FreeState(JSRuntime *rt);
22
+
23
+ /*
24
+ Affects the value of import.meta.main.
25
+ */
26
+ void QJMS_SetMainModule(JSRuntime *rt, const char *module_name);
27
+
28
+ /*
29
+ Check if import.meta.main would be true for this module.
30
+ */
31
+ JS_BOOL QJMS_IsMainModule(JSRuntime *rt, const char *module_name);
32
+
33
+ /* initializes the import.meta object for the provided module function */
34
+ int QJMS_SetModuleImportMeta(JSContext *ctx, JSValueConst func_val);
35
+
36
+ /*
37
+ returns 0 on success, nonzero on error.
38
+ in case of error, prints error to stderr before returning.
39
+ */
40
+ int QJMS_EvalBuf(JSContext *ctx, const void *buf, int buf_len,
41
+ const char *filename, int eval_flags);
42
+
43
+ /*
44
+ module can be -1 for autodetect.
45
+ returns 0 on success, nonzero on error.
46
+ in case of error, prints error to stderr before returning.
47
+ */
48
+ int QJMS_EvalFile(JSContext *ctx, const char *filename, int module);
49
+
50
+ /*
51
+ returns 0 on success, nonzero on error.
52
+ in case of error, prints error to stderr before returning.
53
+ */
54
+ int QJMS_EvalBinary(JSContext *ctx, const uint8_t *buf, size_t buf_len,
55
+ int load_only);
56
+
57
+ /* the internal behavior of the 'require' function, exposed as a C API */
58
+ JSValue QJMS_Require(JSContext *ctx, JSValueConst specifier);
59
+ JSValue QJMS_Require2(JSContext *ctx, JSValueConst specifier, JSValueConst basename);
60
+
61
+ /* the internal behavior of the 'require.resolve' function, exposed as a C API */
62
+ JSValue QJMS_RequireResolve(JSContext *ctx, JSValueConst specifier_val);
63
+ JSValue QJMS_RequireResolve2(JSContext *ctx, JSValueConst specifier_val, JSAtom basename_atom);
64
+
65
+ /* returns an object like { require: Function, ModuleDelegate: Object } */
66
+ JSValue QJMS_GetModuleLoaderInternals(JSContext *ctx);
67
+
68
+ #endif /* ifndef QUICKJS_MODULESYS_H */
@@ -0,0 +1,9 @@
1
+ #ifndef QUICKJS_POINTER_H
2
+ #define QUICKJS_POINTER_H
3
+
4
+ #include "quickjs.h"
5
+
6
+ JSModuleDef *js_init_module_pointer(JSContext *ctx, const char *module_name);
7
+ JSValue js_new_pointer(JSContext *ctx, void *value);
8
+
9
+ #endif /* ifndef QUICKJS_POINTER_H */
@@ -0,0 +1,9 @@
1
+ #ifndef QUICKJS_PRINT_H
2
+ #define QUICKJS_PRINT_H
3
+
4
+ #include "quickjs.h"
5
+
6
+ void js_print_add_print_global(JSContext *ctx);
7
+ void js_print_add_console_global(JSContext *ctx);
8
+
9
+ #endif /* ifndef QUICKJS_PRINT_H */
@@ -0,0 +1,49 @@
1
+ #ifndef QUICKJS_UTILS_H
2
+ #define QUICKJS_UTILS_H
3
+
4
+ #include "quickjs.h"
5
+
6
+ typedef struct QJUForEachPropertyState
7
+ {
8
+ uint32_t len;
9
+ uint32_t i;
10
+ JSPropertyEnum *tab;
11
+ JSAtom key;
12
+ JSValue val;
13
+ } QJUForEachPropertyState;
14
+
15
+ /* free using QJU_FreeForEachPropertyState */
16
+ QJUForEachPropertyState *QJU_NewForEachPropertyState(JSContext *ctx, JSValue obj, int flags);
17
+
18
+ // put a block after this invocation; it will be run once per property
19
+ #define QJU_ForEachProperty(ctx, state) \
20
+ for (state->i = 0; state->i < state->len; state->i++)
21
+
22
+ // fills in `state` with data for the current property.
23
+ // return value will be JS_EXCEPTION if an exception was thrown, or JS_UNDEFINED otherwise.
24
+ // you must JS_DupValue `state->val` if you wanna keep it around.
25
+ JSValue QJU_ForEachProperty_Read(JSContext *ctx, JSValue obj, QJUForEachPropertyState *state);
26
+
27
+ void QJU_FreeForEachPropertyState(JSContext *ctx, QJUForEachPropertyState *state);
28
+
29
+ /* reads the contents of the file at `filename` into a buffer. */
30
+ uint8_t *QJU_ReadFile(JSContext *ctx, size_t *pbuf_len, const char *filename);
31
+
32
+ /*
33
+ prints `exception_val` to `f`. If `exception_val` is an Error,
34
+ it gets printed nicely.
35
+ */
36
+ void QJU_PrintError(JSContext *ctx, FILE *f, JSValueConst exception_val);
37
+
38
+ /*
39
+ prints the context's current exception to `f`.
40
+ this calls JS_GetException, so the exception will be cleared.
41
+ */
42
+ void QJU_PrintException(JSContext *ctx, FILE *f);
43
+
44
+ /* an unhandled promise rejection handler suitable for passing into JS_SetHostPromiseRejectionTracker */
45
+ void QJU_PrintPromiseRejection(JSContext *ctx, JSValueConst promise,
46
+ JSValueConst reason, JS_BOOL is_handled,
47
+ void *opaque);
48
+
49
+ #endif /* ifndef QUICKJS_UTILS_H */