@casual-simulation/aux-vm-deno 3.4.6-alpha.14668890889 → 3.5.0-alpha.15119114602
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/managers/DenoSimulation.js.map +1 -1
- package/package.json +9 -9
- package/vm/DenoAuxChannel.js +4 -18
- package/vm/DenoAuxChannel.js.map +1 -1
- package/vm/DenoVM.d.ts +0 -1
- package/vm/DenoVM.js +129 -151
- package/vm/DenoVM.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DenoSimulation.js","sourceRoot":"","sources":["DenoSimulation.ts"],"names":[],"mappings":"AAqBA,OAAO,EACH,iBAAiB,EACjB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"DenoSimulation.js","sourceRoot":"","sources":["DenoSimulation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@casual-simulation/aux-vm-deno",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0-alpha.15119114602",
|
|
4
4
|
"description": "A set of utilities required to securely run an AUX in Deno.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aux"
|
|
@@ -39,17 +39,17 @@
|
|
|
39
39
|
"url": "https://github.com/casual-simulation/casualos/issues"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@casual-simulation/aux-common": "^3.
|
|
43
|
-
"@casual-simulation/aux-runtime": "^3.
|
|
44
|
-
"@casual-simulation/aux-vm": "^3.
|
|
45
|
-
"@casual-simulation/aux-vm-client": "^3.
|
|
46
|
-
"@casual-simulation/crypto": "^3.
|
|
47
|
-
"@casual-simulation/crypto-browser": "^3.
|
|
42
|
+
"@casual-simulation/aux-common": "^3.5.0-alpha.15119114602",
|
|
43
|
+
"@casual-simulation/aux-runtime": "^3.5.0-alpha.15119114602",
|
|
44
|
+
"@casual-simulation/aux-vm": "^3.5.0-alpha.15119114602",
|
|
45
|
+
"@casual-simulation/aux-vm-client": "^3.5.0-alpha.15119114602",
|
|
46
|
+
"@casual-simulation/crypto": "^3.5.0-alpha.15119114602",
|
|
47
|
+
"@casual-simulation/crypto-browser": "^3.5.0-alpha.15119114602",
|
|
48
48
|
"comlink": "4.3.1",
|
|
49
|
-
"deno-vm": "
|
|
49
|
+
"deno-vm": "0.13.0",
|
|
50
50
|
"lodash": "4.17.21",
|
|
51
51
|
"rxjs": "8.0.0-alpha.14",
|
|
52
52
|
"uuid": "10.0.0"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "c6e0fed2d338914d986c1fbf40490370568b9553"
|
|
55
55
|
}
|
package/vm/DenoAuxChannel.js
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
|
|
11
2
|
*
|
|
12
3
|
* Copyright (c) 2019-2025 Casual Simulation, Inc.
|
|
@@ -31,14 +22,9 @@ export class DenoAuxChannel extends RemoteAuxChannel {
|
|
|
31
22
|
constructor(defaultHost, config) {
|
|
32
23
|
super(config, {});
|
|
33
24
|
}
|
|
34
|
-
_createPartition(config, services) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
});
|
|
38
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
let partition = yield _super._createPartition.call(this, config, services);
|
|
40
|
-
return partition;
|
|
41
|
-
});
|
|
25
|
+
async _createPartition(config, services) {
|
|
26
|
+
let partition = await super._createPartition(config, services);
|
|
27
|
+
return partition;
|
|
42
28
|
}
|
|
43
29
|
_createSubChannel(runtime, config) {
|
|
44
30
|
const channel = new DenoAuxChannel(null, config);
|
|
@@ -48,7 +34,7 @@ export class DenoAuxChannel extends RemoteAuxChannel {
|
|
|
48
34
|
_handleSubChannelAdded(subChannel) {
|
|
49
35
|
return super._handleSubChannelAdded(proxy({
|
|
50
36
|
getInfo: subChannel.getInfo,
|
|
51
|
-
getChannel: () =>
|
|
37
|
+
getChannel: async () => proxy(await subChannel.getChannel()),
|
|
52
38
|
}));
|
|
53
39
|
}
|
|
54
40
|
}
|
package/vm/DenoAuxChannel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DenoAuxChannel.js","sourceRoot":"","sources":["DenoAuxChannel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DenoAuxChannel.js","sourceRoot":"","sources":["DenoAuxChannel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,+CAA+C,CAAC;AAWvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,MAAM,OAAO,cAAe,SAAQ,gBAAgB;IAChD,YAAY,WAAmB,EAAE,MAAiB;QAC9C,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtB,CAAC;IAES,KAAK,CAAC,gBAAgB,CAC5B,MAAuB,EACvB,QAA8B;QAE9B,IAAI,SAAS,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/D,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,iBAAiB,CACvB,OAAmB,EACnB,MAAiB;QAEjB,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC3B,OAAO,OAAO,CAAC;IACnB,CAAC;IAES,sBAAsB,CAAC,UAAyB;QACtD,OAAO,KAAK,CAAC,sBAAsB,CAC/B,KAAK,CAAC;YACF,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;SAC/D,CAAC,CACL,CAAC;IACN,CAAC;CACJ"}
|
package/vm/DenoVM.d.ts
CHANGED
package/vm/DenoVM.js
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { Subject } from 'rxjs';
|
|
11
2
|
import { wrap, proxy } from 'comlink';
|
|
12
3
|
import { remapProgressPercent } from '@casual-simulation/aux-common';
|
|
@@ -75,87 +66,94 @@ export class DenoVM {
|
|
|
75
66
|
/**
|
|
76
67
|
* Initaializes the VM.
|
|
77
68
|
*/
|
|
78
|
-
init() {
|
|
79
|
-
return
|
|
80
|
-
return yield this._init();
|
|
81
|
-
});
|
|
69
|
+
async init() {
|
|
70
|
+
return await this._init();
|
|
82
71
|
}
|
|
83
|
-
_init() {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
console.log('[DenoVM] Allowing read for script file:', path);
|
|
107
|
-
// Allow read access to the script file.
|
|
108
|
-
permissions.allowRead = [path];
|
|
72
|
+
async _init() {
|
|
73
|
+
const startTime = process.hrtime();
|
|
74
|
+
console.log('[DenoVM] Creating Worker...');
|
|
75
|
+
this._connectionStateChanged.next({
|
|
76
|
+
type: 'progress',
|
|
77
|
+
message: 'Initializing web worker...',
|
|
78
|
+
progress: 0.1,
|
|
79
|
+
});
|
|
80
|
+
const debug = !!this._config.config.debug;
|
|
81
|
+
const permissions = {
|
|
82
|
+
allowNet: true,
|
|
83
|
+
};
|
|
84
|
+
const extraFlags = [];
|
|
85
|
+
if (this._script instanceof URL) {
|
|
86
|
+
console.log('[DenoVM] Script:', this._script.href);
|
|
87
|
+
if (this._script.protocol === 'file:') {
|
|
88
|
+
let path = this._script.pathname;
|
|
89
|
+
if (/^\/\w:/.test(path)) {
|
|
90
|
+
// Windows absolute path
|
|
91
|
+
// For some reason, the URL class will always add a leading slash to the pathname,
|
|
92
|
+
// even for Windows paths. So we need to remove it.
|
|
93
|
+
path = path.slice(1);
|
|
109
94
|
}
|
|
95
|
+
console.log('[DenoVM] Allowing read for script file:', path);
|
|
96
|
+
// Allow read access to the script file.
|
|
97
|
+
permissions.allowRead = [path];
|
|
110
98
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
99
|
+
else {
|
|
100
|
+
console.log('[DenoVM] Allowing read for script host:', this._script.host);
|
|
101
|
+
extraFlags.push(`--allow-import=${this._script.host}`);
|
|
114
102
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
103
|
+
}
|
|
104
|
+
const workerOptions = {
|
|
105
|
+
...(this._workerOptions || {}),
|
|
106
|
+
logStderr: debug,
|
|
107
|
+
logStdout: debug,
|
|
108
|
+
permissions,
|
|
109
|
+
denoExtraFlags: extraFlags,
|
|
110
|
+
};
|
|
111
|
+
if (this.denoExecutable) {
|
|
112
|
+
workerOptions.denoExecutable = this.denoExecutable;
|
|
113
|
+
}
|
|
114
|
+
this._worker = new DenoWorker(this._script, workerOptions);
|
|
115
|
+
this._connectionStateChanged.next({
|
|
116
|
+
type: 'progress',
|
|
117
|
+
message: 'Creating VM...',
|
|
118
|
+
progress: 0.2,
|
|
119
|
+
});
|
|
120
|
+
console.log('[DenoVM] Waiting for init...');
|
|
121
|
+
await waitForInit(this._worker);
|
|
122
|
+
this._worker.stderr.on('data', (data) => {
|
|
123
|
+
this._onLogs.next([data]);
|
|
124
|
+
});
|
|
125
|
+
this._worker.stdout.on('data', (data) => {
|
|
126
|
+
this._onLogs.next([data]);
|
|
127
|
+
});
|
|
128
|
+
const [seconds, nanoseconds] = process.hrtime(startTime);
|
|
129
|
+
console.log('[DenoVM] Process startup took %d seconds and %d miliseconds', seconds, nanoseconds / 1000000);
|
|
130
|
+
console.log('[DenoVM] Creating VM...');
|
|
131
|
+
let workerID = workerCount + 1;
|
|
132
|
+
workerCount += 1;
|
|
133
|
+
if (!debug) {
|
|
134
|
+
this._worker.stdout.setEncoding('utf-8');
|
|
135
|
+
this._worker.stdout.on('data', (data) => {
|
|
136
|
+
let lines = data.split('\n');
|
|
137
|
+
let prefixed = lines
|
|
138
|
+
.filter((line) => line.length > 0)
|
|
139
|
+
.map((line) => `[deno${workerID}] ` + line);
|
|
140
|
+
let combined = prefixed.join('\n');
|
|
141
|
+
console.log(combined);
|
|
120
142
|
});
|
|
121
|
-
|
|
122
|
-
yield waitForInit(this._worker);
|
|
143
|
+
this._worker.stderr.setEncoding('utf-8');
|
|
123
144
|
this._worker.stderr.on('data', (data) => {
|
|
124
|
-
|
|
145
|
+
let lines = data.split('\n');
|
|
146
|
+
let prefixed = lines
|
|
147
|
+
.filter((line) => line.length > 0)
|
|
148
|
+
.map((line) => `[deno${workerID}] ` + line);
|
|
149
|
+
let combined = prefixed.join('\n');
|
|
150
|
+
console.log(combined);
|
|
125
151
|
});
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
console.log('[DenoVM] Creating VM...');
|
|
132
|
-
let workerID = workerCount + 1;
|
|
133
|
-
workerCount += 1;
|
|
134
|
-
if (!debug) {
|
|
135
|
-
this._worker.stdout.setEncoding('utf-8');
|
|
136
|
-
this._worker.stdout.on('data', (data) => {
|
|
137
|
-
let lines = data.split('\n');
|
|
138
|
-
let prefixed = lines
|
|
139
|
-
.filter((line) => line.length > 0)
|
|
140
|
-
.map((line) => `[deno${workerID}] ` + line);
|
|
141
|
-
let combined = prefixed.join('\n');
|
|
142
|
-
console.log(combined);
|
|
143
|
-
});
|
|
144
|
-
this._worker.stderr.setEncoding('utf-8');
|
|
145
|
-
this._worker.stderr.on('data', (data) => {
|
|
146
|
-
let lines = data.split('\n');
|
|
147
|
-
let prefixed = lines
|
|
148
|
-
.filter((line) => line.length > 0)
|
|
149
|
-
.map((line) => `[deno${workerID}] ` + line);
|
|
150
|
-
let combined = prefixed.join('\n');
|
|
151
|
-
console.log(combined);
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
const wrapper = wrap(this._worker);
|
|
155
|
-
this._proxy = yield new wrapper(null, this._config);
|
|
156
|
-
let statusMapper = remapProgressPercent(0.2, 1);
|
|
157
|
-
return yield this._proxy.initAndWait(proxy((events) => this._localEvents.next(events)), proxy((events) => this._deviceEvents.next(events)), proxy((state) => this._stateUpdated.next(state)), proxy((version) => this._versionUpdated.next(version)), proxy((state) => this._connectionStateChanged.next(statusMapper(state))), proxy((err) => this._onError.next(err)), proxy((channel) => this._handleAddedSubChannel(channel)), proxy((id) => this._handleRemovedSubChannel(id)), proxy((message) => this._onAuthMessage.next(message)));
|
|
158
|
-
});
|
|
152
|
+
}
|
|
153
|
+
const wrapper = wrap(this._worker);
|
|
154
|
+
this._proxy = await new wrapper(null, this._config);
|
|
155
|
+
let statusMapper = remapProgressPercent(0.2, 1);
|
|
156
|
+
return await this._proxy.initAndWait(proxy((events) => this._localEvents.next(events)), proxy((events) => this._deviceEvents.next(events)), proxy((state) => this._stateUpdated.next(state)), proxy((version) => this._versionUpdated.next(version)), proxy((state) => this._connectionStateChanged.next(statusMapper(state))), proxy((err) => this._onError.next(err)), proxy((channel) => this._handleAddedSubChannel(channel)), proxy((id) => this._handleRemovedSubChannel(id)), proxy((message) => this._onAuthMessage.next(message)));
|
|
159
157
|
}
|
|
160
158
|
/**
|
|
161
159
|
* The observable list of events that should be produced locally.
|
|
@@ -179,12 +177,10 @@ export class DenoVM {
|
|
|
179
177
|
* Sends the given list of events to the simulation.
|
|
180
178
|
* @param events The events to send to the simulation.
|
|
181
179
|
*/
|
|
182
|
-
sendEvents(events) {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
return yield this._proxy.sendEvents(events);
|
|
187
|
-
});
|
|
180
|
+
async sendEvents(events) {
|
|
181
|
+
if (!this._proxy)
|
|
182
|
+
return null;
|
|
183
|
+
return await this._proxy.sendEvents(events);
|
|
188
184
|
}
|
|
189
185
|
/**
|
|
190
186
|
* Executes a shout with the given event name on the given bot IDs with the given argument.
|
|
@@ -194,57 +190,43 @@ export class DenoVM {
|
|
|
194
190
|
* @param botIds The IDs of the bots that the shout is being sent to.
|
|
195
191
|
* @param arg The argument to include in the shout.
|
|
196
192
|
*/
|
|
197
|
-
shout(eventName, botIds, arg) {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
return yield this._proxy.shout(eventName, botIds, arg);
|
|
202
|
-
});
|
|
193
|
+
async shout(eventName, botIds, arg) {
|
|
194
|
+
if (!this._proxy)
|
|
195
|
+
return null;
|
|
196
|
+
return await this._proxy.shout(eventName, botIds, arg);
|
|
203
197
|
}
|
|
204
|
-
formulaBatch(formulas) {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
return yield this._proxy.formulaBatch(formulas);
|
|
209
|
-
});
|
|
198
|
+
async formulaBatch(formulas) {
|
|
199
|
+
if (!this._proxy)
|
|
200
|
+
return null;
|
|
201
|
+
return await this._proxy.formulaBatch(formulas);
|
|
210
202
|
}
|
|
211
|
-
forkAux(newId) {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
return yield this._proxy.forkAux(newId);
|
|
216
|
-
});
|
|
203
|
+
async forkAux(newId) {
|
|
204
|
+
if (!this._proxy)
|
|
205
|
+
return null;
|
|
206
|
+
return await this._proxy.forkAux(newId);
|
|
217
207
|
}
|
|
218
|
-
exportBots(botIds) {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
return yield this._proxy.exportBots(botIds);
|
|
223
|
-
});
|
|
208
|
+
async exportBots(botIds) {
|
|
209
|
+
if (!this._proxy)
|
|
210
|
+
return null;
|
|
211
|
+
return await this._proxy.exportBots(botIds);
|
|
224
212
|
}
|
|
225
213
|
/**
|
|
226
214
|
* Exports the causal tree for the simulation.
|
|
227
215
|
*/
|
|
228
|
-
export() {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
return yield this._proxy.export();
|
|
233
|
-
});
|
|
216
|
+
async export() {
|
|
217
|
+
if (!this._proxy)
|
|
218
|
+
return null;
|
|
219
|
+
return await this._proxy.export();
|
|
234
220
|
}
|
|
235
|
-
getTags() {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
return yield this._proxy.getTags();
|
|
240
|
-
});
|
|
221
|
+
async getTags() {
|
|
222
|
+
if (!this._proxy)
|
|
223
|
+
return null;
|
|
224
|
+
return await this._proxy.getTags();
|
|
241
225
|
}
|
|
242
|
-
updateDevice(device) {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
return yield this._proxy.updateDevice(device);
|
|
247
|
-
});
|
|
226
|
+
async updateDevice(device) {
|
|
227
|
+
if (!this._proxy)
|
|
228
|
+
return null;
|
|
229
|
+
return await this._proxy.updateDevice(device);
|
|
248
230
|
}
|
|
249
231
|
sendAuthMessage(message) {
|
|
250
232
|
return this._proxy.sendAuthMessage(message);
|
|
@@ -274,27 +256,23 @@ export class DenoVM {
|
|
|
274
256
|
_createSubVM(id, origin, configBotId, channel) {
|
|
275
257
|
return new RemoteAuxVM(id, origin, configBotId, channel);
|
|
276
258
|
}
|
|
277
|
-
_handleAddedSubChannel(subChannel) {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
this._subVMAdded.next(subVM);
|
|
288
|
-
});
|
|
259
|
+
async _handleAddedSubChannel(subChannel) {
|
|
260
|
+
const { id, configBotId } = await subChannel.getInfo();
|
|
261
|
+
const channel = (await subChannel.getChannel());
|
|
262
|
+
const subVM = {
|
|
263
|
+
id,
|
|
264
|
+
vm: this._createSubVM(id, this.origin, configBotId, channel),
|
|
265
|
+
channel,
|
|
266
|
+
};
|
|
267
|
+
this._subVMMap.set(id, subVM);
|
|
268
|
+
this._subVMAdded.next(subVM);
|
|
289
269
|
}
|
|
290
|
-
_handleRemovedSubChannel(channelId) {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
}
|
|
297
|
-
});
|
|
270
|
+
async _handleRemovedSubChannel(channelId) {
|
|
271
|
+
const vm = this._subVMMap.get(channelId);
|
|
272
|
+
if (vm) {
|
|
273
|
+
this._subVMMap.delete(channelId);
|
|
274
|
+
this._subVMRemoved.next(vm);
|
|
275
|
+
}
|
|
298
276
|
}
|
|
299
277
|
}
|
|
300
278
|
function waitForInit(worker) {
|
package/vm/DenoVM.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DenoVM.js","sourceRoot":"","sources":["DenoVM.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DenoVM.js","sourceRoot":"","sources":["DenoVM.ts"],"names":[],"mappings":"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"}
|