nuxt-ai-ready 2.5.0 → 2.5.2

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 (206) hide show
  1. package/dist/chunks/agent-skills.mjs +1 -1
  2. package/dist/chunks/prerender.mjs +1 -1
  3. package/dist/cli.mjs +2 -0
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +1 -1
  6. package/dist/runtime/server/db/drizzle/queries.js +0 -1
  7. package/dist/runtime/server/db/queries.d.ts +2 -0
  8. package/dist/runtime/server/db/queries.js +11 -5
  9. package/dist/runtime/server/db/seed.d.ts +2 -2
  10. package/dist/runtime/server/routes/__ai-ready/reindex.post.js +2 -0
  11. package/dist/runtime/server/utils/batchIndex.js +4 -2
  12. package/dist/runtime/server/utils/checkStale.d.ts +1 -1
  13. package/dist/runtime/server/utils/checkStale.js +1 -1
  14. package/dist/runtime/server/utils/indexPage.d.ts +8 -1
  15. package/dist/runtime/server/utils/indexPage.js +13 -5
  16. package/dist/shared/{nuxt-ai-ready.DsokNmXc.mjs → nuxt-ai-ready.CLSWou20.mjs} +2 -0
  17. package/node_modules/@mdream/js/LICENSE.md +9 -0
  18. package/node_modules/@mdream/js/README.md +792 -0
  19. package/node_modules/@mdream/js/bin/mdream.mjs +2 -0
  20. package/node_modules/@mdream/js/dist/_chunks/const.mjs +134 -0
  21. package/node_modules/@mdream/js/dist/_chunks/index.d.mts +9 -0
  22. package/node_modules/@mdream/js/dist/_chunks/markdown-processor.mjs +1968 -0
  23. package/node_modules/@mdream/js/dist/_chunks/minimal.d.mts +6 -0
  24. package/node_modules/@mdream/js/dist/_chunks/parse.mjs +2756 -0
  25. package/node_modules/@mdream/js/dist/_chunks/plugins.mjs +725 -0
  26. package/node_modules/@mdream/js/dist/_chunks/resolve-plugins.mjs +44 -0
  27. package/node_modules/@mdream/js/dist/_chunks/stream.mjs +37 -0
  28. package/node_modules/@mdream/js/dist/_chunks/types.d.mts +473 -0
  29. package/node_modules/@mdream/js/dist/cli.d.mts +1 -0
  30. package/node_modules/@mdream/js/dist/cli.mjs +32 -0
  31. package/node_modules/@mdream/js/dist/core.d.mts +15 -0
  32. package/node_modules/@mdream/js/dist/core.mjs +28 -0
  33. package/node_modules/@mdream/js/dist/index.d.mts +4 -0
  34. package/node_modules/@mdream/js/dist/index.mjs +58 -0
  35. package/node_modules/@mdream/js/dist/llms-txt.d.mts +86 -0
  36. package/node_modules/@mdream/js/dist/llms-txt.mjs +308 -0
  37. package/node_modules/@mdream/js/dist/negotiate.d.mts +35 -0
  38. package/node_modules/@mdream/js/dist/negotiate.mjs +121 -0
  39. package/node_modules/@mdream/js/dist/parse.d.mts +90 -0
  40. package/node_modules/@mdream/js/dist/parse.mjs +2 -0
  41. package/node_modules/@mdream/js/dist/plugins.d.mts +85 -0
  42. package/node_modules/@mdream/js/dist/plugins.mjs +2 -0
  43. package/node_modules/@mdream/js/dist/preset/minimal.d.mts +2 -0
  44. package/node_modules/@mdream/js/dist/preset/minimal.mjs +33 -0
  45. package/node_modules/@mdream/js/dist/splitter.d.mts +18 -0
  46. package/node_modules/@mdream/js/dist/splitter.mjs +194 -0
  47. package/node_modules/@mdream/js/package.json +103 -0
  48. package/node_modules/cac/LICENSE +21 -0
  49. package/node_modules/cac/README.md +492 -0
  50. package/node_modules/cac/dist/index.d.ts +196 -0
  51. package/node_modules/cac/dist/index.js +638 -0
  52. package/node_modules/cac/package.json +72 -0
  53. package/node_modules/mdream/LICENSE.md +9 -0
  54. package/node_modules/mdream/README.md +1091 -0
  55. package/node_modules/mdream/bin/mdream.mjs +46 -0
  56. package/node_modules/mdream/dist/browser.d.mts +105 -0
  57. package/node_modules/mdream/dist/browser.mjs +262 -0
  58. package/node_modules/mdream/dist/edge.d.mts +100 -0
  59. package/node_modules/mdream/dist/edge.mjs +250 -0
  60. package/node_modules/mdream/dist/iife.js +605 -0
  61. package/node_modules/mdream/dist/index.d.mts +89 -0
  62. package/node_modules/mdream/dist/index.mjs +184 -0
  63. package/node_modules/mdream/dist/wasm.d.mts +100 -0
  64. package/node_modules/mdream/dist/wasm.mjs +140 -0
  65. package/node_modules/mdream/dist/worker.d.mts +101 -0
  66. package/node_modules/mdream/dist/worker.mjs +217 -0
  67. package/node_modules/mdream/napi/index.d.mts +127 -0
  68. package/node_modules/mdream/napi/index.d.ts +127 -0
  69. package/node_modules/mdream/napi/index.mjs +725 -0
  70. package/node_modules/mdream/napi/rust.android-arm-eabi.node +0 -0
  71. package/node_modules/mdream/napi/rust.android-arm64.node +0 -0
  72. package/node_modules/mdream/napi/rust.darwin-arm64.node +0 -0
  73. package/node_modules/mdream/napi/rust.darwin-x64.node +0 -0
  74. package/node_modules/mdream/napi/rust.freebsd-x64.node +0 -0
  75. package/node_modules/mdream/napi/rust.linux-arm-gnueabihf.node +0 -0
  76. package/node_modules/mdream/napi/rust.linux-arm64-gnu.node +0 -0
  77. package/node_modules/mdream/napi/rust.linux-arm64-musl.node +0 -0
  78. package/node_modules/mdream/napi/rust.linux-x64-gnu.node +0 -0
  79. package/node_modules/mdream/napi/rust.linux-x64-musl.node +0 -0
  80. package/node_modules/mdream/napi/rust.wasi.cjs +2144 -0
  81. package/node_modules/mdream/napi/rust.wasm32-wasi.wasm +0 -0
  82. package/node_modules/mdream/napi/rust.win32-arm64-msvc.node +0 -0
  83. package/node_modules/mdream/napi/rust.win32-x64-msvc.node +0 -0
  84. package/node_modules/mdream/node_modules/@emnapi/core/LICENSE +21 -0
  85. package/node_modules/mdream/node_modules/@emnapi/core/README.md +1 -0
  86. package/node_modules/mdream/node_modules/@emnapi/core/dist/emnapi-core.d.ts +392 -0
  87. package/node_modules/mdream/node_modules/@emnapi/core/dist/emnapi-core.full.d.ts +392 -0
  88. package/node_modules/mdream/node_modules/@emnapi/core/dist/emnapi-core.full.js +8351 -0
  89. package/node_modules/mdream/node_modules/@emnapi/core/dist/emnapi-core.js +7268 -0
  90. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/async-work.d.ts +5 -0
  91. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/async-work.js +843 -0
  92. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/index.d.ts +4 -0
  93. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/index.js +3 -0
  94. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/threadsafe-function.d.ts +5 -0
  95. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/threadsafe-function.js +1010 -0
  96. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/v8.d.ts +5 -0
  97. package/node_modules/mdream/node_modules/@emnapi/core/dist/plugins/v8.js +1446 -0
  98. package/node_modules/mdream/node_modules/@emnapi/core/package.json +39 -0
  99. package/node_modules/mdream/node_modules/@emnapi/core/rollup.config.js +60 -0
  100. package/node_modules/mdream/node_modules/@emnapi/runtime/LICENSE +21 -0
  101. package/node_modules/mdream/node_modules/@emnapi/runtime/README.md +1 -0
  102. package/node_modules/mdream/node_modules/@emnapi/runtime/dist/emnapi.d.ts +833 -0
  103. package/node_modules/mdream/node_modules/@emnapi/runtime/dist/emnapi.js +2306 -0
  104. package/node_modules/mdream/node_modules/@emnapi/runtime/dist/emnapi.js.map +1 -0
  105. package/node_modules/mdream/node_modules/@emnapi/runtime/index.cjs +63 -0
  106. package/node_modules/mdream/node_modules/@emnapi/runtime/package.json +39 -0
  107. package/node_modules/mdream/node_modules/@emnapi/runtime/rollup.config.js +25 -0
  108. package/node_modules/mdream/node_modules/@emnapi/wasi-threads/LICENSE +21 -0
  109. package/node_modules/mdream/node_modules/@emnapi/wasi-threads/README.md +203 -0
  110. package/node_modules/mdream/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.ts +236 -0
  111. package/node_modules/mdream/node_modules/@emnapi/wasi-threads/dist/wasi-threads.js +1086 -0
  112. package/node_modules/mdream/node_modules/@emnapi/wasi-threads/package.json +35 -0
  113. package/node_modules/mdream/node_modules/@emnapi/wasi-threads/rollup.config.js +6 -0
  114. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/dist/emnapi-plugins.cjs +1472 -0
  115. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/dist/emnapi-plugins.js +1470 -0
  116. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/dist/fs-proxy.cjs +237 -0
  117. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/dist/fs.js +18260 -0
  118. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/fs-proxy.js +317 -0
  119. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/package.json +67 -0
  120. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/runtime.cjs +39 -0
  121. package/node_modules/mdream/node_modules/@napi-rs/wasm-runtime/runtime.js +36 -0
  122. package/node_modules/mdream/node_modules/@tybys/wasm-util/LICENSE +21 -0
  123. package/node_modules/mdream/node_modules/@tybys/wasm-util/README.md +193 -0
  124. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/tsdoc-metadata.json +11 -0
  125. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/wasm-util.d.ts +423 -0
  126. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/wasm-util.esm-bundler.js +2932 -0
  127. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/wasm-util.esm.js +2932 -0
  128. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/wasm-util.esm.min.js +1 -0
  129. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/wasm-util.js +2954 -0
  130. package/node_modules/mdream/node_modules/@tybys/wasm-util/dist/wasm-util.min.js +1 -0
  131. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/asyncify.js +158 -0
  132. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/index.js +13 -0
  133. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/jspi.js +46 -0
  134. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/load.js +97 -0
  135. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/memory.js +35 -0
  136. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/error.js +103 -0
  137. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/fd.js +268 -0
  138. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/fs.js +3 -0
  139. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/index.js +192 -0
  140. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/path.js +316 -0
  141. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/preview1.js +1599 -0
  142. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/rights.js +141 -0
  143. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/types.js +220 -0
  144. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/wasi/util.js +128 -0
  145. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/cjs/webassembly.js +13 -0
  146. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/asyncify.mjs +153 -0
  147. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/index.mjs +9 -0
  148. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/jspi.mjs +39 -0
  149. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/load.mjs +89 -0
  150. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/memory.mjs +28 -0
  151. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/error.mjs +97 -0
  152. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/fd.mjs +256 -0
  153. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/fs.mjs +1 -0
  154. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/index.mjs +186 -0
  155. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/path.mjs +310 -0
  156. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/preview1.mjs +1593 -0
  157. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/rights.mjs +135 -0
  158. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/types.mjs +216 -0
  159. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/wasi/util.mjs +113 -0
  160. package/node_modules/mdream/node_modules/@tybys/wasm-util/lib/mjs/webassembly.mjs +9 -0
  161. package/node_modules/mdream/node_modules/@tybys/wasm-util/package.json +58 -0
  162. package/node_modules/mdream/node_modules/tslib/CopyrightNotice.txt +15 -0
  163. package/node_modules/mdream/node_modules/tslib/LICENSE.txt +12 -0
  164. package/node_modules/mdream/node_modules/tslib/README.md +164 -0
  165. package/node_modules/mdream/node_modules/tslib/SECURITY.md +41 -0
  166. package/node_modules/mdream/node_modules/tslib/modules/index.d.ts +38 -0
  167. package/node_modules/mdream/node_modules/tslib/modules/index.js +70 -0
  168. package/node_modules/mdream/node_modules/tslib/modules/package.json +3 -0
  169. package/node_modules/mdream/node_modules/tslib/package.json +47 -0
  170. package/node_modules/mdream/node_modules/tslib/tslib.d.ts +460 -0
  171. package/node_modules/mdream/node_modules/tslib/tslib.es6.html +1 -0
  172. package/node_modules/mdream/node_modules/tslib/tslib.es6.js +402 -0
  173. package/node_modules/mdream/node_modules/tslib/tslib.es6.mjs +401 -0
  174. package/node_modules/mdream/node_modules/tslib/tslib.html +1 -0
  175. package/node_modules/mdream/node_modules/tslib/tslib.js +484 -0
  176. package/node_modules/mdream/package.json +110 -0
  177. package/node_modules/mdream/skills/mdream/SKILL.md +124 -0
  178. package/node_modules/mdream/skills/mdream/references/runtimes.md +49 -0
  179. package/node_modules/mdream/wasm/mdream_edge.d.ts +90 -0
  180. package/node_modules/mdream/wasm/mdream_edge.js +517 -0
  181. package/node_modules/mdream/wasm/mdream_edge_bg.wasm +0 -0
  182. package/node_modules/mdream/wasm/mdream_edge_bg.wasm.d.ts +20 -0
  183. package/node_modules/mdream/wasm/package.json +17 -0
  184. package/node_modules/mdream/wasm-bundler/mdream_edge.d.ts +45 -0
  185. package/node_modules/mdream/wasm-bundler/mdream_edge.js +13 -0
  186. package/node_modules/mdream/wasm-bundler/mdream_edge_bg.js +413 -0
  187. package/node_modules/mdream/wasm-bundler/mdream_edge_bg.wasm +0 -0
  188. package/node_modules/mdream/wasm-bundler/mdream_edge_bg.wasm.d.ts +20 -0
  189. package/node_modules/mdream/wasm-bundler/package.json +19 -0
  190. package/node_modules/pathe/LICENSE +70 -0
  191. package/node_modules/pathe/README.md +73 -0
  192. package/node_modules/pathe/dist/index.cjs +39 -0
  193. package/node_modules/pathe/dist/index.d.cts +47 -0
  194. package/node_modules/pathe/dist/index.d.mts +47 -0
  195. package/node_modules/pathe/dist/index.d.ts +47 -0
  196. package/node_modules/pathe/dist/index.mjs +19 -0
  197. package/node_modules/pathe/dist/shared/pathe.BSlhyZSM.cjs +266 -0
  198. package/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs +249 -0
  199. package/node_modules/pathe/dist/utils.cjs +82 -0
  200. package/node_modules/pathe/dist/utils.d.cts +32 -0
  201. package/node_modules/pathe/dist/utils.d.mts +32 -0
  202. package/node_modules/pathe/dist/utils.d.ts +32 -0
  203. package/node_modules/pathe/dist/utils.mjs +77 -0
  204. package/node_modules/pathe/package.json +61 -0
  205. package/node_modules/pathe/utils.d.ts +1 -0
  206. package/package.json +8 -64
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emnapi.js","sources":["../src/util.ts","../src/Disaposable.ts","../src/RefTracker.ts","../src/Finalizer.ts","../src/TrackedFinalizer.ts","../src/Store.ts","../src/Persistent.ts","../src/env.ts","../src/errors.ts","../src/Reference.ts","../src/Handle.ts","../src/External.ts","../src/HandleScope.ts","../src/ScopeStore.ts","../src/TryCatch.ts","../src/Template.ts","../src/ObjectTemplate.ts","../src/FunctionTemplate.ts","../src/Private.ts","../src/ExternalMemory.ts","../src/Isolate.ts","../src/Context.ts"],"sourcesContent":["declare const __webpack_public_path__: any\ndeclare const __non_webpack_require__: ((id: string) => any) | undefined\ndeclare const global: typeof globalThis\n\nexport function detectFinalizer () {\n return (typeof FinalizationRegistry !== 'undefined') && (typeof WeakRef !== 'undefined')\n}\n\nexport const supportFinalizer = /*#__PURE__*/ detectFinalizer()\n\nexport interface Resolver<T> {\n promise: Promise<T>\n resolve: (value: T | PromiseLike<T>) => void\n reject: (reason?: any) => void\n}\n\nexport interface Features {\n makeDynamicFunction: ((...args: any[]) => Function) | undefined\n getGlobalThis: () => typeof globalThis\n setFunctionName: ((fn: Function, name: string) => void) | undefined\n Reflect: typeof Reflect | undefined\n finalizer: boolean\n weakSymbol: boolean\n BigInt: typeof BigInt | undefined\n MessageChannel: typeof MessageChannel | undefined\n Buffer: BufferCtor | undefined\n setImmediate: (callback: () => void) => any\n withResolvers: <T>(this: PromiseConstructor) => Resolver<T>\n}\n\nexport function detectFeatures (features?: Partial<Features>): Features {\n const supportNewFunction = (function () {\n let f: Function\n try {\n f = new Function()\n } catch (_) {\n return false\n }\n return typeof f === 'function'\n })()\n\n const canSetFunctionName = (function () {\n try {\n return Boolean(Object.getOwnPropertyDescriptor(Function.prototype, 'name')?.configurable)\n } catch (_) {\n return false\n }\n })()\n\n const weakSymbol = (function () {\n try {\n // eslint-disable-next-line symbol-description\n const sym = Symbol()\n // eslint-disable-next-line no-new\n new WeakRef(sym as any)\n new WeakMap().set(sym as any, undefined)\n } catch (_) {\n return false\n }\n return true\n })()\n\n const _require = (function () {\n let nativeRequire\n\n if (typeof __webpack_public_path__ !== 'undefined') {\n nativeRequire = (function () {\n return typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined\n })()\n } else {\n nativeRequire = (function () {\n return typeof __webpack_public_path__ !== 'undefined' ? (typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined) : (typeof require !== 'undefined' ? require : undefined)\n })()\n }\n\n return nativeRequire\n })()\n\n function defaultGetGlobalThis (): typeof globalThis {\n if (typeof globalThis !== 'undefined') return globalThis\n\n let g = (function (this: any) { return this })()\n if (!g && supportNewFunction) {\n try {\n g = new Function('return this')()\n } catch (_) {}\n }\n\n if (!g) {\n if (typeof __webpack_public_path__ === 'undefined') {\n if (typeof global !== 'undefined') return global\n }\n if (typeof window !== 'undefined') return window\n if (typeof self !== 'undefined') return self\n }\n\n throw new Error('Unable to get globalThis')\n }\n\n function defaultWithResolvers<T> (this: PromiseConstructor) {\n let ok: (value: T | PromiseLike<T>) => void\n let err: (reason?: any) => void\n const promise = new this<T>((resolve, reject) => {\n ok = resolve\n err = reject\n })\n return { promise, resolve: ok!, reject: err! }\n }\n\n const getGlobalThis = features && 'getGlobalThis' in features\n ? (features.getGlobalThis ?? defaultGetGlobalThis)\n : defaultGetGlobalThis\n\n const withResolvers = (features && 'withResolvers' in features)\n ? (features.withResolvers ?? defaultWithResolvers)\n : typeof Promise.withResolvers === 'function'\n ? Promise.withResolvers\n : defaultWithResolvers\n\n const getBuiltinModule: (id: string) => any = getGlobalThis?.().process?.getBuiltinModule ?? _require\n\n const ret: Features = {\n makeDynamicFunction: (supportNewFunction\n ? (...args: any[]) => (new Function(...args))\n : undefined),\n setFunctionName: (canSetFunctionName\n ? (f: Function, name: string) => { Object.defineProperty(f, 'name', { value: name }) }\n : undefined),\n Reflect: typeof Reflect === 'object' ? Reflect : undefined,\n finalizer: detectFinalizer(),\n weakSymbol,\n BigInt: typeof BigInt !== 'undefined' ? BigInt : undefined,\n MessageChannel: typeof MessageChannel === 'function'\n ? MessageChannel\n : (function () {\n try {\n return getBuiltinModule('worker_threads').MessageChannel\n } catch (_) {}\n\n return undefined\n })(),\n\n setImmediate: typeof setImmediate === 'function'\n ? setImmediate.bind(getGlobalThis())\n : function (callback: () => void): void {\n if (typeof callback !== 'function') {\n throw new TypeError('The \"callback\" argument must be of type function')\n }\n if (ret.MessageChannel) {\n let channel = new ret.MessageChannel()\n channel.port1.onmessage = function () {\n channel.port1.onmessage = null\n channel = undefined!\n callback()\n }\n channel.port2.postMessage(null)\n } else {\n setTimeout(callback, 0)\n }\n },\n Buffer: typeof Buffer === 'function'\n ? Buffer\n : (function () {\n try {\n return getBuiltinModule('buffer').Buffer\n } catch (_) {}\n\n return undefined\n })(),\n ...features,\n getGlobalThis,\n withResolvers\n }\n\n return ret\n}\n\nexport function isReferenceType (v: any): v is object {\n return (typeof v === 'object' && v !== null) || typeof v === 'function'\n}\n\nexport interface DylinkMetadata {\n neededDynlibs: string[]\n tlsExports: Set<string>\n weakImports: Set<string>\n runtimePaths: string[]\n memorySize: number\n memoryAlign: number\n tableSize: number\n tableAlign: number\n}\n\nexport function getDylinkMetadata (binary: WebAssembly.Module | Uint8Array): DylinkMetadata {\n let offset = 0\n let end = 0\n const decoder = new TextDecoder()\n\n function getU8 () {\n return (binary as Uint8Array)[offset++]\n }\n\n function getLEB () {\n let ret = 0\n let mul = 1\n while (1) {\n let byte = (binary as Uint8Array)[offset++]\n ret += ((byte & 0x7f) * mul)\n mul *= 0x80\n if (!(byte & 0x80)) break\n }\n return ret\n }\n\n function getString () {\n let len = getLEB()\n offset += len\n return decoder.decode((binary as Uint8Array).subarray(offset - len, offset))\n }\n\n function getStringList () {\n let count = getLEB()\n let rtn = []\n while (count--) rtn.push(getString())\n return rtn\n }\n\n function failIf (condition: boolean, message?: string) {\n if (condition) throw new Error(message)\n }\n\n if (binary instanceof WebAssembly.Module) {\n const dylinkSection = WebAssembly.Module.customSections(binary, 'dylink.0')\n failIf(dylinkSection.length === 0, 'need dylink section')\n binary = new Uint8Array(dylinkSection[0])\n end = (binary as Uint8Array).length\n } else {\n var int32View = new Uint32Array(new Uint8Array(binary.subarray(0, 24)).buffer)\n var magicNumberFound = int32View[0] === 0x6d736100 || int32View[0] === 0x0061736d\n failIf(!magicNumberFound, 'need to see wasm magic number') // \\0asm\n // we should see the dylink custom section right after the magic number and wasm version\n failIf(binary[8] !== 0, 'need the dylink section to be first')\n offset = 9\n var section_size = getLEB() // section size\n end = offset + section_size\n var name = getString()\n failIf(name !== 'dylink.0')\n }\n\n var customSection: DylinkMetadata = {\n neededDynlibs: [],\n tlsExports: new Set(),\n weakImports: new Set(),\n runtimePaths: [],\n memorySize: 0,\n memoryAlign: 0,\n tableSize: 0,\n tableAlign: 0\n }\n var WASM_DYLINK_MEM_INFO = 0x1\n var WASM_DYLINK_NEEDED = 0x2\n var WASM_DYLINK_EXPORT_INFO = 0x3\n var WASM_DYLINK_IMPORT_INFO = 0x4\n var WASM_DYLINK_RUNTIME_PATH = 0x5\n var WASM_SYMBOL_TLS = 0x100\n var WASM_SYMBOL_BINDING_MASK = 0x3\n var WASM_SYMBOL_BINDING_WEAK = 0x1\n while (offset < end) {\n var subsectionType = getU8()\n var subsectionSize = getLEB()\n if (subsectionType === WASM_DYLINK_MEM_INFO) {\n customSection.memorySize = getLEB()\n customSection.memoryAlign = getLEB()\n customSection.tableSize = getLEB()\n customSection.tableAlign = getLEB()\n } else if (subsectionType === WASM_DYLINK_NEEDED) {\n customSection.neededDynlibs = getStringList()\n } else if (subsectionType === WASM_DYLINK_EXPORT_INFO) {\n let count = getLEB()\n while (count--) {\n let symname = getString()\n let flags = getLEB()\n if (flags & WASM_SYMBOL_TLS) {\n customSection.tlsExports.add(symname)\n }\n }\n } else if (subsectionType === WASM_DYLINK_IMPORT_INFO) {\n let count = getLEB()\n while (count--) {\n /* var modname = */ getString()\n let symname = getString()\n let flags = getLEB()\n if ((flags & WASM_SYMBOL_BINDING_MASK) === WASM_SYMBOL_BINDING_WEAK) {\n customSection.weakImports.add(symname)\n }\n }\n } else if (subsectionType === WASM_DYLINK_RUNTIME_PATH) {\n customSection.runtimePaths = getStringList()\n } else {\n console.error('unknown dylink.0 subsection:', subsectionType)\n // unknown subsection\n offset += subsectionSize\n }\n }\n\n var tableAlign = Math.pow(2, customSection.tableAlign)\n failIf(tableAlign !== 1, `invalid tableAlign ${tableAlign}`)\n failIf(offset !== end)\n\n return customSection\n}\n\n// Versions defined in runtime\ndeclare const __VERSION__: string\nexport const version = __VERSION__\nexport const NODE_API_SUPPORTED_VERSION_MIN = Version.NODE_API_SUPPORTED_VERSION_MIN\nexport const NODE_API_SUPPORTED_VERSION_MAX = Version.NODE_API_SUPPORTED_VERSION_MAX\nexport const NAPI_VERSION_EXPERIMENTAL = Version.NAPI_VERSION_EXPERIMENTAL\nexport const NODE_API_DEFAULT_MODULE_API_VERSION = Version.NODE_API_DEFAULT_MODULE_API_VERSION\nexport const NODE_MODULE_VERSION = Version.NODE_MODULE_VERSION\n","export abstract class Disposable implements globalThis.Disposable {\n /** @virtual */\n public abstract dispose (): void\n\n // @ts-expect-error\n public [Symbol.dispose] (): void\n}\n\nif (typeof Symbol.dispose === 'symbol') {\n Object.defineProperty(Disposable.prototype, Symbol.dispose, {\n value () {\n this.dispose()\n },\n writable: true,\n enumerable: false,\n configurable: true\n })\n}\n","import { Disposable } from './Disaposable'\n\nexport class RefTracker extends Disposable {\n /** @virtual */\n public dispose (): void {}\n\n /** @virtual */\n public finalize (): void {}\n\n protected _next: RefTracker | null = null\n protected _prev: RefTracker | null = null\n\n public link (list: RefTracker): void {\n this._prev = list\n this._next = list._next\n if (this._next !== null) {\n this._next._prev = this\n }\n list._next = this\n }\n\n public unlink (): void {\n if (this._prev !== null) {\n this._prev._next = this._next\n }\n if (this._next !== null) {\n this._next._prev = this._prev\n }\n this._prev = null\n this._next = null\n }\n\n public static finalizeAll (list: RefTracker): void {\n while (list._next !== null) {\n list._next.finalize()\n }\n }\n}\n","import type { Env } from './env'\n\nexport class Finalizer {\n private _makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void\n\n public constructor (\n public envObject: Env,\n private _finalizeCallback: napi_finalize = 0,\n private _finalizeData: void_p = 0,\n private _finalizeHint: void_p = 0\n ) {\n this._makeDynCall_vppp = envObject.bridge.makeDynCall_vppp\n }\n\n public copy (): Finalizer {\n const newFina: Finalizer = Object.create(Finalizer.prototype)\n newFina.envObject = this.envObject\n newFina._makeDynCall_vppp = this._makeDynCall_vppp\n newFina._finalizeCallback = this._finalizeCallback\n newFina._finalizeData = this._finalizeData\n newFina._finalizeHint = this._finalizeHint\n return newFina\n }\n\n public move (target: Finalizer): void {\n target._finalizeCallback = this._finalizeCallback\n target._finalizeData = this._finalizeData\n target._finalizeHint = this._finalizeHint\n target.envObject = this.envObject\n target._makeDynCall_vppp = this._makeDynCall_vppp\n\n this._finalizeCallback = 0\n this._finalizeData = 0\n this._finalizeHint = 0\n this.dispose()\n }\n\n public callback (): napi_finalize { return this._finalizeCallback }\n public data (): void_p { return this._finalizeData }\n public hint (): void_p { return this._finalizeHint }\n\n public resetEnv (): void {\n this.envObject = undefined!\n }\n\n public resetFinalizer (): void {\n this._finalizeCallback = 0\n this._finalizeData = 0\n this._finalizeHint = 0\n }\n\n public callFinalizer (): void {\n const finalize_callback = this._finalizeCallback\n const finalize_data = this._finalizeData\n const finalize_hint = this._finalizeHint\n this.resetFinalizer()\n\n if (!finalize_callback) return\n\n const fini = Number(finalize_callback)\n if (!this.envObject) {\n this._makeDynCall_vppp(fini)(0, finalize_data, finalize_hint)\n } else {\n this.envObject.callFinalizer(fini, finalize_data, finalize_hint)\n }\n }\n\n public dispose (): void {\n this.envObject = undefined!\n this._makeDynCall_vppp = undefined!\n }\n}\n","import type { Env } from './env'\nimport { Finalizer } from './Finalizer'\nimport { RefTracker } from './RefTracker'\n\nexport class TrackedFinalizer extends RefTracker {\n private _finalizer: Finalizer\n\n public static create (\n envObject: Env,\n finalize_callback: napi_finalize,\n finalize_data: void_p,\n finalize_hint: void_p\n ): TrackedFinalizer {\n const finalizer = new TrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint)\n finalizer.link(envObject.finalizing_reflist)\n return finalizer\n }\n\n private constructor (\n envObject: Env,\n finalize_callback: napi_finalize,\n finalize_data: void_p,\n finalize_hint: void_p\n ) {\n super()\n this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint)\n }\n\n public data (): void_p {\n return this._finalizer.data()\n }\n\n public override dispose (): void {\n if (!this._finalizer) return\n this.unlink()\n this._finalizer.envObject.dequeueFinalizer(this)\n this._finalizer.dispose()\n this._finalizer = undefined!\n super.dispose()\n }\n\n public override finalize (): void {\n this.unlink()\n\n let error: any\n let caught = false\n\n try {\n this._finalizer.callFinalizer()\n } catch (err) {\n caught = true\n error = err\n }\n this.dispose()\n if (caught) {\n throw error\n }\n }\n}\n","import { Disposable } from './Disaposable'\n\nexport interface ReusableStoreValue extends Disposable {\n reuse (...args: any[]): void\n}\n\nexport interface IdAllocator extends Disposable {\n aquire (): number\n release (id: number): void\n}\n\nexport class CountIdAllocator extends Disposable implements IdAllocator {\n public next: number\n\n public constructor (initialNext = 1) {\n super()\n this.next = initialNext\n }\n\n /** @virtual */\n public aquire (): number {\n return this.next++\n }\n\n /** @virtual */\n public release (_: number): void {}\n\n /** @virtual */\n public dispose (): void {}\n}\n\nexport class CountIdReuseAllocator extends CountIdAllocator implements IdAllocator {\n private _freeList: number[] = []\n private _freeListHead = 0\n\n public override aquire (): number {\n if (this._freeListHead < this._freeList.length) {\n const id = this._freeList[this._freeListHead++]\n if (this._freeListHead === this._freeList.length) {\n this._freeList.length = 0\n this._freeListHead = 0\n }\n return id\n }\n return super.aquire()\n }\n\n public override release (id: number): void {\n this._freeList.push(id)\n }\n\n public override dispose (): void {\n this._freeList.length = 0\n this._freeListHead = 0\n super.dispose()\n }\n}\n\nexport interface ObjectAllocator<T> extends Disposable {\n deref<R extends T = T> (id: number | bigint): R | undefined\n alloc<P extends any[]> (factory: (...args: P) => T, ...args: P): T\n dealloc (id: number | bigint): void\n}\n\nexport class BaseArrayStore<T> extends Disposable implements ObjectAllocator<T> {\n protected _values: [undefined, ...(T | undefined)[]]\n\n public constructor (initialCapacity = 1) {\n super()\n this._values = [undefined]\n for (let i = 1; i < initialCapacity; i++) {\n this._values.push(undefined)\n }\n }\n\n /** @virtual */\n public assign (id: number | bigint, value: T): T {\n this._values[id as number] = value\n return value\n }\n\n /** @virtual */\n public deref<R extends T = T> (id: number | bigint): R | undefined {\n return this._values[id as number] as R\n }\n\n /** @virtual */\n public alloc <P extends any[]> (factory: (...args: P) => T, ...args: P): T {\n return factory(...args)\n }\n\n /** @virtual */\n public dealloc (id: number | bigint): void {\n this._values[id as number] = undefined\n }\n\n /** @virtual */\n public dispose (): void {\n this._values.forEach((_, i) => this.dealloc(i))\n }\n}\n\nexport class ArrayStore<T extends { id: number | bigint }> extends BaseArrayStore<T> {\n protected _allocator: IdAllocator\n\n public constructor (initialCapacity = 4) {\n super(initialCapacity)\n this._allocator = new CountIdReuseAllocator(1)\n }\n\n public insert (value: T): void {\n const id = this._allocator.aquire()\n value.id = id\n this._values[id as number] = value\n }\n\n /** @virtual */\n public override alloc<P extends any[]> (factory: (...args: P) => T, ...args: P): T {\n const value = factory(...args)\n this.insert(value)\n return value\n }\n\n /** @virtual */\n public override dealloc (id: number | bigint): void {\n this._allocator.release(id as number)\n super.dealloc(id)\n }\n}\n","import { Disposable } from './Disaposable'\nimport type { Isolate } from './Isolate'\nimport { ArrayStore } from './Store'\nimport { supportFinalizer } from './util'\n\nexport class PersistentStore extends ArrayStore<Persistent<any>> {\n private _recyleList: (number | bigint)[] = []\n private _recyleListHead = 0\n\n constructor (initialCapacity: number = 4) {\n super(initialCapacity)\n }\n\n public markUnused (id: number | bigint): void {\n this._recyleList.push(id)\n }\n\n public recycle () {\n while (this._recyleListHead < this._recyleList.length) {\n const id = this._recyleList[this._recyleListHead++]\n if (this._recyleListHead === this._recyleList.length) {\n this._recyleList.length = 0\n this._recyleListHead = 0\n }\n const persistent = this.deref(id)!\n persistent.dispose()\n }\n }\n}\n\nexport class StrongRef<T> extends Disposable {\n private _value: T\n\n constructor (value: T) {\n super()\n this._value = value\n }\n\n deref (): T {\n return this._value\n }\n\n dispose (): void {\n this._value = undefined!\n }\n}\n\nexport type PersistentValueType<T> = StrongRef<T> | WeakRef<T extends object ? T : never> | undefined\n\nexport class Persistent<T> extends Disposable {\n private _param: any\n private _callback: ((param: any) => void) | undefined\n private _isolate: Isolate\n private _slotId: number\n public id: number\n\n private static readonly _registry = supportFinalizer\n ? new FinalizationRegistry((value: Persistent<any>) => {\n value.setSlot(undefined)\n const callback = value._callback\n const param = value._param\n value._callback = undefined\n value._param = undefined\n if (typeof callback === 'function') {\n callback(param)\n }\n })\n : undefined!\n\n constructor (isolate: Isolate, ...args: [T] | []) {\n super()\n this.id = 0\n this._isolate = isolate\n isolate.insertRef(this)\n this._slotId = 0x80000000 + this.id\n this.setSlot(args.length === 0 ? undefined : new StrongRef(args[0]))\n }\n\n override dispose (): void {\n this.reset()\n this.deleteSlot()\n this._isolate.globalHandleStore.dealloc(this.id)\n this._isolate = undefined!\n this.id = 0\n }\n\n copy (): Persistent<T> {\n const target = new Persistent<T>(this._isolate)\n target._param = this._param\n target._callback = this._callback\n const ref = this.getSlot()\n if (ref instanceof StrongRef) {\n target.setSlot(new StrongRef(ref.deref()))\n } else if (ref instanceof WeakRef) {\n const value = ref.deref()\n if (value === undefined) {\n target.setSlot(undefined)\n } else {\n target.setSlot(new StrongRef(value))\n target.setWeak(this._param, this._callback!)\n }\n } else {\n target.setSlot(undefined)\n }\n\n return target\n }\n\n move (to: Persistent<T>): void {\n if (this === to) return\n to.reset()\n to._param = this._param\n to._callback = this._callback\n to._isolate = this._isolate\n to.setSlot(this.getSlot())\n this.reset()\n this.setSlot(undefined)\n }\n\n slot (): number {\n return this._slotId\n }\n\n getSlot (): PersistentValueType<T> {\n return this._isolate.getRefSlotValue(this.slot())\n }\n\n setSlot (ref: PersistentValueType<T>): void {\n this._isolate.setRefSlotValue(this.slot(), ref)\n }\n\n deleteSlot (): void {\n this._isolate.deleteRefSlotValue(this.slot())\n }\n\n setWeak<P> (param: P, callback: (param: P) => void): void {\n const ref = this.getSlot()\n if (!supportFinalizer || ref === undefined || ref instanceof WeakRef) return\n const value = ref.deref()\n try {\n Persistent._registry.register(value as any, this, this)\n const weakRef = new WeakRef<any>(value)\n ref.dispose()\n this.setSlot(weakRef)\n this._param = param\n this._callback = callback\n } catch (err) {\n if (typeof value === 'symbol') {\n // Currently ignore symbols, remain them strong reference\n\n // may change to this in the future:\n /*\n if (supportWeakSymbol) {\n // global symbols (created by `Symbol.for`) throw\n throw err\n } else {\n // weakly reference symbol failed\n // ignored, remain strong reference\n }\n */\n } else {\n throw err\n }\n }\n }\n\n clearWeak (): void {\n const ref = this.getSlot()\n if (!supportFinalizer || ref === undefined) return\n if (ref instanceof WeakRef) {\n try {\n Persistent._registry.unregister(this)\n } catch (_) {}\n this._param = undefined\n this._callback = undefined\n const value = ref.deref()\n if (value === undefined) {\n this.setSlot(value)\n } else {\n this.setSlot(new StrongRef(value as T))\n }\n }\n }\n\n reset (): void {\n if (supportFinalizer) {\n try {\n Persistent._registry.unregister(this)\n } catch (_) {}\n }\n this._param = undefined\n this._callback = undefined\n const ref = this.getSlot()\n if (ref instanceof StrongRef) {\n ref.dispose()\n }\n this.setSlot(undefined)\n }\n\n resetTo (value: T): void {\n this.reset()\n this.setSlot(new StrongRef(value))\n }\n\n isEmpty (): boolean {\n return this.getSlot() === undefined\n }\n\n deref (): T | undefined {\n const ref = this.getSlot()\n if (ref === undefined) return undefined\n return ref.deref()\n }\n}\n","import type { Context } from './Context'\nimport {\n NAPI_VERSION_EXPERIMENTAL\n} from './util'\nimport { RefTracker } from './RefTracker'\nimport { TrackedFinalizer } from './TrackedFinalizer'\nimport { Disposable } from './Disaposable'\nimport type { ArrayStore } from './Store'\nimport { Persistent } from './Persistent'\n\nfunction handleThrow (envObject: Env, value: any): void {\n if (envObject.terminatedOrTerminating()) {\n return\n }\n throw value\n}\n\nexport interface IReferenceBinding {\n wrapped: number // wrapped Reference id\n tag: Uint32Array | null\n}\n\nexport interface EnvNativeBridge {\n address: number\n deleteEnv: (ptr: number) => void\n setLastError: (env: napi_env, error_code: napi_status, engine_error_code: uint32_t, engine_reserved: number) => void\n makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void\n makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void\n abort: (msg?: string) => never\n wasm64?: boolean\n}\n\nexport abstract class Env extends Disposable {\n public id: number | bigint\n\n public openHandleScopes: number = 0\n\n public instanceData: TrackedFinalizer | null = null\n\n public lastException: Persistent<any>\n\n public refs = 1\n\n public reflist = new RefTracker()\n public finalizing_reflist = new RefTracker()\n\n public pendingFinalizers: Set<RefTracker> = new Set()\n\n moduleApiVersion!: number\n filename!: string\n nodeBinding?: any\n\n public inGcFinalizer = false\n\n public bridge: EnvNativeBridge\n\n public readonly ctx: Context\n private store: ArrayStore<Env>\n\n public constructor (\n ctx: Context,\n store: ArrayStore<Env>,\n bridge: EnvNativeBridge\n ) {\n super()\n this.ctx = ctx\n this.store = store\n this.id = 0\n this.store.insert(this)\n this.lastException = new Persistent<any>(ctx.isolate)\n this.bridge = bridge\n }\n\n /** @virtual */\n public canCallIntoJs (): boolean {\n return true\n }\n\n public terminatedOrTerminating (): boolean {\n return !this.canCallIntoJs()\n }\n\n public ref (): void {\n this.refs++\n }\n\n public unref (): void {\n this.refs--\n if (this.refs === 0) {\n this.dispose()\n }\n }\n\n public clearLastError (): napi_status {\n this.bridge.setLastError(this.bridge.address, napi_status.napi_ok, 0, 0)\n return napi_status.napi_ok\n }\n\n public setLastError (error_code: napi_status, engine_error_code: uint32_t = 0, engine_reserved: number = 0): napi_status {\n this.bridge.setLastError(this.bridge.address, error_code, engine_error_code, engine_reserved)\n return error_code\n }\n\n public callIntoModule<T> (fn: (env: Env) => T, handleException?: (envObject: Env, value: any) => void): T\n public callIntoModule<T> (fn: (env: Env) => T, handleException = handleThrow): T {\n const openHandleScopesBefore = this.openHandleScopes\n this.clearLastError()\n const r = fn(this)\n if (openHandleScopesBefore !== this.openHandleScopes) {\n this.bridge.abort('open_handle_scopes != open_handle_scopes_before')\n }\n if (!this.lastException.isEmpty()) {\n const err = this.lastException.deref()!\n this.lastException.reset()\n handleException(this, err)\n }\n return r\n }\n\n /** @virtual */\n public abstract callFinalizer (cb: napi_finalize, data: void_p, hint: void_p): void\n\n public invokeFinalizerFromGC (finalizer: RefTracker): void {\n if (this.moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) {\n this.enqueueFinalizer(finalizer)\n } else {\n const saved = this.inGcFinalizer\n this.inGcFinalizer = true\n try {\n finalizer.finalize()\n } finally {\n this.inGcFinalizer = saved\n }\n }\n }\n\n public checkGCAccess (): void {\n if (this.moduleApiVersion === NAPI_VERSION_EXPERIMENTAL && this.inGcFinalizer) {\n this.bridge.abort(\n 'Finalizer is calling a function that may affect GC state.\\n' +\n 'The finalizers are run directly from GC and must not affect GC ' +\n 'state.\\n' +\n 'Use `node_api_post_finalizer` from inside of the finalizer to work ' +\n 'around this issue.\\n' +\n 'It schedules the call as a new task in the event loop.'\n )\n }\n }\n\n /** @virtual */\n public enqueueFinalizer (finalizer: RefTracker): void {\n this.pendingFinalizers.add(finalizer)\n }\n\n /** @virtual */\n public dequeueFinalizer (finalizer: RefTracker): void {\n this.pendingFinalizers.delete(finalizer)\n }\n\n /** @virtual */\n public deleteMe (): void {\n RefTracker.finalizeAll(this.finalizing_reflist)\n RefTracker.finalizeAll(this.reflist)\n\n this.lastException.reset()\n this.store.dealloc(this.id)\n\n this.bridge.deleteEnv(this.bridge.address)\n }\n\n public dispose (): void {\n if (this.id === 0) return\n this.deleteMe()\n\n this.finalizing_reflist.dispose()\n this.reflist.dispose()\n this.id = 0\n }\n\n private readonly _bindingMap: WeakMap<object, IReferenceBinding> = new WeakMap()\n\n public initObjectBinding<S extends object> (value: S): IReferenceBinding {\n const binding: IReferenceBinding = {\n wrapped: 0,\n tag: null\n }\n this._bindingMap.set(value, binding)\n return binding\n }\n\n public getObjectBinding<S extends object> (value: S): IReferenceBinding {\n if (this._bindingMap.has(value)) {\n return this._bindingMap.get(value)!\n }\n return this.initObjectBinding(value)\n }\n\n public setInstanceData (data: number, finalize_cb: number, finalize_hint: number): void {\n if (this.instanceData) {\n this.instanceData.dispose()\n }\n this.instanceData = TrackedFinalizer.create(this, finalize_cb, data, finalize_hint)\n }\n\n public getInstanceData (): number | bigint {\n return this.instanceData ? this.instanceData.data() : 0\n }\n}\n\nexport class NodeEnv extends Env {\n public destructing: boolean = false\n public finalizationScheduled: boolean = false\n\n public constructor (\n ctx: Context,\n store: ArrayStore<Env>,\n bridge: EnvNativeBridge\n ) {\n super(ctx, store, bridge)\n this.bridge = bridge\n }\n\n public override deleteMe (): void {\n this.destructing = true\n this.drainFinalizerQueue()\n super.deleteMe()\n }\n\n public override canCallIntoJs (): boolean {\n return super.canCallIntoJs() && this.ctx.canCallIntoJs()\n }\n\n public triggerFatalException (err: any): void {\n if (this.nodeBinding) {\n this.nodeBinding.napi.fatalException(err)\n } else {\n if (typeof process === 'object' && process !== null && typeof (process as any)._fatalException === 'function') {\n const handled = (process as any)._fatalException(err)\n if (!handled) {\n console.error(err)\n process.exit(1)\n }\n } else {\n throw err\n }\n }\n }\n\n public callbackIntoModule<T> (enforceUncaughtExceptionPolicy: boolean, fn: (env: Env) => T): T {\n return this.callIntoModule(fn, (envObject, err) => {\n if (envObject.terminatedOrTerminating()) {\n return\n }\n const hasProcess = typeof process === 'object' && process !== null\n const hasForceFlag = hasProcess ? Boolean(process.execArgv && (process.execArgv.indexOf('--force-node-api-uncaught-exceptions-policy') !== -1)) : false\n if (envObject.moduleApiVersion < 10 && !hasForceFlag && !enforceUncaughtExceptionPolicy) {\n const warn = hasProcess && typeof process.emitWarning === 'function'\n ? process.emitWarning\n : function (warning: string | Error, type?: string, code?: string) {\n if (warning instanceof Error) {\n console.warn(warning.toString())\n } else {\n const prefix = code ? `[${code}] ` : ''\n\n console.warn(`${prefix}${type || 'Warning'}: ${warning}`)\n }\n }\n warn(\n 'Uncaught Node-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.',\n 'DeprecationWarning',\n 'DEP0168'\n )\n return\n }\n (envObject as NodeEnv).triggerFatalException(err)\n })\n }\n\n public override callFinalizer (cb: napi_finalize, data: void_p, hint: void_p): void {\n this.callFinalizerInternal(1, cb, data, hint)\n }\n\n public callFinalizerInternal (forceUncaught: int, cb: napi_finalize, data: void_p, hint: void_p): void {\n const f = this.bridge.makeDynCall_vppp(cb)\n const env: napi_env = this.bridge.address\n const scope = this.ctx.openScope(this)\n try {\n this.callbackIntoModule(Boolean(forceUncaught), () => { f(env, data, hint) })\n } finally {\n this.ctx.closeScope(this, scope)\n }\n }\n\n public override enqueueFinalizer (finalizer: RefTracker): void {\n super.enqueueFinalizer(finalizer)\n if (!this.finalizationScheduled && !this.destructing) {\n this.finalizationScheduled = true\n this.ref()\n this.ctx.features.setImmediate(() => {\n this.finalizationScheduled = false\n this.unref()\n this.drainFinalizerQueue()\n })\n }\n }\n\n public drainFinalizerQueue (): void {\n for (const refTracker of this.pendingFinalizers) {\n this.pendingFinalizers.delete(refTracker)\n refTracker.finalize()\n }\n }\n}\n","class EmnapiError extends Error {\n constructor (message?: string) {\n super(message)\n const ErrorConstructor: any = new.target\n const proto = ErrorConstructor.prototype\n\n if (!(this instanceof EmnapiError)) {\n const setPrototypeOf = (Object as any).setPrototypeOf\n if (typeof setPrototypeOf === 'function') {\n setPrototypeOf.call(Object, this, proto)\n } else {\n // eslint-disable-next-line no-proto\n (this as any).__proto__ = proto\n }\n if (typeof (Error as any).captureStackTrace === 'function') {\n (Error as any).captureStackTrace(this, ErrorConstructor)\n }\n }\n }\n}\n\nObject.defineProperty(EmnapiError.prototype, 'name', {\n configurable: true,\n writable: true,\n value: 'EmnapiError'\n})\n\nclass NotSupportWeakRefError extends EmnapiError {\n constructor (api: string, message: string) {\n super(`${api}: The current runtime does not support \"FinalizationRegistry\" and \"WeakRef\".${message ? ` ${message}` : ''}`)\n }\n}\n\nObject.defineProperty(NotSupportWeakRefError.prototype, 'name', {\n configurable: true,\n writable: true,\n value: 'NotSupportWeakRefError'\n})\n\nclass NotSupportBufferError extends EmnapiError {\n constructor (api: string, message: string) {\n super(`${api}: The current runtime does not support \"Buffer\". Consider using buffer polyfill to make sure \\`globalThis.Buffer\\` is defined.${message ? ` ${message}` : ''}`)\n }\n}\n\nObject.defineProperty(NotSupportBufferError.prototype, 'name', {\n configurable: true,\n writable: true,\n value: 'NotSupportBufferError'\n})\n\nexport {\n EmnapiError,\n NotSupportWeakRefError,\n NotSupportBufferError\n}\n","import type { Env } from './env'\nimport { Persistent } from './Persistent'\nimport { RefTracker } from './RefTracker'\nimport { Finalizer } from './Finalizer'\nimport type { Context } from './Context'\n\nexport enum ReferenceOwnership {\n kRuntime,\n kUserland\n}\n\nfunction canBeHeldWeakly (value: any): boolean {\n if (!value) return false\n const type = typeof value\n return type === 'object' || type === 'function' || type === 'symbol'\n}\n\nexport class Reference extends RefTracker {\n private static weakCallback (ref: Reference): void {\n const persistent = ref.getPersistent()\n persistent.reset()\n ref.invokeFinalizerFromGC()\n }\n\n public id: number\n public envObject: Env | undefined\n private ctx: Context\n\n private canBeWeak!: boolean\n private _refcount: number\n private _ownership: ReferenceOwnership\n\n public static create (\n ctx: Context,\n envObject: Env,\n handle_id: napi_value,\n initialRefcount: uint32_t,\n ownership: ReferenceOwnership,\n _unused1?: void_p,\n _unused2?: void_p,\n _unused3?: void_p\n ): Reference {\n const ref = new Reference(\n ctx, envObject, handle_id, initialRefcount, ownership\n )\n if (envObject) {\n ref.link(envObject.reflist)\n }\n return ref\n }\n\n public constructor (\n ctx: Context,\n envObject: Env,\n handle_id: napi_value,\n initialRefcount: uint32_t,\n ownership: ReferenceOwnership\n ) {\n super()\n this.envObject = envObject\n this._refcount = initialRefcount\n this._ownership = ownership\n const value = envObject ? envObject.ctx.jsValueFromNapiValue(handle_id)! : handle_id\n this.canBeWeak = canBeHeldWeakly(value)\n // this.persistent = new Persistent(ctx.isolate, value)\n this.ctx = ctx\n this.id = new Persistent(ctx.isolate, value).id\n ctx.refStore.set(this.id, this)\n if (initialRefcount === 0) {\n this._setWeak()\n }\n }\n\n public getPersistent (): Persistent<any> {\n return this.ctx.isolate.getRef(this.id)!\n }\n\n public ref (): number {\n const persistent = this.getPersistent()\n if (persistent.isEmpty()) {\n return 0\n }\n\n if (++this._refcount === 1 && this.canBeWeak) {\n persistent.clearWeak()\n }\n\n return this._refcount\n }\n\n public unref (): number {\n const persistent = this.getPersistent()\n if (persistent.isEmpty() || this._refcount === 0) {\n return 0\n }\n\n if (--this._refcount === 0) {\n this._setWeak()\n }\n return this._refcount\n }\n\n public deref (): any {\n const persistent = this.getPersistent()\n return persistent.deref()\n }\n\n public get (): napi_value {\n const persistent = this.getPersistent()\n if (persistent.isEmpty()) {\n return 0\n }\n return persistent.slot()\n }\n\n /** @virtual */\n public resetFinalizer (): void {}\n\n /** @virtual */\n public data (): void_p { return 0 }\n\n public refcount (): number { return this._refcount }\n\n public ownership (): ReferenceOwnership { return this._ownership }\n\n /** @virtual */\n protected callUserFinalizer (): void {}\n\n /** @virtual */\n protected invokeFinalizerFromGC (): void {\n this.finalize()\n }\n\n private _setWeak (): void {\n this.setWeakWithData(this, Reference.weakCallback)\n }\n\n public setWeakWithData<T> (data: T, callback: (data: T) => void): void {\n const persistent = this.getPersistent()\n if (this.canBeWeak) {\n persistent.setWeak(data, callback)\n } else {\n persistent.reset()\n }\n }\n\n public clearWeak (): void {\n const persistent = this.getPersistent()\n persistent.clearWeak()\n }\n\n public override finalize (): void {\n const persistent = this.getPersistent()\n persistent.reset()\n const deleteMe = this._ownership === ReferenceOwnership.kRuntime\n this.unlink()\n this.callUserFinalizer()\n if (deleteMe) {\n this.dispose()\n }\n }\n\n public override dispose (): void {\n if (this.id === 0) return\n this.unlink()\n this.ctx.isolate.removeRef(this.id)\n this.ctx.refStore.delete(this.id)\n super.dispose()\n this.ctx = undefined!\n this.envObject = undefined!\n this.id = 0\n }\n}\n\nexport class ReferenceWithData extends Reference {\n private _data: void_p\n\n public static override create (\n ctx: Context,\n envObject: Env,\n value: napi_value,\n initialRefcount: uint32_t,\n ownership: ReferenceOwnership,\n data: void_p\n ): ReferenceWithData {\n const reference = new ReferenceWithData(\n ctx, envObject, value, initialRefcount, ownership, data\n )\n if (envObject) {\n reference.link(envObject.reflist)\n }\n return reference\n }\n\n public constructor (\n ctx: Context,\n envObject: Env,\n value: napi_value,\n initialRefcount: uint32_t,\n ownership: ReferenceOwnership,\n data: void_p\n ) {\n super(ctx, envObject, value, initialRefcount, ownership)\n this._data = data\n }\n\n public data (): void_p {\n return this._data\n }\n}\n\nexport class ReferenceWithFinalizer extends Reference {\n private _finalizer: Finalizer\n\n public static override create (\n ctx: Context,\n envObject: Env,\n value: napi_value,\n initialRefcount: uint32_t,\n ownership: ReferenceOwnership,\n finalize_callback: napi_finalize,\n finalize_data: void_p,\n finalize_hint: void_p\n ): ReferenceWithFinalizer {\n if (!envObject) {\n throw new TypeError('envObject is required for ReferenceWithFinalizer')\n }\n const reference = new ReferenceWithFinalizer(\n ctx, envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint\n )\n reference.link(envObject.finalizing_reflist)\n return reference\n }\n\n public constructor (\n ctx: Context,\n envObject: Env,\n value: napi_value,\n initialRefcount: uint32_t,\n ownership: ReferenceOwnership,\n finalize_callback: napi_finalize,\n finalize_data: void_p,\n finalize_hint: void_p\n ) {\n super(ctx, envObject, value, initialRefcount, ownership)\n this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint)\n }\n\n public override resetFinalizer (): void {\n this._finalizer.resetFinalizer()\n }\n\n public override data (): void_p {\n return this._finalizer.data()\n }\n\n protected override callUserFinalizer (): void {\n this._finalizer.callFinalizer()\n }\n\n protected override invokeFinalizerFromGC (): void {\n this._finalizer.envObject.invokeFinalizerFromGC(this)\n }\n\n public override dispose (): void {\n if (!this._finalizer) return\n this._finalizer.envObject.dequeueFinalizer(this)\n this._finalizer.dispose()\n super.dispose()\n this._finalizer = undefined!\n }\n}\n","import type { PersistentValueType } from './Persistent'\nimport { BaseArrayStore, CountIdAllocator } from './Store'\nimport type { Features } from './util'\n\nexport class HandleStore extends BaseArrayStore<any> {\n public static MIN_ID = 8 as const\n\n private _allocator: CountIdAllocator\n private _features: Features\n\n /** @internal */\n public readonly refValues: Map<number, PersistentValueType<any>>\n\n private _erase: (start: number, end: number, weak: boolean) => void\n private _deref: (id: number | bigint) => any\n\n public constructor (features: Features) {\n super(HandleStore.MIN_ID)\n this._features = features\n this._allocator = new CountIdAllocator(HandleStore.MIN_ID)\n this.refValues = new Map()\n\n this._values[Constant.UNDEFINED] = undefined\n this._values[Constant.NULL] = null\n this._values[Constant.FALSE] = false\n this._values[Constant.TRUE] = true\n this._values[Constant.GLOBAL] = features.getGlobalThis()\n this._values[Constant.EMPTY_STRING] = ''\n\n const _erase = (start: number, end: number): void => {\n for (let i = start; i < end; ++i) {\n this.dealloc(i)\n }\n }\n\n this._erase = this._features.finalizer\n ? this._features.weakSymbol\n ? (start: number, end: number, weak: boolean): void => {\n if (!weak) {\n _erase(start, end)\n } else {\n for (let i = start; i < end; ++i) {\n const value = this._values[i]\n const type = typeof value\n if ((type === 'object' && value !== null) || (type === 'function') || (type === 'symbol' && Symbol.keyFor(value) === undefined)) {\n this._values[i] = new WeakRef(value)\n }\n }\n }\n }\n : (start: number, end: number, weak: boolean): void => {\n if (!weak) {\n _erase(start, end)\n } else {\n for (let i = start; i < end; ++i) {\n const value = this._values[i]\n const type = typeof value\n if ((type === 'object' && value !== null) || (type === 'function')) {\n this._values[i] = new WeakRef(value)\n }\n }\n }\n }\n : _erase\n\n this._deref = this._features.finalizer\n ? (id: number | bigint): any => {\n id = Number(id)\n if (id < 0 || id > 0x7fffffff) {\n const ref = this.refValues.get(id >>> 0)\n if (ref === undefined) return undefined\n return ref.deref()\n }\n const value = this._values[id]\n if (value instanceof WeakRef && this.isOutOfScope(id)) {\n return value.deref()\n }\n return value\n }\n : (id: number | bigint): any => {\n id = Number(id)\n if (id < 0 || id > 0x7fffffff) {\n const ref = this.refValues.get(id >>> 0)\n if (ref === undefined) return undefined\n return ref.deref()\n }\n const value = this._values[id as number]\n return value\n }\n }\n\n public isOutOfScope (id: number): boolean {\n return id >= this._allocator.next\n }\n\n public deepDeref<R = any> (id: number | bigint): R | undefined {\n return this._deref(id) as R\n }\n\n public push<S> (value: S): number {\n const next = this._allocator.aquire()\n this._values[next] = value\n return next\n }\n\n public erase (start: number, end: number, weak: boolean): void {\n this._allocator.next = start\n this._erase(start, end, weak)\n }\n\n public swap (a: number, b: number): void {\n const values = this._values\n const h = values[a]!\n values[a] = values[b]\n // values[a]!.id = Number(a)\n values[b] = h\n // h.id = Number(b)\n }\n}\n","/** @public */\nexport interface External extends Record<any, any> {}\n\nconst externalValue = new WeakMap<External, number | bigint>()\n\n/** @public */\nexport function isExternal (object: unknown): object is External {\n return externalValue.has(object as any)\n}\n\n/** @public */ // eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const External = (() => {\n function External (this: External, value: number | bigint): void {\n Object.setPrototypeOf(this, null)\n externalValue.set(this, value)\n }\n External.prototype = null as any\n return External as unknown as {\n new (value: number | bigint): External\n prototype: null\n }\n})()\n\n/** @public */\nexport function getExternalValue (external: External): number | bigint {\n if (!isExternal(external)) {\n throw new TypeError('not external')\n }\n return externalValue.get(external)!\n}\n","import { HandleStore } from './Handle'\nimport { Disposable } from './Disaposable'\nimport { External } from './External'\n\nexport interface ICallbackInfo {\n thiz: any\n holder: any\n data: void_p\n args: ArrayLike<any>\n fn: Function\n}\n\nexport class HandleScope extends Disposable {\n public handleStore: HandleStore\n public id: number | bigint\n public parent: HandleScope | null\n public child: HandleScope | null\n public start: number\n public end: number\n private _escapeCalled: boolean = false\n public callbackInfo: ICallbackInfo\n\n public static create (parentScope: HandleScope | null, handleStore: HandleStore, start = parentScope?.end ?? 1, end = start): HandleScope {\n return new HandleScope(parentScope, handleStore, start, end)\n }\n\n public constructor (parentScope: HandleScope | null, handleStore: HandleStore, start = parentScope?.end ?? 1, end = start) {\n super()\n this.handleStore = handleStore\n this.id = 0\n this.parent = parentScope\n this.child = null\n if (parentScope !== null) parentScope.child = this\n this.start = start\n this.end = end\n this.callbackInfo = {\n thiz: undefined,\n holder: undefined,\n data: 0,\n args: undefined!,\n fn: undefined!\n }\n }\n\n public reuse (parentScope: HandleScope) {\n this.start = this.end = parentScope.end\n this._escapeCalled = false\n }\n\n public add<V> (value: V): number {\n const h = this.handleStore.push(value)\n this.end = h + 1\n return h\n }\n\n public addExternal (data: number | bigint): number {\n return this.add(new External(data))\n }\n\n public dispose (): void {\n const weak = this.callbackInfo.fn === undefined\n if (!weak) {\n this.callbackInfo.data = 0\n this.callbackInfo.args = undefined!\n this.callbackInfo.thiz = undefined\n this.callbackInfo.holder = undefined\n this.callbackInfo.fn = undefined!\n }\n if (this.start === this.end) return\n this.handleStore.erase(this.start, this.end, weak)\n }\n\n public escape (handle: number): number {\n if (handle < this.start || handle >= this.end) return handle\n if (this._escapeCalled) return 0\n this._escapeCalled = true\n\n const id = this.start\n this.handleStore.swap(handle, id)\n this.start++\n this.parent!.end++\n return id\n }\n\n public escapeCalled (): boolean {\n return this._escapeCalled\n }\n}\n","import { HandleStore } from './Handle'\nimport { HandleScope } from './HandleScope'\nimport { BaseArrayStore } from './Store'\n\nexport class ScopeStore extends BaseArrayStore<HandleScope> {\n private readonly _rootScope: HandleScope\n public currentScope: HandleScope\n\n public constructor () {\n super()\n this._rootScope = new HandleScope(null!, null!, 1, HandleStore.MIN_ID)\n this.currentScope = this._rootScope\n }\n\n public openScope (handleStore: HandleStore): HandleScope {\n const currentScope = this.currentScope\n let scope = currentScope.child\n if (scope) {\n scope.reuse(currentScope)\n } else {\n scope = new HandleScope(currentScope, handleStore)\n const id = currentScope.id as number + 1\n scope.id = id\n this._values[id as number] = scope\n }\n this.currentScope = scope\n return scope\n }\n\n public closeScope (): void {\n const scope = this.currentScope\n this.currentScope = scope.parent!\n scope.dispose()\n }\n\n public isEmpty (): boolean {\n return this.currentScope === this._rootScope\n }\n}\n","import type { Isolate } from './Isolate'\n\nexport class TryCatch {\n public static top: TryCatch | null = null\n private static _map: Map<number | bigint, TryCatch> = new Map()\n\n public id: number | bigint = 0\n private _exception: any = undefined\n private _caught: boolean = false\n private _next: TryCatch | null = null\n\n public constructor (id: number | bigint) {\n this.id = id\n this._next = TryCatch.top\n TryCatch.top = this\n TryCatch._map.set(id, this)\n }\n\n public static deref (id: number | bigint) {\n return this._map.get(id)\n }\n\n public static pop (): void {\n const top = TryCatch.top\n if (top) {\n TryCatch._map.delete(top.id)\n TryCatch.top = top._next\n top._next = null\n top.id = 0\n top._exception = undefined\n top._caught = false\n }\n }\n\n public isEmpty (): boolean {\n return !this._caught\n }\n\n public hasCaught (): boolean {\n return this._caught\n }\n\n public exception (): any {\n return this._exception\n }\n\n public rethrow (ctx: Isolate) {\n if (this._caught) {\n const e = this.extractException()\n ctx.setLastException(e)\n return e\n }\n return undefined\n }\n\n public setError (err: any): void {\n this._caught = true\n this._exception = err\n }\n\n public reset (): void {\n this._caught = false\n this._exception = undefined\n }\n\n public extractException (): any {\n const e = this._exception\n this.reset()\n return e\n }\n}\n","import type { Isolate } from './Isolate'\nimport type { FunctionTemplate } from './FunctionTemplate'\nimport type { ObjectTemplate } from './ObjectTemplate'\n\n/** @public */\nexport enum PropertyAttribute {\n /** None. */\n None = 0,\n /** ReadOnly, i.e., not writable. */\n ReadOnly = 1 << 0,\n /** DontEnum, i.e., not enumerable. */\n DontEnum = 1 << 1,\n /** DontDelete, i.e., not configurable. */\n DontDelete = 1 << 2\n}\n\n/** @public */\nexport class Template {\n protected ctx: Isolate\n protected _properties: Map<string | symbol, [any, number]> = new Map()\n\n public constructor (ctx: Isolate) {\n this.ctx = ctx\n }\n\n public set (name: string | symbol, value: any, attr: number): void {\n this._properties.set(name, [value, attr])\n }\n\n protected _addPropertiesToInstance (instance: any): void {\n this._properties.forEach((property, name) => {\n const [v, attr] = property\n if (v instanceof Template) {\n if ('newInstance' in v) {\n Object.defineProperty(instance, name, {\n value: (v as ObjectTemplate).newInstance(6),\n writable: !(attr & 1), // ReadOnly\n enumerable: !(attr & 2), // DontEnum\n configurable: !(attr & 4) // DontDelete\n })\n } else if ('getFunction' in v) {\n Object.defineProperty(instance, name, {\n value: (v as FunctionTemplate).getFunction(),\n writable: !(attr & 1), // ReadOnly\n enumerable: !(attr & 2), // DontEnum\n configurable: !(attr & 4) // DontDelete\n })\n }\n } else {\n Object.defineProperty(instance, name, {\n value: v,\n writable: !(attr & 1), // ReadOnly\n enumerable: !(attr & 2), // DontEnum\n configurable: !(attr & 4) // DontDelete\n })\n }\n })\n }\n}\n","import type { Isolate } from './Isolate'\nimport { Template } from './Template'\nimport { TryCatch } from './TryCatch'\n\nexport function findHolder (obj: any, _target: any) {\n // TODO\n /* let ret: any\n while (obj != null) {\n const descs = Object.getOwnPropertyDescriptors(obj)\n const keys = Object.keys(descs)\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n const desc = descs[key]\n if (desc.value === target || desc.get === target || desc.set === target) {\n return obj\n }\n }\n\n obj = Object.getPrototypeOf(obj)\n }\n return ret */\n return obj\n}\n\nexport const internalField = new WeakMap<object, any[]>()\n\n/** @public */\nexport function getInternalFieldCount (instance: object) {\n return internalField.get(instance)?.length ?? 0\n}\n\n/** @public */\nexport function getInternalField (instance: object, index: number) {\n return internalField.get(instance)?.[index]\n}\n\n/** @public */\nexport function setInternalField (instance: object, index: number, value: any) {\n let fields = internalField.get(instance)\n if (fields) {\n fields[index] = value\n } else {\n fields = []\n fields[index] = value\n internalField.set(instance, fields)\n }\n}\n\nexport interface AccessorConfig {\n name: string | symbol\n getterWrap: (property: Ptr, info: Ptr, getter: Ptr) => Ptr\n setterWrap: (property: Ptr, value: Ptr, info: Ptr, setter: Ptr) => Ptr\n getter: Ptr\n setter: Ptr\n data: any\n attribute: number\n getterSideEffectType: number\n setterSideEffectType: number\n getterFunction: (() => any) | undefined\n setterFunction: ((value: any) => void) | undefined\n}\n\n/** @public */\nexport class ObjectTemplate extends Template {\n public Ctor: any\n\n public internalFieldCount: number = 0\n\n private _accessors: Map<string | symbol, AccessorConfig> = new Map()\n private _instances: WeakSet<object> = new WeakSet()\n\n constructor (\n ctx: Isolate,\n Ctor?: any\n ) {\n super(ctx)\n this.Ctor = Ctor ?? Object\n }\n\n setAccessor (\n name: string | symbol,\n getterWrap: (property: Ptr, info: Ptr, getter: Ptr) => Ptr,\n setterWrap: (property: Ptr, value: Ptr, info: Ptr, setter: Ptr) => Ptr,\n getter: Ptr,\n setter: Ptr,\n data: any,\n attribute: number,\n getterSideEffectType: number,\n setterSideEffectType: number\n ): void {\n const config: AccessorConfig = {\n name,\n getterWrap,\n setterWrap,\n getter,\n setter,\n data,\n attribute,\n getterSideEffectType,\n setterSideEffectType,\n getterFunction: undefined,\n setterFunction: undefined\n }\n config.getterFunction = getter\n ? this._createAccessorWrapper('getter', config)\n : undefined\n config.setterFunction = setter\n ? this._createAccessorWrapper('setter', config)\n : undefined\n this._accessors.set(name, config)\n }\n\n setInternalFieldCount (value: number) {\n this.internalFieldCount = value\n }\n\n private _createAccessorWrapper (type: 'getter' | 'setter', config: AccessorConfig) {\n const { ctx } = this\n const instances = this._instances\n const resolveHolder = (receiver: any) => {\n let holder = receiver\n while (holder != null && !instances.has(holder)) {\n holder = Object.getPrototypeOf(holder)\n }\n return holder || receiver\n }\n function accessor (this: any, value?: any) {\n const scope = ctx.openScope()\n const callbackInfo = scope.callbackInfo\n let returnValue: any\n try {\n callbackInfo.data = config.data\n callbackInfo.args = type === 'getter' ? [] : [value]\n callbackInfo.thiz = this\n callbackInfo.holder = resolveHolder(this)\n callbackInfo.fn = accessor\n const ret = type === 'getter'\n ? config.getterWrap(ctx.napiValueFromJsValue(config.name), ctx.getCurrentScope().id, config.getter)\n : config.setterWrap(ctx.napiValueFromJsValue(config.name), ctx.napiValueFromJsValue(value), ctx.getCurrentScope().id, config.setter)\n returnValue = ret ? ctx.jsValueFromNapiValue(ret) : undefined\n } catch (err) {\n ctx.throwException(err)\n }\n ctx.closeScope(scope)\n if (ctx.hasPendingException()) {\n if (TryCatch.top) {\n TryCatch.top.setError(ctx.getAndClearLastException())\n } else {\n throw ctx.getAndClearLastException()\n }\n }\n return returnValue\n }\n return accessor\n }\n\n applyToInstance (instance: any) {\n this._instances.add(instance)\n internalField.set(instance, Array(this.internalFieldCount))\n this._addPropertiesToInstance(instance)\n\n this._accessors.forEach((config, name) => {\n Object.defineProperty(instance, name, {\n get: config.getterFunction,\n set: config.setterFunction,\n enumerable: !(config.attribute & 2), // DontEnum\n configurable: !(config.attribute & 4) // DontDelete\n })\n })\n }\n\n newInstance (_context: any) {\n const { ctx, Ctor } = this\n let instance: any\n try {\n instance = new Ctor()\n } catch (err) {\n ctx.throwException(err)\n }\n this.applyToInstance(instance)\n return instance\n }\n}\n","import type { Isolate } from './Isolate'\nimport { ObjectTemplate, findHolder } from './ObjectTemplate'\nimport { Template } from './Template'\nimport { TryCatch } from './TryCatch'\n\n/** @public */\nexport class Signature {\n public receiver: FunctionTemplate | undefined\n\n public constructor (receiver: FunctionTemplate | undefined) {\n this.receiver = receiver\n }\n}\n\n/** @public */\nexport class FunctionTemplate extends Template {\n public callback: (info: napi_callback_info, v8FunctionCallback: Ptr) => Ptr\n public v8FunctionCallback: Ptr\n public data: any\n public className: string | undefined\n public signature: Signature | undefined\n\n private _instanceTemplate: ObjectTemplate | undefined\n private _prototypeTemplate: ObjectTemplate | undefined\n private _cached: [((...args: any[]) => any) | undefined]\n\n constructor (\n ctx: Isolate,\n callback: (info: napi_callback_info, v8FunctionCallback: Ptr) => Ptr,\n v8FunctionCallback: Ptr,\n data: any,\n signature?: Signature\n ) {\n super(ctx)\n this.ctx = ctx\n this.callback = callback\n this.v8FunctionCallback = v8FunctionCallback\n this.data = data\n this.className = undefined\n this.signature = signature\n this._cached = [undefined]\n }\n\n setClassName (name: string) {\n this.className = name\n }\n\n instanceTemplate (): ObjectTemplate {\n if (!this._instanceTemplate) {\n this._instanceTemplate = new ObjectTemplate(this.ctx)\n }\n return this._instanceTemplate\n }\n\n prototypeTemplate (): ObjectTemplate {\n if (!this._prototypeTemplate) {\n this._prototypeTemplate = new ObjectTemplate(this.ctx)\n }\n return this._prototypeTemplate\n }\n\n getFunction () {\n if (this._cached[0]) {\n return this._cached[0]\n }\n const { ctx, callback, v8FunctionCallback, data, signature, _instanceTemplate } = this\n function _ (this: any) {\n if (signature && signature.receiver) {\n const f = signature.receiver.getFunction()\n if (!(this instanceof f)) {\n throw new TypeError('Illegal invocation')\n }\n }\n const scope = ctx.openScope()\n const callbackInfo = scope.callbackInfo\n let returnValue: any\n try {\n callbackInfo.data = data\n callbackInfo.args = arguments\n callbackInfo.thiz = this\n callbackInfo.holder = findHolder(this, _) || this\n callbackInfo.fn = _\n if (_instanceTemplate && this instanceof _) {\n _instanceTemplate.applyToInstance(this)\n }\n const ret = callback(ctx.getCurrentScope()!.id, v8FunctionCallback)\n returnValue = ret ? ctx.jsValueFromNapiValue(ret) : undefined\n } catch (err) {\n if (err !== 'unwind') {\n ctx.throwException(err)\n }\n } finally {\n ctx.closeScope(scope)\n }\n if (ctx.hasPendingException()) {\n if (TryCatch.top) {\n TryCatch.top.setError(ctx.getAndClearLastException())\n } else {\n throw ctx.getAndClearLastException()\n }\n }\n return returnValue\n }\n if (typeof this.className === 'string') {\n this.ctx.features.setFunctionName?.(_, this.className)\n }\n if (this._prototypeTemplate) {\n this._prototypeTemplate.applyToInstance(_.prototype)\n }\n this._addPropertiesToInstance(_)\n this._cached[0] = _\n return _\n }\n}\n","const globalPrivateRegistry = new Map<string, Private>()\n\nconst map = new WeakMap<Private, WeakMap<object, any>>()\n\nexport class Private {\n private _name: string\n\n public constructor (name: string) {\n this._name = name\n }\n\n public name (): string {\n return this._name\n }\n\n static forApi (name: string): Private {\n let privateInstance = globalPrivateRegistry.get(name)\n if (!privateInstance) {\n privateInstance = new Private(name)\n globalPrivateRegistry.set(name, privateInstance)\n }\n return privateInstance\n }\n}\n\nexport function setPrivate (obj: any, key: Private, value: any): void {\n if (!(key instanceof Private)) {\n throw new TypeError('Expected key to be an instance of Private')\n }\n let m = map.get(key)\n if (!m) {\n m = new WeakMap<object, any>()\n map.set(key, m)\n }\n m.set(obj, value)\n}\n\nexport function getPrivate (obj: any, key: Private): any {\n if (!(key instanceof Private)) {\n throw new TypeError('Expected key to be an instance of Private')\n }\n const m = map.get(key)\n if (!m) {\n return undefined\n }\n return m.get(obj)\n}\n\nexport function hasPrivate (obj: any, key: Private): boolean {\n if (!(key instanceof Private)) {\n throw new TypeError('Expected key to be an instance of Private')\n }\n const m = map.get(key)\n if (!m) {\n return false\n }\n return m.has(obj)\n}\n\nexport function deletePrivate (obj: any, key: Private): boolean {\n if (!(key instanceof Private)) {\n throw new TypeError('Expected key to be an instance of Private')\n }\n const m = map.get(key)\n if (!m || !m.has(obj)) {\n return true\n }\n return m.delete(obj)\n}\n","const kMaxReasonableBytes = BigInt(1) << BigInt(60)\nconst kMinReasonableBytes = -kMaxReasonableBytes\n\nexport class ExternalMemory {\n total: bigint\n onChange: ((current: bigint, old: bigint, delta: bigint) => any) | null\n\n constructor (onChange?: (current: bigint, old: bigint, delta: bigint) => any) {\n this.total = BigInt(0)\n this.onChange = onChange ?? null\n }\n\n adjust (changeInBytes: number | bigint): bigint {\n changeInBytes = BigInt(changeInBytes)\n if (!(kMinReasonableBytes <= changeInBytes && changeInBytes < kMaxReasonableBytes)) {\n throw new RangeError(`changeInBytes ${changeInBytes} is out of reasonable range`)\n }\n const old = this.total\n this.total += changeInBytes\n const amount = this.total\n const onChange = this.onChange\n if (changeInBytes) {\n onChange?.(amount, old, changeInBytes)\n }\n return amount\n }\n}\n","import { ScopeStore } from './ScopeStore'\nimport { HandleStore } from './Handle'\nimport { TryCatch } from './TryCatch'\nimport { FunctionTemplate, Signature } from './FunctionTemplate'\nimport { ObjectTemplate, setInternalField, getInternalField, getInternalFieldCount } from './ObjectTemplate'\nimport { Persistent, PersistentStore, type PersistentValueType } from './Persistent'\nimport { detectFeatures, type Resolver, type Features } from './util'\nimport type { HandleScope, ICallbackInfo } from './HandleScope'\nimport { External, getExternalValue, isExternal } from './External'\nimport { deletePrivate, getPrivate, hasPrivate, Private, setPrivate } from './Private'\nimport { ExternalMemory } from './ExternalMemory'\n\nexport interface IsolateOptions {\n features?: Partial<Features>\n onExternalMemoryChange?: (current: bigint, old: bigint, delta: bigint) => any\n}\n\nexport class Isolate {\n private _lastException\n private _globalThis: typeof globalThis\n private _scopeStore: ScopeStore\n private _handleStore: HandleStore\n private _externalMemory: ExternalMemory\n /** @internal */\n public globalHandleStore: PersistentStore\n public readonly features: Features\n\n constructor (options?: IsolateOptions) {\n this.features = detectFeatures(options?.features)\n this._globalThis = this.features.getGlobalThis()\n this._scopeStore = new ScopeStore()\n this._handleStore = new HandleStore(this.features)\n this.globalHandleStore = new PersistentStore()\n this._lastException = new Persistent<any>(this)\n this._externalMemory = new ExternalMemory(options?.onExternalMemoryChange)\n }\n\n //#region Local handles\n public napiValueFromJsValue (value: unknown): number | bigint {\n switch (value) {\n case undefined: return Constant.UNDEFINED\n case null: return Constant.NULL\n case false: return Constant.FALSE\n case true: return Constant.TRUE\n case '': return Constant.EMPTY_STRING\n case this._globalThis: return Constant.GLOBAL\n default: return this._scopeStore.currentScope.add(value)\n }\n }\n\n public jsValueFromNapiValue<T = any> (napiValue: number | bigint): T | undefined {\n return this._handleStore.deepDeref(napiValue)\n }\n\n public deleteRefSlotValue (id: number | bigint): void {\n this._handleStore.refValues.delete(Number(id))\n }\n\n public getRefSlotValue (id: number | bigint): PersistentValueType<any> {\n return this._handleStore.refValues.get(Number(id))\n }\n\n public setRefSlotValue (id: number | bigint, ref: PersistentValueType<any>): void {\n this._handleStore.refValues.set(Number(id), ref)\n }\n //#endregion\n\n //#region References\n public createReference<T> (...args: [T] | []): Persistent<T> {\n return new Persistent(this, ...args)\n }\n\n public insertRef<T> (persistent: Persistent<T>): void {\n this.globalHandleStore.insert(persistent)\n }\n\n public getRef<T = any> (ref: napi_ref): Persistent<T> | undefined {\n return this.globalHandleStore.deref(ref)\n }\n\n public removeRef (ref: napi_ref, force = false) {\n if (force || this._scopeStore.isEmpty()) {\n const persistent = this.globalHandleStore.deref(ref)\n persistent?.dispose()\n } else {\n this.globalHandleStore.markUnused(ref)\n }\n }\n //#endregion\n\n //#region Exception handling\n public getTryCatch (address: number | bigint): TryCatch | undefined {\n return TryCatch.deref(address)\n }\n\n public pushTryCatch (address: number | bigint): TryCatch {\n const tryCatch = new TryCatch(address)\n return tryCatch\n }\n\n public popTryCatch (address: number | bigint): void {\n if (address !== TryCatch.top?.id) {\n throw new Error('TryCatch mismatch')\n }\n return TryCatch.pop()\n }\n\n public setLastException (err: any) {\n this._lastException.resetTo(err)\n }\n\n public throwException (err: any) {\n if (TryCatch.top) {\n TryCatch.top.setError(err)\n } else {\n this.setLastException(err)\n }\n return err\n }\n\n public hasPendingException (): boolean {\n return !this._lastException.isEmpty()\n }\n\n public getAndClearLastException (): any {\n const err = this._lastException.deref()\n this._lastException.reset()\n return err\n }\n //#endregion\n\n //#region External Memory\n public adjustAmountOfExternalAllocatedMemory (changeInBytes: number | bigint): bigint {\n return this._externalMemory.adjust(changeInBytes)\n }\n //#endregion\n\n //#region Templates\n public createSignature (template: FunctionTemplate): Signature {\n return new Signature(template)\n }\n\n public createObjectTemplate (constructor: any) {\n return new ObjectTemplate(this, constructor)\n }\n\n public setInternalField (obj: any, index: number, value: any): void {\n setInternalField(obj, index, value)\n }\n\n public getInternalField (obj: any, index: number): any {\n return getInternalField(obj, index)\n }\n\n public getInternalFieldCount (obj: any): number {\n return getInternalFieldCount(obj)\n }\n\n public createFunctionTemplate (\n callback: (info: napi_callback_info, v8FunctionCallback: Ptr) => Ptr,\n v8FunctionCallback: Ptr,\n data: any,\n signature?: Signature\n ) {\n const functionTemplate = new FunctionTemplate(\n this,\n callback,\n v8FunctionCallback,\n data,\n signature\n )\n\n return functionTemplate\n }\n //#endregion\n\n //#region Scope management\n public isScopeEmpty (): boolean {\n return this._scopeStore.isEmpty()\n }\n\n public getCurrentScope (): HandleScope {\n return this._scopeStore.currentScope\n }\n\n public openScope (): HandleScope {\n return this._scopeStore.openScope(this._handleStore)\n }\n\n public closeScope (_scope?: HandleScope): void {\n this._scopeStore.closeScope()\n if (this.isScopeEmpty()) {\n this.globalHandleStore.recycle()\n }\n }\n\n public getHandleScope (scope: napi_handle_scope): HandleScope | undefined {\n return this._scopeStore.deref(scope)\n }\n\n public getCallbackInfo (info: napi_callback_info): ICallbackInfo {\n return this._scopeStore.deref(info)!.callbackInfo\n }\n //#endregion\n\n //#region External\n public createExternal (data: number | bigint): External {\n return new External(data)\n }\n\n public getExternalValue (external: External): number | bigint {\n return getExternalValue(external)\n }\n\n public isExternal (value: unknown): boolean {\n return isExternal(value)\n }\n //#endregion\n\n //#region Promises\n public createResolver<T> (): Resolver<T> {\n return this.features.withResolvers.call<PromiseConstructor, [], Resolver<T>>(Promise)\n }\n //#endregion\n\n //#region Private\n public createPrivate (name: string): Private {\n return new Private(name)\n }\n\n public getOrCreateGlobalPrivate (name: string): Private {\n return Private.forApi(name)\n }\n\n public setPrivate (obj: any, key: Private, value: any): void {\n return setPrivate(obj, key, value)\n }\n\n public getPrivate (obj: any, key: Private): any {\n return getPrivate(obj, key)\n }\n\n public hasPrivate (obj: any, key: Private): boolean {\n return hasPrivate(obj, key)\n }\n\n public deletePrivate (obj: any, key: Private): boolean {\n return deletePrivate(obj, key)\n }\n //#endregion\n}\n","import type { HandleScope, ICallbackInfo } from './HandleScope'\nimport { Env, EnvNativeBridge, NodeEnv } from './env'\nimport {\n version,\n NODE_API_SUPPORTED_VERSION_MAX,\n NAPI_VERSION_EXPERIMENTAL,\n NODE_API_DEFAULT_MODULE_API_VERSION,\n NODE_MODULE_VERSION,\n Features,\n getDylinkMetadata,\n type Resolver,\n type DylinkMetadata\n} from './util'\n\nimport { NotSupportWeakRefError, NotSupportBufferError } from './errors'\nimport { Reference, ReferenceOwnership, ReferenceWithData, ReferenceWithFinalizer } from './Reference'\nimport { ArrayStore } from './Store'\nimport { TrackedFinalizer } from './TrackedFinalizer'\nimport { Isolate, type IsolateOptions } from './Isolate'\nimport type { External } from './External'\n\nexport type CleanupHookCallbackFunction = number | ((arg: number) => void)\n\nconst callbackWrapper = (envObject: Env, callback: (env: Env) => napi_value) => {\n const napiValue = envObject.callIntoModule(callback)\n return (!napiValue) ? undefined : envObject.ctx.jsValueFromNapiValue(napiValue)!\n}\n\nconst withScope = (envObject: Env, thiz: any, args: ArrayLike<any>, data: number | bigint, getFunction: () => Function, wrapper: (envObject: Env, callback: (env: Env) => napi_value) => any, callback: (env: Env) => napi_value) => {\n const scope = envObject.ctx.openScope(envObject)\n const callbackInfo = scope.callbackInfo\n callbackInfo.data = data\n callbackInfo.args = args\n callbackInfo.thiz = thiz\n callbackInfo.fn = getFunction\n try {\n return wrapper(envObject, callback)\n } catch (e) {\n if (e !== 'unwind') {\n throw e\n }\n } finally {\n envObject.ctx.closeScope(envObject, scope)\n }\n}\n\nclass CleanupHookCallback {\n constructor (\n public envObject: Env,\n public fn: CleanupHookCallbackFunction,\n public arg: number\n ) {}\n}\n\nclass CleanupQueue {\n private static readonly INDEX_THRESHOLD = 16\n private readonly _cleanupHooks = [] as CleanupHookCallback[]\n private _cleanupHookIndex?: WeakMap<Env, Map<CleanupHookCallbackFunction, Set<number>>>\n\n public empty (): boolean {\n return this._cleanupHooks.length === 0\n }\n\n public add (envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void {\n if (this._cleanupHookIndex === undefined) {\n for (let i = 0; i < this._cleanupHooks.length; ++i) {\n const hook = this._cleanupHooks[i]\n if (hook.envObject === envObject && hook.fn === fn && hook.arg === arg) {\n throw new Error('Can not add same fn and arg twice')\n }\n }\n this._cleanupHooks.push(new CleanupHookCallback(envObject, fn, arg))\n if (this._cleanupHooks.length > CleanupQueue.INDEX_THRESHOLD) {\n this._createIndex()\n }\n return\n }\n\n let envHooks = this._cleanupHookIndex.get(envObject)\n if (envHooks === undefined) {\n envHooks = new Map()\n this._cleanupHookIndex.set(envObject, envHooks)\n }\n let args = envHooks.get(fn)\n if (args === undefined) {\n args = new Set()\n envHooks.set(fn, args)\n } else if (args.has(arg)) {\n throw new Error('Can not add same fn and arg twice')\n }\n args.add(arg)\n this._cleanupHooks.push(new CleanupHookCallback(envObject, fn, arg))\n }\n\n public remove (envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void {\n for (let i = 0; i < this._cleanupHooks.length; ++i) {\n const hook = this._cleanupHooks[i]\n if (hook.envObject === envObject && hook.fn === fn && hook.arg === arg) {\n this._cleanupHooks.splice(i, 1)\n this._deleteIndex(hook)\n return\n }\n }\n }\n\n public drain (): void {\n const hooks = this._cleanupHooks.slice()\n for (let i = hooks.length - 1; i >= 0; --i) {\n const cb = hooks[i]\n if (typeof cb.fn === 'number') {\n cb.envObject.bridge.makeDynCall_vp(cb.fn)(cb.arg)\n } else {\n cb.fn(cb.arg)\n }\n const lastIndex = this._cleanupHooks.length - 1\n if (this._cleanupHooks[lastIndex] === cb) {\n this._cleanupHooks.pop()\n this._deleteIndex(cb)\n } else {\n const index = this._cleanupHooks.lastIndexOf(cb)\n if (index !== -1) {\n this._cleanupHooks.splice(index, 1)\n this._deleteIndex(cb)\n }\n }\n }\n if (this._cleanupHooks.length === 0) {\n this._cleanupHookIndex = undefined\n }\n }\n\n private _createIndex (): void {\n const index = new WeakMap<Env, Map<CleanupHookCallbackFunction, Set<number>>>()\n for (let i = 0; i < this._cleanupHooks.length; ++i) {\n const hook = this._cleanupHooks[i]\n let envHooks = index.get(hook.envObject)\n if (envHooks === undefined) {\n envHooks = new Map()\n index.set(hook.envObject, envHooks)\n }\n let args = envHooks.get(hook.fn)\n if (args === undefined) {\n args = new Set()\n envHooks.set(hook.fn, args)\n }\n args.add(hook.arg)\n }\n this._cleanupHookIndex = index\n }\n\n private _deleteIndex (hook: CleanupHookCallback): void {\n if (this._cleanupHookIndex === undefined) return\n const envHooks = this._cleanupHookIndex.get(hook.envObject)!\n const args = envHooks.get(hook.fn)!\n args.delete(hook.arg)\n if (args.size === 0) envHooks.delete(hook.fn)\n if (envHooks.size === 0) this._cleanupHookIndex.delete(hook.envObject)\n }\n\n public dispose (): void {\n this._cleanupHooks.length = 0\n this._cleanupHookIndex = undefined\n }\n}\n\nclass NodejsWaitingRequestCounter {\n private readonly refHandle: { ref: () => void; unref: () => void }\n private count: number\n\n constructor (MessageChannel: typeof globalThis.MessageChannel) {\n this.refHandle = new MessageChannel().port1 as unknown as import('worker_threads').MessagePort\n this.count = 0\n }\n\n public increase (): void {\n if (this.count === 0) {\n if (this.refHandle.ref) {\n this.refHandle.ref()\n }\n }\n this.count++\n }\n\n public decrease (): void {\n if (this.count === 0) return\n if (this.count === 1) {\n if (this.refHandle.unref) {\n this.refHandle.unref()\n }\n }\n this.count--\n }\n}\n\nexport interface ContextOptions extends IsolateOptions {\n}\n\nexport class Context {\n private _isStopping = false\n private _canCallIntoJs = true\n private _suppressDestroy = false\n\n private envStore = new ArrayStore<Env>()\n /** @internal */\n public refStore = new Map<number, Reference>()\n private readonly refCounter?: NodejsWaitingRequestCounter\n private readonly cleanupQueue: CleanupQueue\n\n public readonly features: Features\n public readonly isolate: Isolate\n\n public constructor (options?: ContextOptions) {\n this.isolate = new Isolate(options)\n this.features = this.isolate.features\n this.cleanupQueue = new CleanupQueue()\n if (typeof process === 'object' && process !== null && typeof process.once === 'function' && this.features.MessageChannel) {\n this.refCounter = new NodejsWaitingRequestCounter(this.features.MessageChannel)\n process.once('beforeExit', () => {\n if (!this._suppressDestroy) {\n this.destroy()\n }\n })\n }\n }\n\n public getIsolate (): Isolate {\n return this.isolate\n }\n\n /**\n * Suppress the destroy on `beforeExit` event in Node.js.\n * Call this method if you want to keep the context and\n * all associated {@link Env | Env} alive,\n * this also means that cleanup hooks will not be called.\n * After call this method, you should call\n * {@link Context.destroy | `Context.prototype.destroy`} method manually.\n */\n public suppressDestroy (): void {\n this._suppressDestroy = true\n }\n\n public getRuntimeVersions () {\n return {\n version,\n NODE_API_SUPPORTED_VERSION_MAX,\n NAPI_VERSION_EXPERIMENTAL,\n NODE_API_DEFAULT_MODULE_API_VERSION,\n NODE_MODULE_VERSION\n }\n }\n\n public createNotSupportWeakRefError (api: string, message: string): NotSupportWeakRefError {\n return new NotSupportWeakRefError(api, message)\n }\n\n public createNotSupportBufferError (api: string, message: string): NotSupportBufferError {\n return new NotSupportBufferError(api, message)\n }\n\n public createReference (\n envObject: Env,\n handle_id: napi_value,\n initialRefcount: uint32_t,\n ownership: ReferenceOwnership\n ): Reference {\n return Reference.create(\n this,\n envObject,\n handle_id,\n initialRefcount,\n ownership\n )\n }\n\n public createReferenceWithData (\n envObject: Env,\n handle_id: napi_value,\n initialRefcount: uint32_t,\n ownership: ReferenceOwnership,\n data: void_p\n ): Reference {\n return ReferenceWithData.create(\n this,\n envObject,\n handle_id,\n initialRefcount,\n ownership,\n data\n )\n }\n\n public createReferenceWithFinalizer (\n envObject: Env,\n handle_id: napi_value,\n initialRefcount: uint32_t,\n ownership: ReferenceOwnership,\n finalize_callback: napi_finalize = 0,\n finalize_data: void_p = 0,\n finalize_hint: void_p = 0\n ): Reference {\n return ReferenceWithFinalizer.create(\n this,\n envObject,\n handle_id,\n initialRefcount,\n ownership,\n finalize_callback,\n finalize_data,\n finalize_hint\n )\n }\n\n public createResolver<T> (): Resolver<T> {\n return this.isolate.createResolver<T>()\n }\n\n public adjustAmountOfExternalAllocatedMemory (changeInBytes: number | bigint): bigint {\n return this.isolate.adjustAmountOfExternalAllocatedMemory(changeInBytes)\n }\n\n public createEnv (\n filename: string,\n moduleApiVersion: number,\n bridge: EnvNativeBridge,\n nodeBinding?: any\n ): Env {\n moduleApiVersion = typeof moduleApiVersion !== 'number' ? NODE_API_DEFAULT_MODULE_API_VERSION : moduleApiVersion\n // Validate module_api_version.\n if (moduleApiVersion < NODE_API_DEFAULT_MODULE_API_VERSION) {\n moduleApiVersion = NODE_API_DEFAULT_MODULE_API_VERSION\n } else if (moduleApiVersion > NODE_API_SUPPORTED_VERSION_MAX && moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) {\n const errorMessage = `${\n filename} requires Node-API version ${\n moduleApiVersion}, but this version of Node.js only supports version ${\n NODE_API_SUPPORTED_VERSION_MAX} add-ons.`\n throw new Error(errorMessage)\n }\n const env = new NodeEnv(this, this.envStore, { ...bridge })\n env.filename = filename\n env.moduleApiVersion = moduleApiVersion\n env.nodeBinding = nodeBinding\n this.addCleanupHook(env, () => { env.unref() }, 0)\n return env\n }\n\n public createFunction (\n envObject: Env,\n napiCallback: (env: napi_env, info: napi_callback_info) => void_p,\n data: number | bigint,\n name: string,\n dynamicExecution: boolean\n ) {\n if (envObject.ctx !== this) {\n throw new Error(`The napi_env (${envObject.bridge.address}) is not created by this context`)\n }\n\n const callback = (envObject: Env) => {\n return napiCallback(envObject.bridge.address, envObject.ctx.getCurrentScope()!.id)\n }\n\n let _: Function\n\n // @ts-expect-error\n const staticFunctionWrapper = (withScope, envObject, data, callbackWrapper, callback) => {\n return function (this: any) {\n return withScope(envObject, this, arguments, data, _, callbackWrapper, callback)\n }\n }\n\n let functionWrapper: Function\n\n if (name && dynamicExecution && this.features.makeDynamicFunction) {\n try {\n functionWrapper = this.features.makeDynamicFunction('withScope', 'envObject', 'data', 'callbackWrapper', 'callback',\n 'return function ' + name + '(){' +\n 'return withScope(envObject,this,arguments,data,' + name + ',callbackWrapper,callback)' +\n '};'\n )\n } catch (_) {\n functionWrapper = staticFunctionWrapper\n }\n } else {\n functionWrapper = staticFunctionWrapper\n }\n\n _ = functionWrapper(withScope, envObject, data, callbackWrapper, callback)\n if (functionWrapper === staticFunctionWrapper && this.features.setFunctionName && name) {\n this.features.setFunctionName(_, name)\n }\n\n return _\n }\n\n public createTrackedFinalizer (\n envObject: Env,\n finalize_callback: napi_finalize,\n finalize_data: void_p,\n finalize_hint: void_p\n ): TrackedFinalizer {\n return TrackedFinalizer.create(envObject, finalize_callback, finalize_data, finalize_hint)\n }\n\n public getCurrentScope (): HandleScope {\n return this.isolate.getCurrentScope()\n }\n\n public openScope (envObject: Env): HandleScope {\n const scope = this.isolate.openScope()\n envObject.openHandleScopes++\n return scope\n }\n\n public closeScope (envObject: Env, scope?: HandleScope): void {\n this.isolate.closeScope(scope)\n envObject.openHandleScopes--\n }\n\n public getEnv (env: napi_env): Env | undefined {\n return this.envStore.deref(env)\n }\n\n public getRef (ref: napi_ref): Reference | undefined {\n return this.refStore.get(Number(ref))\n }\n\n public getHandleScope (scope: napi_handle_scope): HandleScope | undefined {\n return this.isolate.getHandleScope(scope)\n }\n\n public getCallbackInfo (info: napi_callback_info): ICallbackInfo {\n return this.isolate.getCallbackInfo(info)\n }\n\n public napiValueFromJsValue (value: unknown): number | bigint {\n return this.isolate.napiValueFromJsValue(value)\n }\n\n public jsValueFromNapiValue<T = any> (napiValue: number | bigint): T | undefined {\n return this.isolate.jsValueFromNapiValue(napiValue)\n }\n\n public createExternal (data: number | bigint): External {\n return this.isolate.createExternal(data)\n }\n\n public getExternalValue (external: External): number | bigint {\n return this.isolate.getExternalValue(external)\n }\n\n public isExternal (value: unknown): boolean {\n return this.isolate.isExternal(value)\n }\n\n public addCleanupHook (envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void {\n this.cleanupQueue.add(envObject, fn, arg)\n }\n\n public removeCleanupHook (envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void {\n this.cleanupQueue.remove(envObject, fn, arg)\n }\n\n public runCleanup (): void {\n while (!this.cleanupQueue.empty()) {\n this.cleanupQueue.drain()\n }\n }\n\n public increaseWaitingRequestCounter (): void {\n this.refCounter?.increase()\n }\n\n public decreaseWaitingRequestCounter (): void {\n this.refCounter?.decrease()\n }\n\n public setCanCallIntoJs (value: boolean): void {\n this._canCallIntoJs = value\n }\n\n public setStopping (value: boolean): void {\n this._isStopping = value\n }\n\n public canCallIntoJs (): boolean {\n return this._canCallIntoJs && !this._isStopping\n }\n\n public getDylinkMetadata (binary: WebAssembly.Module | Uint8Array): DylinkMetadata {\n return getDylinkMetadata(binary)\n }\n\n /**\n * Destroy the context and call cleanup hooks.\n * Associated {@link Env | Env} will be destroyed.\n */\n public destroy (): void {\n this.setStopping(true)\n this.setCanCallIntoJs(false)\n this.runCleanup()\n }\n}\n\nlet defaultContext: Context\n\nexport function createContext (options?: ContextOptions): Context {\n return new Context(options)\n}\n\nexport function getDefaultContext (): Context {\n if (!defaultContext) {\n defaultContext = createContext()\n }\n return defaultContext\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ 'use strict'
2
+ // Mutable CommonJS facade over the ESM build. The v1 package shipped a real
3
+ // CJS entry whose exports object was mutable; generated WASI loaders and
4
+ // @napi-rs/wasm-runtime's runtime.cjs rely on sharing that one mutable
5
+ // exports object (e.g. test harnesses intercept `createContext` around a
6
+ // fresh loader require). The v2 package is ESM-only, and `require()` of an
7
+ // ES module returns a frozen namespace, so restore the contract here. Each
8
+ // export is re-assigned individually (instead of spreading the namespace
9
+ // into `module.exports`) so cjs-module-lexer can statically detect the named
10
+ // exports -- `import()` of this CJS entry must still expose them as module
11
+ // namespace properties. Module-level state (the default-context memoization)
12
+ // lives inside the ESM module itself, so both entries observe the same
13
+ // runtime state.
14
+ const __emnapiRuntime = require('./dist/emnapi.js')
15
+ module.exports.ArrayStore = __emnapiRuntime.ArrayStore
16
+ module.exports.BaseArrayStore = __emnapiRuntime.BaseArrayStore
17
+ module.exports.Context = __emnapiRuntime.Context
18
+ module.exports.CountIdAllocator = __emnapiRuntime.CountIdAllocator
19
+ module.exports.CountIdReuseAllocator = __emnapiRuntime.CountIdReuseAllocator
20
+ module.exports.Disposable = __emnapiRuntime.Disposable
21
+ module.exports.EmnapiError = __emnapiRuntime.EmnapiError
22
+ module.exports.Env = __emnapiRuntime.Env
23
+ module.exports.External = __emnapiRuntime.External
24
+ module.exports.Finalizer = __emnapiRuntime.Finalizer
25
+ module.exports.FunctionTemplate = __emnapiRuntime.FunctionTemplate
26
+ module.exports.HandleScope = __emnapiRuntime.HandleScope
27
+ module.exports.HandleStore = __emnapiRuntime.HandleStore
28
+ module.exports.Isolate = __emnapiRuntime.Isolate
29
+ module.exports.NAPI_VERSION_EXPERIMENTAL = __emnapiRuntime.NAPI_VERSION_EXPERIMENTAL
30
+ module.exports.NODE_API_DEFAULT_MODULE_API_VERSION = __emnapiRuntime.NODE_API_DEFAULT_MODULE_API_VERSION
31
+ module.exports.NODE_API_SUPPORTED_VERSION_MAX = __emnapiRuntime.NODE_API_SUPPORTED_VERSION_MAX
32
+ module.exports.NODE_API_SUPPORTED_VERSION_MIN = __emnapiRuntime.NODE_API_SUPPORTED_VERSION_MIN
33
+ module.exports.NodeEnv = __emnapiRuntime.NodeEnv
34
+ module.exports.NotSupportBufferError = __emnapiRuntime.NotSupportBufferError
35
+ module.exports.NotSupportWeakRefError = __emnapiRuntime.NotSupportWeakRefError
36
+ module.exports.ObjectTemplate = __emnapiRuntime.ObjectTemplate
37
+ module.exports.Persistent = __emnapiRuntime.Persistent
38
+ module.exports.PersistentStore = __emnapiRuntime.PersistentStore
39
+ module.exports.Private = __emnapiRuntime.Private
40
+ module.exports.RefTracker = __emnapiRuntime.RefTracker
41
+ module.exports.Reference = __emnapiRuntime.Reference
42
+ module.exports.ReferenceOwnership = __emnapiRuntime.ReferenceOwnership
43
+ module.exports.ReferenceWithData = __emnapiRuntime.ReferenceWithData
44
+ module.exports.ReferenceWithFinalizer = __emnapiRuntime.ReferenceWithFinalizer
45
+ module.exports.ScopeStore = __emnapiRuntime.ScopeStore
46
+ module.exports.Signature = __emnapiRuntime.Signature
47
+ module.exports.StrongRef = __emnapiRuntime.StrongRef
48
+ module.exports.Template = __emnapiRuntime.Template
49
+ module.exports.TrackedFinalizer = __emnapiRuntime.TrackedFinalizer
50
+ module.exports.TryCatch = __emnapiRuntime.TryCatch
51
+ module.exports.createContext = __emnapiRuntime.createContext
52
+ module.exports.deletePrivate = __emnapiRuntime.deletePrivate
53
+ module.exports.getDefaultContext = __emnapiRuntime.getDefaultContext
54
+ module.exports.getDylinkMetadata = __emnapiRuntime.getDylinkMetadata
55
+ module.exports.getExternalValue = __emnapiRuntime.getExternalValue
56
+ module.exports.getInternalField = __emnapiRuntime.getInternalField
57
+ module.exports.getPrivate = __emnapiRuntime.getPrivate
58
+ module.exports.hasPrivate = __emnapiRuntime.hasPrivate
59
+ module.exports.isExternal = __emnapiRuntime.isExternal
60
+ module.exports.isReferenceType = __emnapiRuntime.isReferenceType
61
+ module.exports.setInternalField = __emnapiRuntime.setInternalField
62
+ module.exports.setPrivate = __emnapiRuntime.setPrivate
63
+ module.exports.version = __emnapiRuntime.version
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@emnapi/runtime",
3
+ "version": "2.0.0-alpha.5",
4
+ "description": "emnapi runtime",
5
+ "type": "module",
6
+ "main": "./dist/emnapi.js",
7
+ "module": "./dist/emnapi.js",
8
+ "types": "./dist/emnapi.d.ts",
9
+ "sideEffects": false,
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/emnapi.d.ts",
13
+ "import": "./dist/emnapi.js",
14
+ "require": "./index.cjs",
15
+ "default": "./dist/emnapi.js"
16
+ },
17
+ "./package.json": "./package.json"
18
+ },
19
+ "dependencies": {
20
+ "tslib": "^2.4.0"
21
+ },
22
+ "scripts": {
23
+ "build": "rollup -c",
24
+ "test": "node ./test/index.js"
25
+ },
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "git+https://github.com/toyobayashi/emnapi.git"
29
+ },
30
+ "author": "toyobayashi",
31
+ "license": "MIT",
32
+ "bugs": {
33
+ "url": "https://github.com/toyobayashi/emnapi/issues"
34
+ },
35
+ "homepage": "https://github.com/toyobayashi/emnapi#readme",
36
+ "publishConfig": {
37
+ "access": "public"
38
+ }
39
+ }
@@ -0,0 +1,25 @@
1
+ import { defineConfig } from '@emnapi/shared'
2
+ import fs from 'fs'
3
+ import path from 'path'
4
+ import { EOL } from 'os'
5
+ import pkg from './package.json' with { type: 'json' }
6
+
7
+ export default defineConfig({
8
+ outputName: 'emnapi',
9
+ outputFile: 'emnapi',
10
+ sourcemap: true,
11
+ defines: {
12
+ __VERSION__: JSON.stringify(pkg.version)
13
+ },
14
+ apiExtractorCallback: (result) => {
15
+ if (result.succeeded) {
16
+ let dts = ''
17
+ dts += '/// <reference lib="esnext.disposable" />' + EOL + EOL
18
+ dts += fs.readFileSync(path.join(import.meta.dirname, 'src/typings/common.d.ts'), 'utf8').replace(/declare/g, 'export declare')
19
+ dts += fs.readFileSync(path.join(import.meta.dirname, 'src/typings/ctype.d.ts'), 'utf8').replace(/declare/g, 'export declare')
20
+ dts += fs.readFileSync(path.join(import.meta.dirname, 'src/typings/napi.d.ts'), 'utf8').replace(/declare/g, 'export declare')
21
+ dts += fs.readFileSync(result.extractorConfig.publicTrimmedFilePath, 'utf8')
22
+ fs.writeFileSync(result.extractorConfig.publicTrimmedFilePath, dts, 'utf8')
23
+ }
24
+ }
25
+ })
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021-present Toyobayashi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.