Spaces:
Sleeping
Sleeping
| ; | |
| Object.defineProperty(exports, "__esModule", { value: true }); | |
| exports.QuickJSAsyncRuntime = void 0; | |
| const _1 = require("."); | |
| const context_asyncify_1 = require("./context-asyncify"); | |
| const runtime_1 = require("./runtime"); | |
| const types_1 = require("./types"); | |
| class QuickJSAsyncRuntime extends runtime_1.QuickJSRuntime { | |
| /** @private */ | |
| constructor(args) { | |
| super(args); | |
| } | |
| newContext(options = {}) { | |
| if (options.intrinsics && options.intrinsics !== types_1.DefaultIntrinsics) { | |
| throw new Error("TODO: Custom intrinsics are not supported yet"); | |
| } | |
| const ctx = new _1.Lifetime(this.ffi.QTS_NewContext(this.rt.value), undefined, (ctx_ptr) => { | |
| this.contextMap.delete(ctx_ptr); | |
| this.callbacks.deleteContext(ctx_ptr); | |
| this.ffi.QTS_FreeContext(ctx_ptr); | |
| }); | |
| const context = new context_asyncify_1.QuickJSAsyncContext({ | |
| module: this.module, | |
| ctx, | |
| ffi: this.ffi, | |
| rt: this.rt, | |
| ownedLifetimes: [], | |
| runtime: this, | |
| callbacks: this.callbacks, | |
| }); | |
| this.contextMap.set(ctx.value, context); | |
| return context; | |
| } | |
| setModuleLoader(moduleLoader, moduleNormalizer) { | |
| super.setModuleLoader(moduleLoader, moduleNormalizer); | |
| } | |
| /** | |
| * Set the max stack size for this runtime in bytes. | |
| * To remove the limit, set to `0`. | |
| * | |
| * Setting this limit also adjusts the global `ASYNCIFY_STACK_SIZE` for the entire {@link QuickJSAsyncWASMModule}. | |
| * See the [pull request](https://github.com/justjake/quickjs-emscripten/pull/114) for more details. | |
| */ | |
| setMaxStackSize(stackSize) { | |
| return super.setMaxStackSize(stackSize); | |
| } | |
| } | |
| exports.QuickJSAsyncRuntime = QuickJSAsyncRuntime; | |
| //# sourceMappingURL=runtime-asyncify.js.map |