@tailwindcss/oxide-wasm32-wasi 0.0.0-insiders.bd9cf92 → 0.0.0-insiders.bdcd708
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.
- package/node_modules/@emnapi/core/dist/emnapi-core.cjs.js +1469 -511
- package/node_modules/@emnapi/core/dist/emnapi-core.cjs.min.d.ts +61 -5
- package/node_modules/@emnapi/core/dist/emnapi-core.cjs.min.js +1 -1
- package/node_modules/@emnapi/core/dist/emnapi-core.d.mts +61 -5
- package/node_modules/@emnapi/core/dist/emnapi-core.d.ts +61 -5
- package/node_modules/@emnapi/core/dist/emnapi-core.esm-bundler.js +1628 -523
- package/node_modules/@emnapi/core/dist/emnapi-core.js +1705 -585
- package/node_modules/@emnapi/core/dist/emnapi-core.min.d.mts +61 -5
- package/node_modules/@emnapi/core/dist/emnapi-core.min.js +1 -1
- package/node_modules/@emnapi/core/dist/emnapi-core.min.mjs +1 -1
- package/node_modules/@emnapi/core/dist/emnapi-core.mjs +1469 -511
- package/node_modules/@emnapi/core/package.json +2 -2
- package/node_modules/@emnapi/runtime/dist/emnapi.cjs.js +44 -14
- package/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts +15 -7
- package/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js +1 -1
- package/node_modules/@emnapi/runtime/dist/emnapi.d.mts +15 -7
- package/node_modules/@emnapi/runtime/dist/emnapi.d.ts +15 -7
- package/node_modules/@emnapi/runtime/dist/emnapi.esm-bundler.js +45 -14
- package/node_modules/@emnapi/runtime/dist/emnapi.iife.d.ts +12 -6
- package/node_modules/@emnapi/runtime/dist/emnapi.iife.js +45 -14
- package/node_modules/@emnapi/runtime/dist/emnapi.js +45 -14
- package/node_modules/@emnapi/runtime/dist/emnapi.min.d.mts +15 -7
- package/node_modules/@emnapi/runtime/dist/emnapi.min.js +1 -1
- package/node_modules/@emnapi/runtime/dist/emnapi.min.mjs +1 -1
- package/node_modules/@emnapi/runtime/dist/emnapi.mjs +44 -14
- package/node_modules/@emnapi/runtime/package.json +1 -1
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.js +67 -63
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.min.d.ts +59 -2
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.min.js +1 -1
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.mts +59 -2
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.ts +59 -2
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.esm-bundler.js +67 -63
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.js +67 -63
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.d.mts +59 -2
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.js +1 -1
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.mjs +1 -1
- package/node_modules/@emnapi/wasi-threads/dist/wasi-threads.mjs +67 -63
- package/node_modules/@emnapi/wasi-threads/package.json +1 -1
- package/node_modules/@napi-rs/wasm-runtime/dist/fs-proxy.cjs +299 -0
- package/node_modules/@napi-rs/wasm-runtime/dist/fs.js +22125 -20726
- package/node_modules/@napi-rs/wasm-runtime/fs-proxy.js +294 -0
- package/node_modules/@napi-rs/wasm-runtime/package.json +25 -16
- package/node_modules/@napi-rs/wasm-runtime/runtime.cjs +1 -1
- package/node_modules/@napi-rs/wasm-runtime/runtime.js +8 -0
- package/node_modules/@tybys/wasm-util/dist/wasm-util.d.ts +6 -0
- package/node_modules/@tybys/wasm-util/dist/wasm-util.esm-bundler.js +215 -33
- package/node_modules/@tybys/wasm-util/dist/wasm-util.esm.js +215 -33
- package/node_modules/@tybys/wasm-util/dist/wasm-util.esm.min.js +1 -1
- package/node_modules/@tybys/wasm-util/dist/wasm-util.js +215 -33
- package/node_modules/@tybys/wasm-util/dist/wasm-util.min.js +1 -1
- package/node_modules/@tybys/wasm-util/lib/cjs/wasi/index.js +12 -14
- package/node_modules/@tybys/wasm-util/lib/cjs/wasi/path.js +142 -0
- package/node_modules/@tybys/wasm-util/lib/cjs/wasi/preview1.js +61 -19
- package/node_modules/@tybys/wasm-util/lib/mjs/wasi/index.mjs +12 -14
- package/node_modules/@tybys/wasm-util/lib/mjs/wasi/path.mjs +142 -0
- package/node_modules/@tybys/wasm-util/lib/mjs/wasi/preview1.mjs +61 -19
- package/node_modules/@tybys/wasm-util/package.json +1 -1
- package/node_modules/tslib/package.json +1 -1
- package/node_modules/tslib/tslib.es6.js +10 -1
- package/node_modules/tslib/tslib.es6.mjs +10 -1
- package/node_modules/tslib/tslib.js +42 -33
- package/package.json +7 -7
- package/tailwindcss-oxide.wasi-browser.js +7 -3
- package/tailwindcss-oxide.wasi.cjs +27 -4
- package/tailwindcss-oxide.wasm32-wasi.wasm +0 -0
- package/wasi-worker-browser.mjs +2 -0
- package/node_modules/@napi-rs/wasm-runtime/LICENSE +0 -43
- package/node_modules/@napi-rs/wasm-runtime/dist/runtime.js +0 -12285
- package/node_modules/@napi-rs/wasm-runtime/fs-proxy.cjs +0 -209
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@emnapi/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.11.1",
|
|
4
4
|
"description": "emnapi core",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "./dist/emnapi-core.esm-bundler.js",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@emnapi/wasi-threads": "1.
|
|
30
|
+
"@emnapi/wasi-threads": "1.2.2",
|
|
31
31
|
"tslib": "^2.4.0"
|
|
32
32
|
},
|
|
33
33
|
"scripts": {
|
|
@@ -154,7 +154,7 @@ const _Buffer = typeof Buffer === 'function'
|
|
|
154
154
|
catch (_) { }
|
|
155
155
|
return undefined;
|
|
156
156
|
})();
|
|
157
|
-
const version = "1.
|
|
157
|
+
const version = "1.11.1";
|
|
158
158
|
const NODE_API_SUPPORTED_VERSION_MIN = 1;
|
|
159
159
|
const NODE_API_SUPPORTED_VERSION_MAX = 10;
|
|
160
160
|
const NAPI_VERSION_EXPERIMENTAL = 2147483647;
|
|
@@ -349,7 +349,7 @@ class ScopeStore {
|
|
|
349
349
|
get(id) {
|
|
350
350
|
return this._values[id];
|
|
351
351
|
}
|
|
352
|
-
openScope(
|
|
352
|
+
openScope(handleStore) {
|
|
353
353
|
const currentScope = this.currentScope;
|
|
354
354
|
let scope = currentScope.child;
|
|
355
355
|
if (scope !== null) {
|
|
@@ -357,20 +357,16 @@ class ScopeStore {
|
|
|
357
357
|
}
|
|
358
358
|
else {
|
|
359
359
|
const id = currentScope.id + 1;
|
|
360
|
-
scope = new HandleScope(
|
|
360
|
+
scope = new HandleScope(handleStore, id, currentScope, currentScope.end);
|
|
361
361
|
this._values[id] = scope;
|
|
362
362
|
}
|
|
363
363
|
this.currentScope = scope;
|
|
364
|
-
envObject.openHandleScopes++;
|
|
365
364
|
return scope;
|
|
366
365
|
}
|
|
367
|
-
closeScope(
|
|
368
|
-
if (envObject.openHandleScopes === 0)
|
|
369
|
-
return;
|
|
366
|
+
closeScope() {
|
|
370
367
|
const scope = this.currentScope;
|
|
371
368
|
this.currentScope = scope.parent;
|
|
372
369
|
scope.dispose();
|
|
373
|
-
envObject.openHandleScopes--;
|
|
374
370
|
}
|
|
375
371
|
dispose() {
|
|
376
372
|
this.currentScope = this._rootScope;
|
|
@@ -706,7 +702,7 @@ class NodeEnv extends Env {
|
|
|
706
702
|
console.warn(`${prefix}${type || 'Warning'}: ${warning}`);
|
|
707
703
|
}
|
|
708
704
|
};
|
|
709
|
-
warn('Uncaught
|
|
705
|
+
warn('Uncaught Node-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.', 'DeprecationWarning', 'DEP0168');
|
|
710
706
|
return;
|
|
711
707
|
}
|
|
712
708
|
envObject.triggerFatalException(err);
|
|
@@ -1110,6 +1106,29 @@ class Store {
|
|
|
1110
1106
|
}
|
|
1111
1107
|
}
|
|
1112
1108
|
|
|
1109
|
+
const kMaxReasonableBytes = BigInt(1) << BigInt(60);
|
|
1110
|
+
const kMinReasonableBytes = -kMaxReasonableBytes;
|
|
1111
|
+
class ExternalMemory {
|
|
1112
|
+
constructor(onChange) {
|
|
1113
|
+
this.total = BigInt(0);
|
|
1114
|
+
this.onChange = onChange !== null && onChange !== void 0 ? onChange : null;
|
|
1115
|
+
}
|
|
1116
|
+
adjust(changeInBytes) {
|
|
1117
|
+
changeInBytes = BigInt(changeInBytes);
|
|
1118
|
+
if (!(kMinReasonableBytes <= changeInBytes && changeInBytes < kMaxReasonableBytes)) {
|
|
1119
|
+
throw new RangeError(`changeInBytes ${changeInBytes} is out of reasonable range`);
|
|
1120
|
+
}
|
|
1121
|
+
const old = this.total;
|
|
1122
|
+
this.total += changeInBytes;
|
|
1123
|
+
const amount = this.total;
|
|
1124
|
+
const onChange = this.onChange;
|
|
1125
|
+
if (changeInBytes) {
|
|
1126
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(amount, old, changeInBytes);
|
|
1127
|
+
}
|
|
1128
|
+
return amount;
|
|
1129
|
+
}
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1113
1132
|
class CleanupHookCallback {
|
|
1114
1133
|
constructor(envObject, fn, arg, order) {
|
|
1115
1134
|
this.envObject = envObject;
|
|
@@ -1185,7 +1204,7 @@ class NodejsWaitingRequestCounter {
|
|
|
1185
1204
|
}
|
|
1186
1205
|
}
|
|
1187
1206
|
class Context {
|
|
1188
|
-
constructor() {
|
|
1207
|
+
constructor(options) {
|
|
1189
1208
|
this._isStopping = false;
|
|
1190
1209
|
this._canCallIntoJs = true;
|
|
1191
1210
|
this._suppressDestroy = false;
|
|
@@ -1206,6 +1225,7 @@ class Context {
|
|
|
1206
1225
|
MessageChannel: _MessageChannel
|
|
1207
1226
|
};
|
|
1208
1227
|
this.cleanupQueue = new CleanupQueue();
|
|
1228
|
+
this._externalMemory = new ExternalMemory(options === null || options === void 0 ? void 0 : options.onExternalMemoryChange);
|
|
1209
1229
|
if (typeof process === 'object' && process !== null && typeof process.once === 'function') {
|
|
1210
1230
|
this.refCounter = new NodejsWaitingRequestCounter();
|
|
1211
1231
|
process.once('beforeExit', () => {
|
|
@@ -1244,6 +1264,9 @@ class Context {
|
|
|
1244
1264
|
createDeferred(value) {
|
|
1245
1265
|
return Deferred.create(this, value);
|
|
1246
1266
|
}
|
|
1267
|
+
adjustAmountOfExternalAllocatedMemory(changeInBytes) {
|
|
1268
|
+
return this._externalMemory.adjust(changeInBytes);
|
|
1269
|
+
}
|
|
1247
1270
|
createEnv(filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) {
|
|
1248
1271
|
return newEnv(this, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding);
|
|
1249
1272
|
}
|
|
@@ -1257,10 +1280,17 @@ class Context {
|
|
|
1257
1280
|
return this.scopeStore.currentScope.add(value);
|
|
1258
1281
|
}
|
|
1259
1282
|
openScope(envObject) {
|
|
1260
|
-
|
|
1283
|
+
const scope = this.scopeStore.openScope(this.handleStore);
|
|
1284
|
+
if (envObject)
|
|
1285
|
+
envObject.openHandleScopes++;
|
|
1286
|
+
return scope;
|
|
1261
1287
|
}
|
|
1262
1288
|
closeScope(envObject, _scope) {
|
|
1263
|
-
|
|
1289
|
+
if (envObject && envObject.openHandleScopes === 0)
|
|
1290
|
+
return;
|
|
1291
|
+
this.scopeStore.closeScope();
|
|
1292
|
+
if (envObject)
|
|
1293
|
+
envObject.openHandleScopes--;
|
|
1264
1294
|
}
|
|
1265
1295
|
ensureHandle(value) {
|
|
1266
1296
|
switch (value) {
|
|
@@ -1307,8 +1337,8 @@ class Context {
|
|
|
1307
1337
|
}
|
|
1308
1338
|
}
|
|
1309
1339
|
let defaultContext;
|
|
1310
|
-
function createContext() {
|
|
1311
|
-
return new Context();
|
|
1340
|
+
function createContext(options) {
|
|
1341
|
+
return new Context(options);
|
|
1312
1342
|
}
|
|
1313
1343
|
function getDefaultContext() {
|
|
1314
1344
|
if (!defaultContext) {
|
|
@@ -199,7 +199,8 @@ export declare const enum napi_typedarray_type {
|
|
|
199
199
|
napi_float32_array,
|
|
200
200
|
napi_float64_array,
|
|
201
201
|
napi_bigint64_array,
|
|
202
|
-
napi_biguint64_array
|
|
202
|
+
napi_biguint64_array,
|
|
203
|
+
napi_float16_array,
|
|
203
204
|
}
|
|
204
205
|
|
|
205
206
|
export declare const enum napi_key_collection_mode {
|
|
@@ -233,6 +234,7 @@ export declare const enum emnapi_memory_view_type {
|
|
|
233
234
|
emnapi_float64_array,
|
|
234
235
|
emnapi_bigint64_array,
|
|
235
236
|
emnapi_biguint64_array,
|
|
237
|
+
emnapi_float16_array,
|
|
236
238
|
emnapi_data_view = -1,
|
|
237
239
|
emnapi_buffer = -2
|
|
238
240
|
}
|
|
@@ -264,6 +266,7 @@ export declare class Context {
|
|
|
264
266
|
handleStore: HandleStore;
|
|
265
267
|
private readonly refCounter?;
|
|
266
268
|
private readonly cleanupQueue;
|
|
269
|
+
private readonly _externalMemory;
|
|
267
270
|
feature: {
|
|
268
271
|
supportReflect: boolean;
|
|
269
272
|
supportFinalizer: boolean;
|
|
@@ -278,7 +281,7 @@ export declare class Context {
|
|
|
278
281
|
prototype: MessageChannel;
|
|
279
282
|
} | undefined;
|
|
280
283
|
};
|
|
281
|
-
constructor();
|
|
284
|
+
constructor(options?: ContextOptions);
|
|
282
285
|
/**
|
|
283
286
|
* Suppress the destroy on `beforeExit` event in Node.js.
|
|
284
287
|
* Call this method if you want to keep the context and
|
|
@@ -300,12 +303,13 @@ export declare class Context {
|
|
|
300
303
|
createReferenceWithData(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): Reference;
|
|
301
304
|
createReferenceWithFinalizer(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback?: napi_finalize, finalize_data?: void_p, finalize_hint?: void_p): Reference;
|
|
302
305
|
createDeferred<T = any>(value: IDeferrdValue<T>): Deferred<T>;
|
|
306
|
+
adjustAmountOfExternalAllocatedMemory(changeInBytes: number | bigint): bigint;
|
|
303
307
|
createEnv(filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any): Env;
|
|
304
308
|
createTrackedFinalizer(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer;
|
|
305
309
|
getCurrentScope(): HandleScope | null;
|
|
306
310
|
addToCurrentScope<V>(value: V): Handle<V>;
|
|
307
|
-
openScope(envObject
|
|
308
|
-
closeScope(envObject
|
|
311
|
+
openScope(envObject?: Env): HandleScope;
|
|
312
|
+
closeScope(envObject?: Env, _scope?: HandleScope): void;
|
|
309
313
|
ensureHandle<S>(value: S): Handle<S>;
|
|
310
314
|
addCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void;
|
|
311
315
|
removeCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void;
|
|
@@ -322,7 +326,11 @@ export declare class Context {
|
|
|
322
326
|
destroy(): void;
|
|
323
327
|
}
|
|
324
328
|
|
|
325
|
-
export declare
|
|
329
|
+
export declare interface ContextOptions {
|
|
330
|
+
onExternalMemoryChange?: (current: bigint, old: bigint, delta: bigint) => any;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
export declare function createContext(options?: ContextOptions): Context;
|
|
326
334
|
|
|
327
335
|
export declare class Deferred<T = any> implements IStoreValue {
|
|
328
336
|
static create<T = any>(ctx: Context, value: IDeferrdValue<T>): Deferred;
|
|
@@ -621,8 +629,8 @@ export declare class ScopeStore {
|
|
|
621
629
|
private readonly _values;
|
|
622
630
|
constructor();
|
|
623
631
|
get(id: number): HandleScope | undefined;
|
|
624
|
-
openScope(
|
|
625
|
-
closeScope(
|
|
632
|
+
openScope(handleStore: HandleStore): HandleScope;
|
|
633
|
+
closeScope(): void;
|
|
626
634
|
dispose(): void;
|
|
627
635
|
}
|
|
628
636
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=new WeakMap;function t(t){return e.has(t)}const i=(()=>{function t(t){Object.setPrototypeOf(this,null),e.set(this,t)}return t.prototype=null,t})();function s(i){if(!t(i))throw new TypeError("not external");return e.get(i)}const n=function(){let e;try{e=new Function}catch(e){return!1}return"function"==typeof e}(),r=function(){if("undefined"!=typeof globalThis)return globalThis;let e=function(){return this}();if(!e&&n)try{e=new Function("return this")()}catch(e){}if(!e){if("undefined"==typeof __webpack_public_path__&&"undefined"!=typeof global)return global;if("undefined"!=typeof window)return window;if("undefined"!=typeof self)return self}return e}();class o{constructor(){this._exception=void 0,this._caught=!1}isEmpty(){return!this._caught}hasCaught(){return this._caught}exception(){return this._exception}setError(e){this._caught=!0,this._exception=e}reset(){this._caught=!1,this._exception=void 0}extractException(){const e=this._exception;return this.reset(),e}}const a=function(){var e;try{return Boolean(null===(e=Object.getOwnPropertyDescriptor(Function.prototype,"name"))||void 0===e?void 0:e.configurable)}catch(e){return!1}}(),l="object"==typeof Reflect,c="undefined"!=typeof FinalizationRegistry&&"undefined"!=typeof WeakRef,h=function(){try{const e=Symbol();new WeakRef(e),(new WeakMap).set(e,void 0)}catch(e){return!1}return!0}(),u="undefined"!=typeof BigInt;const p=function(){let e;return e="undefined"!=typeof __webpack_public_path__||"undefined"!=typeof __webpack_public_path__?"undefined"!=typeof __non_webpack_require__?__non_webpack_require__:void 0:"undefined"!=typeof require?require:void 0,e}(),f="function"==typeof MessageChannel?MessageChannel:function(){try{return p("worker_threads").MessageChannel}catch(e){}}(),d="function"==typeof setImmediate?setImmediate:function(e){if("function"!=typeof e)throw new TypeError('The "callback" argument must be of type function');if(f){let t=new f;t.port1.onmessage=function(){t.port1.onmessage=null,t=void 0,e()},t.port2.postMessage(null)}else setTimeout(e,0)},_="function"==typeof Buffer?Buffer:function(){try{return p("buffer").Buffer}catch(e){}}(),v="1.4.3",g=2147483647;class y{constructor(e,t){this.id=e,this.value=t}data(){return s(this.value)}isNumber(){return"number"==typeof this.value}isBigInt(){return"bigint"==typeof this.value}isString(){return"string"==typeof this.value}isFunction(){return"function"==typeof this.value}isExternal(){return t(this.value)}isObject(){return"object"==typeof this.value&&null!==this.value}isArray(){return Array.isArray(this.value)}isArrayBuffer(){return this.value instanceof ArrayBuffer}isTypedArray(){return ArrayBuffer.isView(this.value)&&!(this.value instanceof DataView)}isBuffer(e){return!!ArrayBuffer.isView(this.value)||(null!=e||(e=_),"function"==typeof e&&e.isBuffer(this.value))}isDataView(){return this.value instanceof DataView}isDate(){return this.value instanceof Date}isPromise(){return this.value instanceof Promise}isBoolean(){return"boolean"==typeof this.value}isUndefined(){return void 0===this.value}isSymbol(){return"symbol"==typeof this.value}isNull(){return null===this.value}dispose(){this.value=void 0}}class x extends y{constructor(e,t){super(e,t)}dispose(){}}class z{constructor(){this._values=[void 0,z.UNDEFINED,z.NULL,z.FALSE,z.TRUE,z.GLOBAL],this._next=z.MIN_ID}push(e){let t;const i=this._next,s=this._values;return i<s.length?(t=s[i],t.value=e):(t=new y(i,e),s[i]=t),this._next++,t}erase(e,t){this._next=e;const i=this._values;for(let s=e;s<t;++s)i[s].dispose()}get(e){return this._values[e]}swap(e,t){const i=this._values,s=i[e];i[e]=i[t],i[e].id=Number(e),i[t]=s,s.id=Number(t)}dispose(){this._values.length=z.MIN_ID,this._next=z.MIN_ID}}z.UNDEFINED=new x(1,void 0),z.NULL=new x(2,null),z.FALSE=new x(3,!1),z.TRUE=new x(4,!0),z.GLOBAL=new x(5,r),z.MIN_ID=6;class k{constructor(e,t,i,s,n=s){this.handleStore=e,this.id=t,this.parent=i,this.child=null,null!==i&&(i.child=this),this.start=s,this.end=n,this._escapeCalled=!1,this.callbackInfo={thiz:void 0,data:0,args:void 0,fn:void 0}}add(e){const t=this.handleStore.push(e);return this.end++,t}addExternal(e){return this.add(new i(e))}dispose(){this._escapeCalled&&(this._escapeCalled=!1),this.start!==this.end&&this.handleStore.erase(this.start,this.end)}escape(e){if(this._escapeCalled)return null;if(this._escapeCalled=!0,e<this.start||e>=this.end)return null;this.handleStore.swap(e,this.start);const t=this.handleStore.get(this.start);return this.start++,this.parent.end++,t}escapeCalled(){return this._escapeCalled}}class b{constructor(){this._rootScope=new k(null,0,null,1,z.MIN_ID),this.currentScope=this._rootScope,this._values=[void 0]}get(e){return this._values[e]}openScope(e){const t=this.currentScope;let i=t.child;if(null!==i)i.start=i.end=t.end;else{const s=t.id+1;i=new k(e.ctx.handleStore,s,t,t.end),this._values[s]=i}return this.currentScope=i,e.openHandleScopes++,i}closeScope(e){if(0===e.openHandleScopes)return;const t=this.currentScope;this.currentScope=t.parent,t.dispose(),e.openHandleScopes--}dispose(){this.currentScope=this._rootScope,this._values.length=1}}class w{constructor(){this._next=null,this._prev=null}dispose(){}finalize(){}link(e){this._prev=e,this._next=e._next,null!==this._next&&(this._next._prev=this),e._next=this}unlink(){null!==this._prev&&(this._prev._next=this._next),null!==this._next&&(this._next._prev=this._prev),this._prev=null,this._next=null}static finalizeAll(e){for(;null!==e._next;)e._next.finalize()}}class S{constructor(e,t=0,i=0,s=0){this.envObject=e,this._finalizeCallback=t,this._finalizeData=i,this._finalizeHint=s,this._makeDynCall_vppp=e.makeDynCall_vppp}callback(){return this._finalizeCallback}data(){return this._finalizeData}hint(){return this._finalizeHint}resetEnv(){this.envObject=void 0}resetFinalizer(){this._finalizeCallback=0,this._finalizeData=0,this._finalizeHint=0}callFinalizer(){const e=this._finalizeCallback,t=this._finalizeData,i=this._finalizeHint;if(this.resetFinalizer(),!e)return;const s=Number(e);this.envObject?this.envObject.callFinalizer(s,t,i):this._makeDynCall_vppp(s)(0,t,i)}dispose(){this.envObject=void 0,this._makeDynCall_vppp=void 0}}class E extends w{static create(e,t,i,s){const n=new E(e,t,i,s);return n.link(e.finalizing_reflist),n}constructor(e,t,i,s){super(),this._finalizer=new S(e,t,i,s)}data(){return this._finalizer.data()}dispose(){this._finalizer&&(this.unlink(),this._finalizer.envObject.dequeueFinalizer(this),this._finalizer.dispose(),this._finalizer=void 0,super.dispose())}finalize(){let e;this.unlink();let t=!1;try{this._finalizer.callFinalizer()}catch(i){t=!0,e=i}if(this.dispose(),t)throw e}}function m(e,t){if(!e.terminatedOrTerminating())throw t}class C{constructor(e,t,i,s,n){this.ctx=e,this.moduleApiVersion=t,this.makeDynCall_vppp=i,this.makeDynCall_vp=s,this.abort=n,this.openHandleScopes=0,this.instanceData=null,this.tryCatch=new o,this.refs=1,this.reflist=new w,this.finalizing_reflist=new w,this.pendingFinalizers=[],this.lastError={errorCode:0,engineErrorCode:0,engineReserved:0},this.inGcFinalizer=!1,this._bindingMap=new WeakMap,this.id=0}canCallIntoJs(){return!0}terminatedOrTerminating(){return!this.canCallIntoJs()}ref(){this.refs++}unref(){this.refs--,0===this.refs&&this.dispose()}ensureHandle(e){return this.ctx.ensureHandle(e)}ensureHandleId(e){return this.ensureHandle(e).id}clearLastError(){const e=this.lastError;return 0!==e.errorCode&&(e.errorCode=0),0!==e.engineErrorCode&&(e.engineErrorCode=0),0!==e.engineReserved&&(e.engineReserved=0),0}setLastError(e,t=0,i=0){const s=this.lastError;return s.errorCode!==e&&(s.errorCode=e),s.engineErrorCode!==t&&(s.engineErrorCode=t),s.engineReserved!==i&&(s.engineReserved=i),e}getReturnStatus(){return this.tryCatch.hasCaught()?this.setLastError(10):0}callIntoModule(e,t=m){const i=this.openHandleScopes;this.clearLastError();const s=e(this);if(i!==this.openHandleScopes&&this.abort("open_handle_scopes != open_handle_scopes_before"),this.tryCatch.hasCaught()){t(this,this.tryCatch.extractException())}return s}invokeFinalizerFromGC(e){if(this.moduleApiVersion!==g)this.enqueueFinalizer(e);else{const t=this.inGcFinalizer;this.inGcFinalizer=!0;try{e.finalize()}finally{this.inGcFinalizer=t}}}checkGCAccess(){this.moduleApiVersion===g&&this.inGcFinalizer&&this.abort("Finalizer is calling a function that may affect GC state.\nThe finalizers are run directly from GC and must not affect GC state.\nUse `node_api_post_finalizer` from inside of the finalizer to work around this issue.\nIt schedules the call as a new task in the event loop.")}enqueueFinalizer(e){-1===this.pendingFinalizers.indexOf(e)&&this.pendingFinalizers.push(e)}dequeueFinalizer(e){const t=this.pendingFinalizers.indexOf(e);-1!==t&&this.pendingFinalizers.splice(t,1)}deleteMe(){w.finalizeAll(this.finalizing_reflist),w.finalizeAll(this.reflist),this.tryCatch.extractException(),this.ctx.envStore.remove(this.id)}dispose(){0!==this.id&&(this.deleteMe(),this.finalizing_reflist.dispose(),this.reflist.dispose(),this.id=0)}initObjectBinding(e){const t={wrapped:0,tag:null};return this._bindingMap.set(e,t),t}getObjectBinding(e){return this._bindingMap.has(e)?this._bindingMap.get(e):this.initObjectBinding(e)}setInstanceData(e,t,i){this.instanceData&&this.instanceData.dispose(),this.instanceData=E.create(this,t,e,i)}getInstanceData(){return this.instanceData?this.instanceData.data():0}}class F extends C{constructor(e,t,i,s,n,r,o){super(e,i,s,n,r),this.filename=t,this.nodeBinding=o,this.destructing=!1,this.finalizationScheduled=!1}deleteMe(){this.destructing=!0,this.drainFinalizerQueue(),super.deleteMe()}canCallIntoJs(){return super.canCallIntoJs()&&this.ctx.canCallIntoJs()}triggerFatalException(e){if(this.nodeBinding)this.nodeBinding.napi.fatalException(e);else{if("object"!=typeof process||null===process||"function"!=typeof process._fatalException)throw e;process._fatalException(e)||(console.error(e),process.exit(1))}}callbackIntoModule(e,t){return this.callIntoModule(t,((t,i)=>{if(t.terminatedOrTerminating())return;const s="object"==typeof process&&null!==process,n=!!s&&Boolean(process.execArgv&&-1!==process.execArgv.indexOf("--force-node-api-uncaught-exceptions-policy"));if(t.moduleApiVersion<10&&!n&&!e){(s&&"function"==typeof process.emitWarning?process.emitWarning:function(e,t,i){if(e instanceof Error)console.warn(e.toString());else{const s=i?`[${i}] `:"";console.warn(`${s}${t||"Warning"}: ${e}`)}})("Uncaught N-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.","DeprecationWarning","DEP0168")}else t.triggerFatalException(i)}))}callFinalizer(e,t,i){this.callFinalizerInternal(1,e,t,i)}callFinalizerInternal(e,t,i,s){const n=this.makeDynCall_vppp(t),r=this.id,o=this.ctx.openScope(this);try{this.callbackIntoModule(Boolean(e),(()=>{n(r,i,s)}))}finally{this.ctx.closeScope(this,o)}}enqueueFinalizer(e){super.enqueueFinalizer(e),this.finalizationScheduled||this.destructing||(this.finalizationScheduled=!0,this.ref(),d((()=>{this.finalizationScheduled=!1,this.unref(),this.drainFinalizerQueue()})))}drainFinalizerQueue(){for(;this.pendingFinalizers.length>0;){this.pendingFinalizers.shift().finalize()}}}function I(e,t,i,s,n,r,o){(i="number"!=typeof i?8:i)<8?i=8:i>10&&i!==g&&function(e,t){throw new Error(`${e} requires Node-API version ${t}, but this version of Node.js only supports version 10 add-ons.`)}(t,i);const a=new F(e,t,i,s,n,r,o);return e.envStore.add(a),e.addCleanupHook(a,(()=>{a.unref()}),0),a}class O extends Error{constructor(e){super(e);const t=new.target,i=t.prototype;if(!(this instanceof O)){const e=Object.setPrototypeOf;"function"==typeof e?e.call(Object,this,i):this.__proto__=i,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t)}}}Object.defineProperty(O.prototype,"name",{configurable:!0,writable:!0,value:"EmnapiError"});class D extends O{constructor(e,t){super(`${e}: The current runtime does not support "FinalizationRegistry" and "WeakRef".${t?` ${t}`:""}`)}}Object.defineProperty(D.prototype,"name",{configurable:!0,writable:!0,value:"NotSupportWeakRefError"});class R extends O{constructor(e,t){super(`${e}: The current runtime does not support "Buffer". Consider using buffer polyfill to make sure \`globalThis.Buffer\` is defined.${t?` ${t}`:""}`)}}Object.defineProperty(R.prototype,"name",{configurable:!0,writable:!0,value:"NotSupportBufferError"});class N{constructor(e){this._value=e}deref(){return this._value}dispose(){this._value=void 0}}class H{constructor(e){this._ref=new N(e)}setWeak(e,t){if(!c||void 0===this._ref||this._ref instanceof WeakRef)return;const i=this._ref.deref();try{H._registry.register(i,this,this);const s=new WeakRef(i);this._ref.dispose(),this._ref=s,this._param=e,this._callback=t}catch(e){if("symbol"!=typeof i)throw e}}clearWeak(){if(c&&void 0!==this._ref&&this._ref instanceof WeakRef){try{H._registry.unregister(this)}catch(e){}this._param=void 0,this._callback=void 0;const e=this._ref.deref();this._ref=void 0===e?e:new N(e)}}reset(){if(c)try{H._registry.unregister(this)}catch(e){}this._param=void 0,this._callback=void 0,this._ref instanceof N&&this._ref.dispose(),this._ref=void 0}isEmpty(){return void 0===this._ref}deref(){if(void 0!==this._ref)return this._ref.deref()}}var A;H._registry=c?new FinalizationRegistry((e=>{e._ref=void 0;const t=e._callback,i=e._param;e._callback=void 0,e._param=void 0,"function"==typeof t&&t(i)})):void 0,exports.ReferenceOwnership=void 0,(A=exports.ReferenceOwnership||(exports.ReferenceOwnership={}))[A.kRuntime=0]="kRuntime",A[A.kUserland=1]="kUserland";class j extends w{static weakCallback(e){e.persistent.reset(),e.invokeFinalizerFromGC()}static create(e,t,i,s,n,r,o){const a=new j(e,t,i,s);return e.ctx.refStore.add(a),a.link(e.reflist),a}constructor(e,t,i,s){super(),this.envObject=e,this._refcount=i,this._ownership=s;const n=e.ctx.handleStore.get(t);var r;this.canBeWeak=(r=n).isObject()||r.isFunction()||r.isSymbol(),this.persistent=new H(n.value),this.id=0,0===i&&this._setWeak()}ref(){return this.persistent.isEmpty()?0:(1==++this._refcount&&this.canBeWeak&&this.persistent.clearWeak(),this._refcount)}unref(){return this.persistent.isEmpty()||0===this._refcount?0:(0==--this._refcount&&this._setWeak(),this._refcount)}get(e=this.envObject){if(this.persistent.isEmpty())return 0;const t=this.persistent.deref();return e.ensureHandle(t).id}resetFinalizer(){}data(){return 0}refcount(){return this._refcount}ownership(){return this._ownership}callUserFinalizer(){}invokeFinalizerFromGC(){this.finalize()}_setWeak(){this.canBeWeak?this.persistent.setWeak(this,j.weakCallback):this.persistent.reset()}finalize(){this.persistent.reset();const e=this._ownership===exports.ReferenceOwnership.kRuntime;this.unlink(),this.callUserFinalizer(),e&&this.dispose()}dispose(){0!==this.id&&(this.unlink(),this.persistent.reset(),this.envObject.ctx.refStore.remove(this.id),super.dispose(),this.envObject=void 0,this.id=0)}}class B extends j{static create(e,t,i,s,n){const r=new B(e,t,i,s,n);return e.ctx.refStore.add(r),r.link(e.reflist),r}constructor(e,t,i,s,n){super(e,t,i,s),this._data=n}data(){return this._data}}class T extends j{static create(e,t,i,s,n,r,o){const a=new T(e,t,i,s,n,r,o);return e.ctx.refStore.add(a),a.link(e.finalizing_reflist),a}constructor(e,t,i,s,n,r,o){super(e,t,i,s),this._finalizer=new S(e,n,r,o)}resetFinalizer(){this._finalizer.resetFinalizer()}data(){return this._finalizer.data()}callUserFinalizer(){this._finalizer.callFinalizer()}invokeFinalizerFromGC(){this._finalizer.envObject.invokeFinalizerFromGC(this)}dispose(){this._finalizer&&(this._finalizer.envObject.dequeueFinalizer(this),this._finalizer.dispose(),super.dispose(),this._finalizer=void 0)}}class W{static create(e,t){const i=new W(e,t);return e.deferredStore.add(i),i}constructor(e,t){this.id=0,this.ctx=e,this.value=t}resolve(e){this.value.resolve(e),this.dispose()}reject(e){this.value.reject(e),this.dispose()}dispose(){this.ctx.deferredStore.remove(this.id),this.id=0,this.value=null,this.ctx=null}}class M{constructor(){this._values=[void 0],this._values.length=4,this._size=1,this._freeList=[]}add(e){let t;if(this._freeList.length)t=this._freeList.shift();else{t=this._size,this._size++;const e=this._values.length;t>=e&&(this._values.length=e+(e>>1)+16)}e.id=t,this._values[t]=e}get(e){return this._values[e]}has(e){return void 0!==this._values[e]}remove(e){const t=this._values[e];t&&(t.id=0,this._values[e]=void 0,this._freeList.push(Number(e)))}dispose(){for(let e=1;e<this._size;++e){const t=this._values[e];null==t||t.dispose()}this._values=[void 0],this._size=1,this._freeList=[]}}class L{constructor(e,t,i,s){this.envObject=e,this.fn=t,this.arg=i,this.order=s}}class P{constructor(){this._cleanupHooks=[],this._cleanupHookCounter=0}empty(){return 0===this._cleanupHooks.length}add(e,t,i){if(this._cleanupHooks.filter((s=>s.envObject===e&&s.fn===t&&s.arg===i)).length>0)throw new Error("Can not add same fn and arg twice");this._cleanupHooks.push(new L(e,t,i,this._cleanupHookCounter++))}remove(e,t,i){for(let s=0;s<this._cleanupHooks.length;++s){const n=this._cleanupHooks[s];if(n.envObject===e&&n.fn===t&&n.arg===i)return void this._cleanupHooks.splice(s,1)}}drain(){const e=this._cleanupHooks.slice();e.sort(((e,t)=>t.order-e.order));for(let t=0;t<e.length;++t){const i=e[t];"number"==typeof i.fn?i.envObject.makeDynCall_vp(i.fn)(i.arg):i.fn(i.arg),this._cleanupHooks.splice(this._cleanupHooks.indexOf(i),1)}}dispose(){this._cleanupHooks.length=0,this._cleanupHookCounter=0}}class U{constructor(){this.refHandle=(new f).port1,this.count=0}increase(){0===this.count&&this.refHandle.ref&&this.refHandle.ref(),this.count++}decrease(){0!==this.count&&(1===this.count&&this.refHandle.unref&&this.refHandle.unref(),this.count--)}}class V{constructor(){this._isStopping=!1,this._canCallIntoJs=!0,this._suppressDestroy=!1,this.envStore=new M,this.scopeStore=new b,this.refStore=new M,this.deferredStore=new M,this.handleStore=new z,this.feature={supportReflect:l,supportFinalizer:c,supportWeakSymbol:h,supportBigInt:u,supportNewFunction:n,canSetFunctionName:a,setImmediate:d,Buffer:_,MessageChannel:f},this.cleanupQueue=new P,"object"==typeof process&&null!==process&&"function"==typeof process.once&&(this.refCounter=new U,process.once("beforeExit",(()=>{this._suppressDestroy||this.destroy()})))}suppressDestroy(){this._suppressDestroy=!0}getRuntimeVersions(){return{version:v,NODE_API_SUPPORTED_VERSION_MAX:10,NAPI_VERSION_EXPERIMENTAL:g,NODE_API_DEFAULT_MODULE_API_VERSION:8}}createNotSupportWeakRefError(e,t){return new D(e,t)}createNotSupportBufferError(e,t){return new R(e,t)}createReference(e,t,i,s){return j.create(e,t,i,s)}createReferenceWithData(e,t,i,s,n){return B.create(e,t,i,s,n)}createReferenceWithFinalizer(e,t,i,s,n=0,r=0,o=0){return T.create(e,t,i,s,n,r,o)}createDeferred(e){return W.create(this,e)}createEnv(e,t,i,s,n,r){return I(this,e,t,i,s,n,r)}createTrackedFinalizer(e,t,i,s){return E.create(e,t,i,s)}getCurrentScope(){return this.scopeStore.currentScope}addToCurrentScope(e){return this.scopeStore.currentScope.add(e)}openScope(e){return this.scopeStore.openScope(e)}closeScope(e,t){this.scopeStore.closeScope(e)}ensureHandle(e){switch(e){case void 0:return z.UNDEFINED;case null:return z.NULL;case!0:return z.TRUE;case!1:return z.FALSE;case r:return z.GLOBAL}return this.addToCurrentScope(e)}addCleanupHook(e,t,i){this.cleanupQueue.add(e,t,i)}removeCleanupHook(e,t,i){this.cleanupQueue.remove(e,t,i)}runCleanup(){for(;!this.cleanupQueue.empty();)this.cleanupQueue.drain()}increaseWaitingRequestCounter(){var e;null===(e=this.refCounter)||void 0===e||e.increase()}decreaseWaitingRequestCounter(){var e;null===(e=this.refCounter)||void 0===e||e.decrease()}setCanCallIntoJs(e){this._canCallIntoJs=e}setStopping(e){this._isStopping=e}canCallIntoJs(){return this._canCallIntoJs&&!this._isStopping}destroy(){this.setStopping(!0),this.setCanCallIntoJs(!1),this.runCleanup()}}let G;function q(){return new V}exports.ConstHandle=x,exports.Context=V,exports.Deferred=W,exports.EmnapiError=O,exports.Env=C,exports.External=i,exports.Finalizer=S,exports.Handle=y,exports.HandleScope=k,exports.HandleStore=z,exports.NAPI_VERSION_EXPERIMENTAL=g,exports.NODE_API_DEFAULT_MODULE_API_VERSION=8,exports.NODE_API_SUPPORTED_VERSION_MAX=10,exports.NODE_API_SUPPORTED_VERSION_MIN=1,exports.NodeEnv=F,exports.NotSupportBufferError=R,exports.NotSupportWeakRefError=D,exports.Persistent=H,exports.RefTracker=w,exports.Reference=j,exports.ReferenceWithData=B,exports.ReferenceWithFinalizer=T,exports.ScopeStore=b,exports.Store=M,exports.TrackedFinalizer=E,exports.TryCatch=o,exports.createContext=q,exports.getDefaultContext=function(){return G||(G=q()),G},exports.getExternalValue=s,exports.isExternal=t,exports.isReferenceType=function(e){return"object"==typeof e&&null!==e||"function"==typeof e},exports.version=v;
|
|
1
|
+
const e=new WeakMap;function t(t){return e.has(t)}const i=(()=>{function t(t){Object.setPrototypeOf(this,null),e.set(this,t)}return t.prototype=null,t})();function s(i){if(!t(i))throw new TypeError("not external");return e.get(i)}const n=function(){let e;try{e=new Function}catch(e){return!1}return"function"==typeof e}(),r=function(){if("undefined"!=typeof globalThis)return globalThis;let e=function(){return this}();if(!e&&n)try{e=new Function("return this")()}catch(e){}if(!e){if("undefined"==typeof __webpack_public_path__&&"undefined"!=typeof global)return global;if("undefined"!=typeof window)return window;if("undefined"!=typeof self)return self}return e}();class o{constructor(){this._exception=void 0,this._caught=!1}isEmpty(){return!this._caught}hasCaught(){return this._caught}exception(){return this._exception}setError(e){this._caught=!0,this._exception=e}reset(){this._caught=!1,this._exception=void 0}extractException(){const e=this._exception;return this.reset(),e}}const a=function(){var e;try{return Boolean(null===(e=Object.getOwnPropertyDescriptor(Function.prototype,"name"))||void 0===e?void 0:e.configurable)}catch(e){return!1}}(),l="object"==typeof Reflect,c="undefined"!=typeof FinalizationRegistry&&"undefined"!=typeof WeakRef,h=function(){try{const e=Symbol();new WeakRef(e),(new WeakMap).set(e,void 0)}catch(e){return!1}return!0}(),u="undefined"!=typeof BigInt;const p=function(){let e;return e="undefined"!=typeof __webpack_public_path__||"undefined"!=typeof __webpack_public_path__?"undefined"!=typeof __non_webpack_require__?__non_webpack_require__:void 0:"undefined"!=typeof require?require:void 0,e}(),f="function"==typeof MessageChannel?MessageChannel:function(){try{return p("worker_threads").MessageChannel}catch(e){}}(),d="function"==typeof setImmediate?setImmediate:function(e){if("function"!=typeof e)throw new TypeError('The "callback" argument must be of type function');if(f){let t=new f;t.port1.onmessage=function(){t.port1.onmessage=null,t=void 0,e()},t.port2.postMessage(null)}else setTimeout(e,0)},_="function"==typeof Buffer?Buffer:function(){try{return p("buffer").Buffer}catch(e){}}(),v="1.11.1",g=2147483647;class y{constructor(e,t){this.id=e,this.value=t}data(){return s(this.value)}isNumber(){return"number"==typeof this.value}isBigInt(){return"bigint"==typeof this.value}isString(){return"string"==typeof this.value}isFunction(){return"function"==typeof this.value}isExternal(){return t(this.value)}isObject(){return"object"==typeof this.value&&null!==this.value}isArray(){return Array.isArray(this.value)}isArrayBuffer(){return this.value instanceof ArrayBuffer}isTypedArray(){return ArrayBuffer.isView(this.value)&&!(this.value instanceof DataView)}isBuffer(e){return!!ArrayBuffer.isView(this.value)||(null!=e||(e=_),"function"==typeof e&&e.isBuffer(this.value))}isDataView(){return this.value instanceof DataView}isDate(){return this.value instanceof Date}isPromise(){return this.value instanceof Promise}isBoolean(){return"boolean"==typeof this.value}isUndefined(){return void 0===this.value}isSymbol(){return"symbol"==typeof this.value}isNull(){return null===this.value}dispose(){this.value=void 0}}class x extends y{constructor(e,t){super(e,t)}dispose(){}}class z{constructor(){this._values=[void 0,z.UNDEFINED,z.NULL,z.FALSE,z.TRUE,z.GLOBAL],this._next=z.MIN_ID}push(e){let t;const i=this._next,s=this._values;return i<s.length?(t=s[i],t.value=e):(t=new y(i,e),s[i]=t),this._next++,t}erase(e,t){this._next=e;const i=this._values;for(let s=e;s<t;++s)i[s].dispose()}get(e){return this._values[e]}swap(e,t){const i=this._values,s=i[e];i[e]=i[t],i[e].id=Number(e),i[t]=s,s.id=Number(t)}dispose(){this._values.length=z.MIN_ID,this._next=z.MIN_ID}}z.UNDEFINED=new x(1,void 0),z.NULL=new x(2,null),z.FALSE=new x(3,!1),z.TRUE=new x(4,!0),z.GLOBAL=new x(5,r),z.MIN_ID=6;class k{constructor(e,t,i,s,n=s){this.handleStore=e,this.id=t,this.parent=i,this.child=null,null!==i&&(i.child=this),this.start=s,this.end=n,this._escapeCalled=!1,this.callbackInfo={thiz:void 0,data:0,args:void 0,fn:void 0}}add(e){const t=this.handleStore.push(e);return this.end++,t}addExternal(e){return this.add(new i(e))}dispose(){this._escapeCalled&&(this._escapeCalled=!1),this.start!==this.end&&this.handleStore.erase(this.start,this.end)}escape(e){if(this._escapeCalled)return null;if(this._escapeCalled=!0,e<this.start||e>=this.end)return null;this.handleStore.swap(e,this.start);const t=this.handleStore.get(this.start);return this.start++,this.parent.end++,t}escapeCalled(){return this._escapeCalled}}class b{constructor(){this._rootScope=new k(null,0,null,1,z.MIN_ID),this.currentScope=this._rootScope,this._values=[void 0]}get(e){return this._values[e]}openScope(e){const t=this.currentScope;let i=t.child;if(null!==i)i.start=i.end=t.end;else{const s=t.id+1;i=new k(e,s,t,t.end),this._values[s]=i}return this.currentScope=i,i}closeScope(){const e=this.currentScope;this.currentScope=e.parent,e.dispose()}dispose(){this.currentScope=this._rootScope,this._values.length=1}}class w{constructor(){this._next=null,this._prev=null}dispose(){}finalize(){}link(e){this._prev=e,this._next=e._next,null!==this._next&&(this._next._prev=this),e._next=this}unlink(){null!==this._prev&&(this._prev._next=this._next),null!==this._next&&(this._next._prev=this._prev),this._prev=null,this._next=null}static finalizeAll(e){for(;null!==e._next;)e._next.finalize()}}class m{constructor(e,t=0,i=0,s=0){this.envObject=e,this._finalizeCallback=t,this._finalizeData=i,this._finalizeHint=s,this._makeDynCall_vppp=e.makeDynCall_vppp}callback(){return this._finalizeCallback}data(){return this._finalizeData}hint(){return this._finalizeHint}resetEnv(){this.envObject=void 0}resetFinalizer(){this._finalizeCallback=0,this._finalizeData=0,this._finalizeHint=0}callFinalizer(){const e=this._finalizeCallback,t=this._finalizeData,i=this._finalizeHint;if(this.resetFinalizer(),!e)return;const s=Number(e);this.envObject?this.envObject.callFinalizer(s,t,i):this._makeDynCall_vppp(s)(0,t,i)}dispose(){this.envObject=void 0,this._makeDynCall_vppp=void 0}}class E extends w{static create(e,t,i,s){const n=new E(e,t,i,s);return n.link(e.finalizing_reflist),n}constructor(e,t,i,s){super(),this._finalizer=new m(e,t,i,s)}data(){return this._finalizer.data()}dispose(){this._finalizer&&(this.unlink(),this._finalizer.envObject.dequeueFinalizer(this),this._finalizer.dispose(),this._finalizer=void 0,super.dispose())}finalize(){let e;this.unlink();let t=!1;try{this._finalizer.callFinalizer()}catch(i){t=!0,e=i}if(this.dispose(),t)throw e}}function S(e,t){if(!e.terminatedOrTerminating())throw t}class C{constructor(e,t,i,s,n){this.ctx=e,this.moduleApiVersion=t,this.makeDynCall_vppp=i,this.makeDynCall_vp=s,this.abort=n,this.openHandleScopes=0,this.instanceData=null,this.tryCatch=new o,this.refs=1,this.reflist=new w,this.finalizing_reflist=new w,this.pendingFinalizers=[],this.lastError={errorCode:0,engineErrorCode:0,engineReserved:0},this.inGcFinalizer=!1,this._bindingMap=new WeakMap,this.id=0}canCallIntoJs(){return!0}terminatedOrTerminating(){return!this.canCallIntoJs()}ref(){this.refs++}unref(){this.refs--,0===this.refs&&this.dispose()}ensureHandle(e){return this.ctx.ensureHandle(e)}ensureHandleId(e){return this.ensureHandle(e).id}clearLastError(){const e=this.lastError;return 0!==e.errorCode&&(e.errorCode=0),0!==e.engineErrorCode&&(e.engineErrorCode=0),0!==e.engineReserved&&(e.engineReserved=0),0}setLastError(e,t=0,i=0){const s=this.lastError;return s.errorCode!==e&&(s.errorCode=e),s.engineErrorCode!==t&&(s.engineErrorCode=t),s.engineReserved!==i&&(s.engineReserved=i),e}getReturnStatus(){return this.tryCatch.hasCaught()?this.setLastError(10):0}callIntoModule(e,t=S){const i=this.openHandleScopes;this.clearLastError();const s=e(this);if(i!==this.openHandleScopes&&this.abort("open_handle_scopes != open_handle_scopes_before"),this.tryCatch.hasCaught()){t(this,this.tryCatch.extractException())}return s}invokeFinalizerFromGC(e){if(this.moduleApiVersion!==g)this.enqueueFinalizer(e);else{const t=this.inGcFinalizer;this.inGcFinalizer=!0;try{e.finalize()}finally{this.inGcFinalizer=t}}}checkGCAccess(){this.moduleApiVersion===g&&this.inGcFinalizer&&this.abort("Finalizer is calling a function that may affect GC state.\nThe finalizers are run directly from GC and must not affect GC state.\nUse `node_api_post_finalizer` from inside of the finalizer to work around this issue.\nIt schedules the call as a new task in the event loop.")}enqueueFinalizer(e){-1===this.pendingFinalizers.indexOf(e)&&this.pendingFinalizers.push(e)}dequeueFinalizer(e){const t=this.pendingFinalizers.indexOf(e);-1!==t&&this.pendingFinalizers.splice(t,1)}deleteMe(){w.finalizeAll(this.finalizing_reflist),w.finalizeAll(this.reflist),this.tryCatch.extractException(),this.ctx.envStore.remove(this.id)}dispose(){0!==this.id&&(this.deleteMe(),this.finalizing_reflist.dispose(),this.reflist.dispose(),this.id=0)}initObjectBinding(e){const t={wrapped:0,tag:null};return this._bindingMap.set(e,t),t}getObjectBinding(e){return this._bindingMap.has(e)?this._bindingMap.get(e):this.initObjectBinding(e)}setInstanceData(e,t,i){this.instanceData&&this.instanceData.dispose(),this.instanceData=E.create(this,t,e,i)}getInstanceData(){return this.instanceData?this.instanceData.data():0}}class F extends C{constructor(e,t,i,s,n,r,o){super(e,i,s,n,r),this.filename=t,this.nodeBinding=o,this.destructing=!1,this.finalizationScheduled=!1}deleteMe(){this.destructing=!0,this.drainFinalizerQueue(),super.deleteMe()}canCallIntoJs(){return super.canCallIntoJs()&&this.ctx.canCallIntoJs()}triggerFatalException(e){if(this.nodeBinding)this.nodeBinding.napi.fatalException(e);else{if("object"!=typeof process||null===process||"function"!=typeof process._fatalException)throw e;process._fatalException(e)||(console.error(e),process.exit(1))}}callbackIntoModule(e,t){return this.callIntoModule(t,(t,i)=>{if(t.terminatedOrTerminating())return;const s="object"==typeof process&&null!==process,n=!!s&&Boolean(process.execArgv&&-1!==process.execArgv.indexOf("--force-node-api-uncaught-exceptions-policy"));if(t.moduleApiVersion<10&&!n&&!e){return void(s&&"function"==typeof process.emitWarning?process.emitWarning:function(e,t,i){if(e instanceof Error)console.warn(e.toString());else{const s=i?`[${i}] `:"";console.warn(`${s}${t||"Warning"}: ${e}`)}})("Uncaught Node-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.","DeprecationWarning","DEP0168")}t.triggerFatalException(i)})}callFinalizer(e,t,i){this.callFinalizerInternal(1,e,t,i)}callFinalizerInternal(e,t,i,s){const n=this.makeDynCall_vppp(t),r=this.id,o=this.ctx.openScope(this);try{this.callbackIntoModule(Boolean(e),()=>{n(r,i,s)})}finally{this.ctx.closeScope(this,o)}}enqueueFinalizer(e){super.enqueueFinalizer(e),this.finalizationScheduled||this.destructing||(this.finalizationScheduled=!0,this.ref(),d(()=>{this.finalizationScheduled=!1,this.unref(),this.drainFinalizerQueue()}))}drainFinalizerQueue(){for(;this.pendingFinalizers.length>0;){this.pendingFinalizers.shift().finalize()}}}function I(e,t,i,s,n,r,o){(i="number"!=typeof i?8:i)<8?i=8:i>10&&i!==g&&function(e,t){throw new Error(`${e} requires Node-API version ${t}, but this version of Node.js only supports version 10 add-ons.`)}(t,i);const a=new F(e,t,i,s,n,r,o);return e.envStore.add(a),e.addCleanupHook(a,()=>{a.unref()},0),a}class O extends Error{constructor(e){super(e);const t=new.target,i=t.prototype;if(!(this instanceof O)){const e=Object.setPrototypeOf;"function"==typeof e?e.call(Object,this,i):this.__proto__=i,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t)}}}Object.defineProperty(O.prototype,"name",{configurable:!0,writable:!0,value:"EmnapiError"});class D extends O{constructor(e,t){super(`${e}: The current runtime does not support "FinalizationRegistry" and "WeakRef".${t?` ${t}`:""}`)}}Object.defineProperty(D.prototype,"name",{configurable:!0,writable:!0,value:"NotSupportWeakRefError"});class R extends O{constructor(e,t){super(`${e}: The current runtime does not support "Buffer". Consider using buffer polyfill to make sure \`globalThis.Buffer\` is defined.${t?` ${t}`:""}`)}}Object.defineProperty(R.prototype,"name",{configurable:!0,writable:!0,value:"NotSupportBufferError"});class N{constructor(e){this._value=e}deref(){return this._value}dispose(){this._value=void 0}}class A{constructor(e){this._ref=new N(e)}setWeak(e,t){if(!c||void 0===this._ref||this._ref instanceof WeakRef)return;const i=this._ref.deref();try{A._registry.register(i,this,this);const s=new WeakRef(i);this._ref.dispose(),this._ref=s,this._param=e,this._callback=t}catch(e){if("symbol"!=typeof i)throw e}}clearWeak(){if(c&&void 0!==this._ref&&this._ref instanceof WeakRef){try{A._registry.unregister(this)}catch(e){}this._param=void 0,this._callback=void 0;const e=this._ref.deref();this._ref=void 0===e?e:new N(e)}}reset(){if(c)try{A._registry.unregister(this)}catch(e){}this._param=void 0,this._callback=void 0,this._ref instanceof N&&this._ref.dispose(),this._ref=void 0}isEmpty(){return void 0===this._ref}deref(){if(void 0!==this._ref)return this._ref.deref()}}var H;A._registry=c?new FinalizationRegistry(e=>{e._ref=void 0;const t=e._callback,i=e._param;e._callback=void 0,e._param=void 0,"function"==typeof t&&t(i)}):void 0,exports.ReferenceOwnership=void 0,(H=exports.ReferenceOwnership||(exports.ReferenceOwnership={}))[H.kRuntime=0]="kRuntime",H[H.kUserland=1]="kUserland";class j extends w{static weakCallback(e){e.persistent.reset(),e.invokeFinalizerFromGC()}static create(e,t,i,s,n,r,o){const a=new j(e,t,i,s);return e.ctx.refStore.add(a),a.link(e.reflist),a}constructor(e,t,i,s){super(),this.envObject=e,this._refcount=i,this._ownership=s;const n=e.ctx.handleStore.get(t);var r;this.canBeWeak=(r=n).isObject()||r.isFunction()||r.isSymbol(),this.persistent=new A(n.value),this.id=0,0===i&&this._setWeak()}ref(){return this.persistent.isEmpty()?0:(1===++this._refcount&&this.canBeWeak&&this.persistent.clearWeak(),this._refcount)}unref(){return this.persistent.isEmpty()||0===this._refcount?0:(0===--this._refcount&&this._setWeak(),this._refcount)}get(e=this.envObject){if(this.persistent.isEmpty())return 0;const t=this.persistent.deref();return e.ensureHandle(t).id}resetFinalizer(){}data(){return 0}refcount(){return this._refcount}ownership(){return this._ownership}callUserFinalizer(){}invokeFinalizerFromGC(){this.finalize()}_setWeak(){this.canBeWeak?this.persistent.setWeak(this,j.weakCallback):this.persistent.reset()}finalize(){this.persistent.reset();const e=this._ownership===exports.ReferenceOwnership.kRuntime;this.unlink(),this.callUserFinalizer(),e&&this.dispose()}dispose(){0!==this.id&&(this.unlink(),this.persistent.reset(),this.envObject.ctx.refStore.remove(this.id),super.dispose(),this.envObject=void 0,this.id=0)}}class B extends j{static create(e,t,i,s,n){const r=new B(e,t,i,s,n);return e.ctx.refStore.add(r),r.link(e.reflist),r}constructor(e,t,i,s,n){super(e,t,i,s),this._data=n}data(){return this._data}}class M extends j{static create(e,t,i,s,n,r,o){const a=new M(e,t,i,s,n,r,o);return e.ctx.refStore.add(a),a.link(e.finalizing_reflist),a}constructor(e,t,i,s,n,r,o){super(e,t,i,s),this._finalizer=new m(e,n,r,o)}resetFinalizer(){this._finalizer.resetFinalizer()}data(){return this._finalizer.data()}callUserFinalizer(){this._finalizer.callFinalizer()}invokeFinalizerFromGC(){this._finalizer.envObject.invokeFinalizerFromGC(this)}dispose(){this._finalizer&&(this._finalizer.envObject.dequeueFinalizer(this),this._finalizer.dispose(),super.dispose(),this._finalizer=void 0)}}class T{static create(e,t){const i=new T(e,t);return e.deferredStore.add(i),i}constructor(e,t){this.id=0,this.ctx=e,this.value=t}resolve(e){this.value.resolve(e),this.dispose()}reject(e){this.value.reject(e),this.dispose()}dispose(){this.ctx.deferredStore.remove(this.id),this.id=0,this.value=null,this.ctx=null}}class W{constructor(){this._values=[void 0],this._values.length=4,this._size=1,this._freeList=[]}add(e){let t;if(this._freeList.length)t=this._freeList.shift();else{t=this._size,this._size++;const e=this._values.length;t>=e&&(this._values.length=e+(e>>1)+16)}e.id=t,this._values[t]=e}get(e){return this._values[e]}has(e){return void 0!==this._values[e]}remove(e){const t=this._values[e];t&&(t.id=0,this._values[e]=void 0,this._freeList.push(Number(e)))}dispose(){for(let e=1;e<this._size;++e){const t=this._values[e];null==t||t.dispose()}this._values=[void 0],this._size=1,this._freeList=[]}}const L=BigInt(1)<<BigInt(60),P=-L;class U{constructor(e){this.total=BigInt(0),this.onChange=null!=e?e:null}adjust(e){if(e=BigInt(e),!(P<=e&&e<L))throw new RangeError(`changeInBytes ${e} is out of reasonable range`);const t=this.total;this.total+=e;const i=this.total,s=this.onChange;return e&&(null==s||s(i,t,e)),i}}class V{constructor(e,t,i,s){this.envObject=e,this.fn=t,this.arg=i,this.order=s}}class G{constructor(){this._cleanupHooks=[],this._cleanupHookCounter=0}empty(){return 0===this._cleanupHooks.length}add(e,t,i){if(this._cleanupHooks.filter(s=>s.envObject===e&&s.fn===t&&s.arg===i).length>0)throw new Error("Can not add same fn and arg twice");this._cleanupHooks.push(new V(e,t,i,this._cleanupHookCounter++))}remove(e,t,i){for(let s=0;s<this._cleanupHooks.length;++s){const n=this._cleanupHooks[s];if(n.envObject===e&&n.fn===t&&n.arg===i)return void this._cleanupHooks.splice(s,1)}}drain(){const e=this._cleanupHooks.slice();e.sort((e,t)=>t.order-e.order);for(let t=0;t<e.length;++t){const i=e[t];"number"==typeof i.fn?i.envObject.makeDynCall_vp(i.fn)(i.arg):i.fn(i.arg),this._cleanupHooks.splice(this._cleanupHooks.indexOf(i),1)}}dispose(){this._cleanupHooks.length=0,this._cleanupHookCounter=0}}class q{constructor(){this.refHandle=(new f).port1,this.count=0}increase(){0===this.count&&this.refHandle.ref&&this.refHandle.ref(),this.count++}decrease(){0!==this.count&&(1===this.count&&this.refHandle.unref&&this.refHandle.unref(),this.count--)}}class ${constructor(e){this._isStopping=!1,this._canCallIntoJs=!0,this._suppressDestroy=!1,this.envStore=new W,this.scopeStore=new b,this.refStore=new W,this.deferredStore=new W,this.handleStore=new z,this.feature={supportReflect:l,supportFinalizer:c,supportWeakSymbol:h,supportBigInt:u,supportNewFunction:n,canSetFunctionName:a,setImmediate:d,Buffer:_,MessageChannel:f},this.cleanupQueue=new G,this._externalMemory=new U(null==e?void 0:e.onExternalMemoryChange),"object"==typeof process&&null!==process&&"function"==typeof process.once&&(this.refCounter=new q,process.once("beforeExit",()=>{this._suppressDestroy||this.destroy()}))}suppressDestroy(){this._suppressDestroy=!0}getRuntimeVersions(){return{version:v,NODE_API_SUPPORTED_VERSION_MAX:10,NAPI_VERSION_EXPERIMENTAL:g,NODE_API_DEFAULT_MODULE_API_VERSION:8}}createNotSupportWeakRefError(e,t){return new D(e,t)}createNotSupportBufferError(e,t){return new R(e,t)}createReference(e,t,i,s){return j.create(e,t,i,s)}createReferenceWithData(e,t,i,s,n){return B.create(e,t,i,s,n)}createReferenceWithFinalizer(e,t,i,s,n=0,r=0,o=0){return M.create(e,t,i,s,n,r,o)}createDeferred(e){return T.create(this,e)}adjustAmountOfExternalAllocatedMemory(e){return this._externalMemory.adjust(e)}createEnv(e,t,i,s,n,r){return I(this,e,t,i,s,n,r)}createTrackedFinalizer(e,t,i,s){return E.create(e,t,i,s)}getCurrentScope(){return this.scopeStore.currentScope}addToCurrentScope(e){return this.scopeStore.currentScope.add(e)}openScope(e){const t=this.scopeStore.openScope(this.handleStore);return e&&e.openHandleScopes++,t}closeScope(e,t){e&&0===e.openHandleScopes||(this.scopeStore.closeScope(),e&&e.openHandleScopes--)}ensureHandle(e){switch(e){case void 0:return z.UNDEFINED;case null:return z.NULL;case!0:return z.TRUE;case!1:return z.FALSE;case r:return z.GLOBAL}return this.addToCurrentScope(e)}addCleanupHook(e,t,i){this.cleanupQueue.add(e,t,i)}removeCleanupHook(e,t,i){this.cleanupQueue.remove(e,t,i)}runCleanup(){for(;!this.cleanupQueue.empty();)this.cleanupQueue.drain()}increaseWaitingRequestCounter(){var e;null===(e=this.refCounter)||void 0===e||e.increase()}decreaseWaitingRequestCounter(){var e;null===(e=this.refCounter)||void 0===e||e.decrease()}setCanCallIntoJs(e){this._canCallIntoJs=e}setStopping(e){this._isStopping=e}canCallIntoJs(){return this._canCallIntoJs&&!this._isStopping}destroy(){this.setStopping(!0),this.setCanCallIntoJs(!1),this.runCleanup()}}let J;function Q(e){return new $(e)}exports.ConstHandle=x,exports.Context=$,exports.Deferred=T,exports.EmnapiError=O,exports.Env=C,exports.External=i,exports.Finalizer=m,exports.Handle=y,exports.HandleScope=k,exports.HandleStore=z,exports.NAPI_VERSION_EXPERIMENTAL=g,exports.NODE_API_DEFAULT_MODULE_API_VERSION=8,exports.NODE_API_SUPPORTED_VERSION_MAX=10,exports.NODE_API_SUPPORTED_VERSION_MIN=1,exports.NodeEnv=F,exports.NotSupportBufferError=R,exports.NotSupportWeakRefError=D,exports.Persistent=A,exports.RefTracker=w,exports.Reference=j,exports.ReferenceWithData=B,exports.ReferenceWithFinalizer=M,exports.ScopeStore=b,exports.Store=W,exports.TrackedFinalizer=E,exports.TryCatch=o,exports.createContext=Q,exports.getDefaultContext=function(){return J||(J=Q()),J},exports.getExternalValue=s,exports.isExternal=t,exports.isReferenceType=function(e){return"object"==typeof e&&null!==e||"function"==typeof e},exports.version=v;
|
|
@@ -199,7 +199,8 @@ export declare const enum napi_typedarray_type {
|
|
|
199
199
|
napi_float32_array,
|
|
200
200
|
napi_float64_array,
|
|
201
201
|
napi_bigint64_array,
|
|
202
|
-
napi_biguint64_array
|
|
202
|
+
napi_biguint64_array,
|
|
203
|
+
napi_float16_array,
|
|
203
204
|
}
|
|
204
205
|
|
|
205
206
|
export declare const enum napi_key_collection_mode {
|
|
@@ -233,6 +234,7 @@ export declare const enum emnapi_memory_view_type {
|
|
|
233
234
|
emnapi_float64_array,
|
|
234
235
|
emnapi_bigint64_array,
|
|
235
236
|
emnapi_biguint64_array,
|
|
237
|
+
emnapi_float16_array,
|
|
236
238
|
emnapi_data_view = -1,
|
|
237
239
|
emnapi_buffer = -2
|
|
238
240
|
}
|
|
@@ -264,6 +266,7 @@ export declare class Context {
|
|
|
264
266
|
handleStore: HandleStore;
|
|
265
267
|
private readonly refCounter?;
|
|
266
268
|
private readonly cleanupQueue;
|
|
269
|
+
private readonly _externalMemory;
|
|
267
270
|
feature: {
|
|
268
271
|
supportReflect: boolean;
|
|
269
272
|
supportFinalizer: boolean;
|
|
@@ -278,7 +281,7 @@ export declare class Context {
|
|
|
278
281
|
prototype: MessageChannel;
|
|
279
282
|
} | undefined;
|
|
280
283
|
};
|
|
281
|
-
constructor();
|
|
284
|
+
constructor(options?: ContextOptions);
|
|
282
285
|
/**
|
|
283
286
|
* Suppress the destroy on `beforeExit` event in Node.js.
|
|
284
287
|
* Call this method if you want to keep the context and
|
|
@@ -300,12 +303,13 @@ export declare class Context {
|
|
|
300
303
|
createReferenceWithData(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): Reference;
|
|
301
304
|
createReferenceWithFinalizer(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback?: napi_finalize, finalize_data?: void_p, finalize_hint?: void_p): Reference;
|
|
302
305
|
createDeferred<T = any>(value: IDeferrdValue<T>): Deferred<T>;
|
|
306
|
+
adjustAmountOfExternalAllocatedMemory(changeInBytes: number | bigint): bigint;
|
|
303
307
|
createEnv(filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any): Env;
|
|
304
308
|
createTrackedFinalizer(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer;
|
|
305
309
|
getCurrentScope(): HandleScope | null;
|
|
306
310
|
addToCurrentScope<V>(value: V): Handle<V>;
|
|
307
|
-
openScope(envObject
|
|
308
|
-
closeScope(envObject
|
|
311
|
+
openScope(envObject?: Env): HandleScope;
|
|
312
|
+
closeScope(envObject?: Env, _scope?: HandleScope): void;
|
|
309
313
|
ensureHandle<S>(value: S): Handle<S>;
|
|
310
314
|
addCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void;
|
|
311
315
|
removeCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void;
|
|
@@ -322,7 +326,11 @@ export declare class Context {
|
|
|
322
326
|
destroy(): void;
|
|
323
327
|
}
|
|
324
328
|
|
|
325
|
-
export declare
|
|
329
|
+
export declare interface ContextOptions {
|
|
330
|
+
onExternalMemoryChange?: (current: bigint, old: bigint, delta: bigint) => any;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
export declare function createContext(options?: ContextOptions): Context;
|
|
326
334
|
|
|
327
335
|
export declare class Deferred<T = any> implements IStoreValue {
|
|
328
336
|
static create<T = any>(ctx: Context, value: IDeferrdValue<T>): Deferred;
|
|
@@ -621,8 +629,8 @@ export declare class ScopeStore {
|
|
|
621
629
|
private readonly _values;
|
|
622
630
|
constructor();
|
|
623
631
|
get(id: number): HandleScope | undefined;
|
|
624
|
-
openScope(
|
|
625
|
-
closeScope(
|
|
632
|
+
openScope(handleStore: HandleStore): HandleScope;
|
|
633
|
+
closeScope(): void;
|
|
626
634
|
dispose(): void;
|
|
627
635
|
}
|
|
628
636
|
|
|
@@ -199,7 +199,8 @@ export declare const enum napi_typedarray_type {
|
|
|
199
199
|
napi_float32_array,
|
|
200
200
|
napi_float64_array,
|
|
201
201
|
napi_bigint64_array,
|
|
202
|
-
napi_biguint64_array
|
|
202
|
+
napi_biguint64_array,
|
|
203
|
+
napi_float16_array,
|
|
203
204
|
}
|
|
204
205
|
|
|
205
206
|
export declare const enum napi_key_collection_mode {
|
|
@@ -233,6 +234,7 @@ export declare const enum emnapi_memory_view_type {
|
|
|
233
234
|
emnapi_float64_array,
|
|
234
235
|
emnapi_bigint64_array,
|
|
235
236
|
emnapi_biguint64_array,
|
|
237
|
+
emnapi_float16_array,
|
|
236
238
|
emnapi_data_view = -1,
|
|
237
239
|
emnapi_buffer = -2
|
|
238
240
|
}
|
|
@@ -264,6 +266,7 @@ export declare class Context {
|
|
|
264
266
|
handleStore: HandleStore;
|
|
265
267
|
private readonly refCounter?;
|
|
266
268
|
private readonly cleanupQueue;
|
|
269
|
+
private readonly _externalMemory;
|
|
267
270
|
feature: {
|
|
268
271
|
supportReflect: boolean;
|
|
269
272
|
supportFinalizer: boolean;
|
|
@@ -278,7 +281,7 @@ export declare class Context {
|
|
|
278
281
|
prototype: MessageChannel;
|
|
279
282
|
} | undefined;
|
|
280
283
|
};
|
|
281
|
-
constructor();
|
|
284
|
+
constructor(options?: ContextOptions);
|
|
282
285
|
/**
|
|
283
286
|
* Suppress the destroy on `beforeExit` event in Node.js.
|
|
284
287
|
* Call this method if you want to keep the context and
|
|
@@ -300,12 +303,13 @@ export declare class Context {
|
|
|
300
303
|
createReferenceWithData(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): Reference;
|
|
301
304
|
createReferenceWithFinalizer(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback?: napi_finalize, finalize_data?: void_p, finalize_hint?: void_p): Reference;
|
|
302
305
|
createDeferred<T = any>(value: IDeferrdValue<T>): Deferred<T>;
|
|
306
|
+
adjustAmountOfExternalAllocatedMemory(changeInBytes: number | bigint): bigint;
|
|
303
307
|
createEnv(filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any): Env;
|
|
304
308
|
createTrackedFinalizer(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer;
|
|
305
309
|
getCurrentScope(): HandleScope | null;
|
|
306
310
|
addToCurrentScope<V>(value: V): Handle<V>;
|
|
307
|
-
openScope(envObject
|
|
308
|
-
closeScope(envObject
|
|
311
|
+
openScope(envObject?: Env): HandleScope;
|
|
312
|
+
closeScope(envObject?: Env, _scope?: HandleScope): void;
|
|
309
313
|
ensureHandle<S>(value: S): Handle<S>;
|
|
310
314
|
addCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void;
|
|
311
315
|
removeCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void;
|
|
@@ -322,7 +326,11 @@ export declare class Context {
|
|
|
322
326
|
destroy(): void;
|
|
323
327
|
}
|
|
324
328
|
|
|
325
|
-
export declare
|
|
329
|
+
export declare interface ContextOptions {
|
|
330
|
+
onExternalMemoryChange?: (current: bigint, old: bigint, delta: bigint) => any;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
export declare function createContext(options?: ContextOptions): Context;
|
|
326
334
|
|
|
327
335
|
export declare class Deferred<T = any> implements IStoreValue {
|
|
328
336
|
static create<T = any>(ctx: Context, value: IDeferrdValue<T>): Deferred;
|
|
@@ -621,8 +629,8 @@ export declare class ScopeStore {
|
|
|
621
629
|
private readonly _values;
|
|
622
630
|
constructor();
|
|
623
631
|
get(id: number): HandleScope | undefined;
|
|
624
|
-
openScope(
|
|
625
|
-
closeScope(
|
|
632
|
+
openScope(handleStore: HandleStore): HandleScope;
|
|
633
|
+
closeScope(): void;
|
|
626
634
|
dispose(): void;
|
|
627
635
|
}
|
|
628
636
|
|
|
@@ -162,7 +162,7 @@ var _Buffer = typeof Buffer === 'function'
|
|
|
162
162
|
catch (_) { }
|
|
163
163
|
return undefined;
|
|
164
164
|
})();
|
|
165
|
-
var version = "1.
|
|
165
|
+
var version = "1.11.1";
|
|
166
166
|
var NODE_API_SUPPORTED_VERSION_MIN = 1 /* Version.NODE_API_SUPPORTED_VERSION_MIN */;
|
|
167
167
|
var NODE_API_SUPPORTED_VERSION_MAX = 10 /* Version.NODE_API_SUPPORTED_VERSION_MAX */;
|
|
168
168
|
var NAPI_VERSION_EXPERIMENTAL = 2147483647 /* Version.NAPI_VERSION_EXPERIMENTAL */;
|
|
@@ -363,7 +363,7 @@ var ScopeStore = /*#__PURE__*/ (function () {
|
|
|
363
363
|
ScopeStore.prototype.get = function (id) {
|
|
364
364
|
return this._values[id];
|
|
365
365
|
};
|
|
366
|
-
ScopeStore.prototype.openScope = function (
|
|
366
|
+
ScopeStore.prototype.openScope = function (handleStore) {
|
|
367
367
|
var currentScope = this.currentScope;
|
|
368
368
|
var scope = currentScope.child;
|
|
369
369
|
if (scope !== null) {
|
|
@@ -371,20 +371,16 @@ var ScopeStore = /*#__PURE__*/ (function () {
|
|
|
371
371
|
}
|
|
372
372
|
else {
|
|
373
373
|
var id = currentScope.id + 1;
|
|
374
|
-
scope = new HandleScope(
|
|
374
|
+
scope = new HandleScope(handleStore, id, currentScope, currentScope.end);
|
|
375
375
|
this._values[id] = scope;
|
|
376
376
|
}
|
|
377
377
|
this.currentScope = scope;
|
|
378
|
-
envObject.openHandleScopes++;
|
|
379
378
|
return scope;
|
|
380
379
|
};
|
|
381
|
-
ScopeStore.prototype.closeScope = function (
|
|
382
|
-
if (envObject.openHandleScopes === 0)
|
|
383
|
-
return;
|
|
380
|
+
ScopeStore.prototype.closeScope = function () {
|
|
384
381
|
var scope = this.currentScope;
|
|
385
382
|
this.currentScope = scope.parent;
|
|
386
383
|
scope.dispose();
|
|
387
|
-
envObject.openHandleScopes--;
|
|
388
384
|
};
|
|
389
385
|
ScopeStore.prototype.dispose = function () {
|
|
390
386
|
this.currentScope = this._rootScope;
|
|
@@ -742,7 +738,7 @@ var NodeEnv = /*#__PURE__*/ (function (_super) {
|
|
|
742
738
|
console.warn("".concat(prefix).concat(type || 'Warning', ": ").concat(warning));
|
|
743
739
|
}
|
|
744
740
|
};
|
|
745
|
-
warn('Uncaught
|
|
741
|
+
warn('Uncaught Node-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.', 'DeprecationWarning', 'DEP0168');
|
|
746
742
|
return;
|
|
747
743
|
}
|
|
748
744
|
envObject.triggerFatalException(err);
|
|
@@ -1176,6 +1172,30 @@ var Store = /*#__PURE__*/ (function () {
|
|
|
1176
1172
|
return Store;
|
|
1177
1173
|
}());
|
|
1178
1174
|
|
|
1175
|
+
var kMaxReasonableBytes = BigInt(1) << BigInt(60);
|
|
1176
|
+
var kMinReasonableBytes = -kMaxReasonableBytes;
|
|
1177
|
+
var ExternalMemory = /*#__PURE__*/ (function () {
|
|
1178
|
+
function ExternalMemory(onChange) {
|
|
1179
|
+
this.total = BigInt(0);
|
|
1180
|
+
this.onChange = onChange !== null && onChange !== void 0 ? onChange : null;
|
|
1181
|
+
}
|
|
1182
|
+
ExternalMemory.prototype.adjust = function (changeInBytes) {
|
|
1183
|
+
changeInBytes = BigInt(changeInBytes);
|
|
1184
|
+
if (!(kMinReasonableBytes <= changeInBytes && changeInBytes < kMaxReasonableBytes)) {
|
|
1185
|
+
throw new RangeError("changeInBytes ".concat(changeInBytes, " is out of reasonable range"));
|
|
1186
|
+
}
|
|
1187
|
+
var old = this.total;
|
|
1188
|
+
this.total += changeInBytes;
|
|
1189
|
+
var amount = this.total;
|
|
1190
|
+
var onChange = this.onChange;
|
|
1191
|
+
if (changeInBytes) {
|
|
1192
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(amount, old, changeInBytes);
|
|
1193
|
+
}
|
|
1194
|
+
return amount;
|
|
1195
|
+
};
|
|
1196
|
+
return ExternalMemory;
|
|
1197
|
+
}());
|
|
1198
|
+
|
|
1179
1199
|
var CleanupHookCallback = /*#__PURE__*/ (function () {
|
|
1180
1200
|
function CleanupHookCallback(envObject, fn, arg, order) {
|
|
1181
1201
|
this.envObject = envObject;
|
|
@@ -1254,7 +1274,7 @@ var NodejsWaitingRequestCounter = /*#__PURE__*/ (function () {
|
|
|
1254
1274
|
return NodejsWaitingRequestCounter;
|
|
1255
1275
|
}());
|
|
1256
1276
|
var Context = /*#__PURE__*/ (function () {
|
|
1257
|
-
function Context() {
|
|
1277
|
+
function Context(options) {
|
|
1258
1278
|
var _this = this;
|
|
1259
1279
|
this._isStopping = false;
|
|
1260
1280
|
this._canCallIntoJs = true;
|
|
@@ -1276,6 +1296,7 @@ var Context = /*#__PURE__*/ (function () {
|
|
|
1276
1296
|
MessageChannel: _MessageChannel
|
|
1277
1297
|
};
|
|
1278
1298
|
this.cleanupQueue = new CleanupQueue();
|
|
1299
|
+
this._externalMemory = new ExternalMemory(options === null || options === void 0 ? void 0 : options.onExternalMemoryChange);
|
|
1279
1300
|
if (typeof process === 'object' && process !== null && typeof process.once === 'function') {
|
|
1280
1301
|
this.refCounter = new NodejsWaitingRequestCounter();
|
|
1281
1302
|
process.once('beforeExit', function () {
|
|
@@ -1326,6 +1347,9 @@ var Context = /*#__PURE__*/ (function () {
|
|
|
1326
1347
|
Context.prototype.createDeferred = function (value) {
|
|
1327
1348
|
return Deferred.create(this, value);
|
|
1328
1349
|
};
|
|
1350
|
+
Context.prototype.adjustAmountOfExternalAllocatedMemory = function (changeInBytes) {
|
|
1351
|
+
return this._externalMemory.adjust(changeInBytes);
|
|
1352
|
+
};
|
|
1329
1353
|
Context.prototype.createEnv = function (filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) {
|
|
1330
1354
|
return newEnv(this, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding);
|
|
1331
1355
|
};
|
|
@@ -1339,10 +1363,17 @@ var Context = /*#__PURE__*/ (function () {
|
|
|
1339
1363
|
return this.scopeStore.currentScope.add(value);
|
|
1340
1364
|
};
|
|
1341
1365
|
Context.prototype.openScope = function (envObject) {
|
|
1342
|
-
|
|
1366
|
+
var scope = this.scopeStore.openScope(this.handleStore);
|
|
1367
|
+
if (envObject)
|
|
1368
|
+
envObject.openHandleScopes++;
|
|
1369
|
+
return scope;
|
|
1343
1370
|
};
|
|
1344
1371
|
Context.prototype.closeScope = function (envObject, _scope) {
|
|
1345
|
-
|
|
1372
|
+
if (envObject && envObject.openHandleScopes === 0)
|
|
1373
|
+
return;
|
|
1374
|
+
this.scopeStore.closeScope();
|
|
1375
|
+
if (envObject)
|
|
1376
|
+
envObject.openHandleScopes--;
|
|
1346
1377
|
};
|
|
1347
1378
|
Context.prototype.ensureHandle = function (value) {
|
|
1348
1379
|
switch (value) {
|
|
@@ -1394,8 +1425,8 @@ var Context = /*#__PURE__*/ (function () {
|
|
|
1394
1425
|
return Context;
|
|
1395
1426
|
}());
|
|
1396
1427
|
var defaultContext;
|
|
1397
|
-
function createContext() {
|
|
1398
|
-
return new Context();
|
|
1428
|
+
function createContext(options) {
|
|
1429
|
+
return new Context(options);
|
|
1399
1430
|
}
|
|
1400
1431
|
function getDefaultContext() {
|
|
1401
1432
|
if (!defaultContext) {
|