@dodona/papyros 2.3.0-beta.3 → 2.3.0-beta.5
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/dist/CodeRunner.js
CHANGED
|
@@ -1,3 +1,37 @@
|
|
|
1
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
2
|
+
var useValue = arguments.length > 2;
|
|
3
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
4
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
5
|
+
}
|
|
6
|
+
return useValue ? value : void 0;
|
|
7
|
+
};
|
|
8
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
9
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
10
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
11
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
12
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
13
|
+
var _, done = false;
|
|
14
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
15
|
+
var context = {};
|
|
16
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
17
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
18
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
19
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
20
|
+
if (kind === "accessor") {
|
|
21
|
+
if (result === void 0) continue;
|
|
22
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
23
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
24
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
25
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
26
|
+
}
|
|
27
|
+
else if (_ = accept(result)) {
|
|
28
|
+
if (kind === "field") initializers.unshift(_);
|
|
29
|
+
else descriptor[key] = _;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
|
+
done = true;
|
|
34
|
+
};
|
|
1
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -56,287 +90,312 @@ class ButtonArray extends Array {
|
|
|
56
90
|
}
|
|
57
91
|
}
|
|
58
92
|
}
|
|
93
|
+
/*
|
|
94
|
+
* class function decorator that adds a delay,
|
|
95
|
+
* so that the function is only called after the delay has passed
|
|
96
|
+
*
|
|
97
|
+
* If it is called again before the delay has passed, the previous call is cancelled
|
|
98
|
+
*/
|
|
99
|
+
function delay(delay) {
|
|
100
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
101
|
+
return function (original, context) {
|
|
102
|
+
let timeout;
|
|
103
|
+
return function (...args) {
|
|
104
|
+
clearTimeout(timeout);
|
|
105
|
+
timeout = setTimeout(() => original.apply(this, args), delay);
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
}
|
|
59
109
|
/**
|
|
60
110
|
* Helper component to manage and visualize the current RunState
|
|
61
111
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
112
|
+
let CodeRunner = (() => {
|
|
113
|
+
var _a;
|
|
114
|
+
let _classSuper = Renderable;
|
|
115
|
+
let _instanceExtraInitializers = [];
|
|
116
|
+
let _renderButtons_decorators;
|
|
117
|
+
return _a = class CodeRunner extends _classSuper {
|
|
118
|
+
/**
|
|
119
|
+
* Construct a new RunStateManager with the given listeners
|
|
120
|
+
* @param {ProgrammingLanguage} programmingLanguage The language to use
|
|
121
|
+
* @param {InputMode} inputMode The input mode to use
|
|
122
|
+
*/
|
|
123
|
+
constructor(programmingLanguage, inputMode) {
|
|
124
|
+
super();
|
|
125
|
+
/**
|
|
126
|
+
* The currently used programming language
|
|
127
|
+
*/
|
|
128
|
+
this.programmingLanguage = (__runInitializers(this, _instanceExtraInitializers), void 0);
|
|
129
|
+
// True while running or viewing with debugger
|
|
130
|
+
this._debugMode = false;
|
|
131
|
+
this.programmingLanguage = programmingLanguage;
|
|
132
|
+
this.editor = new CodeEditor(() => {
|
|
133
|
+
if (this.state === RunState.Ready) {
|
|
134
|
+
this.runCode();
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
this.inputManager = new InputManager((input) => __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
const backend = yield this.backend;
|
|
139
|
+
backend.writeMessage(input);
|
|
140
|
+
this.setState(RunState.Running);
|
|
141
|
+
}), inputMode);
|
|
142
|
+
this.outputManager = new OutputManager();
|
|
143
|
+
this.backend = Promise.resolve({});
|
|
144
|
+
this.userButtons = new ButtonArray();
|
|
145
|
+
this.runButtons = new ButtonArray();
|
|
146
|
+
this.updateRunButtons([RunMode.Debug]);
|
|
147
|
+
this.editor.onChange({
|
|
148
|
+
onChange: (code) => __awaiter(this, void 0, void 0, function* () {
|
|
149
|
+
const backend = yield this.backend;
|
|
150
|
+
const modes = yield backend.workerProxy.runModes(code);
|
|
151
|
+
this.updateRunButtons(modes);
|
|
152
|
+
this.renderButtons();
|
|
153
|
+
}),
|
|
154
|
+
delay: DEFAULT_EDITOR_DELAY
|
|
155
|
+
});
|
|
156
|
+
BackendManager.subscribe(BackendEventType.Input, () => this.setState(RunState.AwaitingInput));
|
|
157
|
+
this.loadingPackages = [];
|
|
158
|
+
BackendManager.subscribe(BackendEventType.Loading, e => this.onLoad(e));
|
|
159
|
+
BackendManager.subscribe(BackendEventType.Start, e => this.onStart(e));
|
|
160
|
+
BackendManager.subscribe(BackendEventType.Stop, () => this.stop());
|
|
161
|
+
this.previousState = RunState.Ready;
|
|
162
|
+
this.runStartTime = new Date().getTime();
|
|
163
|
+
this.state = RunState.Ready;
|
|
164
|
+
this.traceViewer = new Debugger();
|
|
76
165
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
const backend = yield this.backend;
|
|
80
|
-
backend.writeMessage(input);
|
|
81
|
-
this.setState(RunState.Running);
|
|
82
|
-
}), inputMode);
|
|
83
|
-
this.outputManager = new OutputManager();
|
|
84
|
-
this.backend = Promise.resolve({});
|
|
85
|
-
this.userButtons = new ButtonArray();
|
|
86
|
-
this.runButtons = new ButtonArray();
|
|
87
|
-
this.updateRunButtons([RunMode.Debug]);
|
|
88
|
-
this.editor.onChange({
|
|
89
|
-
onChange: (code) => __awaiter(this, void 0, void 0, function* () {
|
|
90
|
-
const backend = yield this.backend;
|
|
91
|
-
const modes = yield backend.workerProxy.runModes(code);
|
|
92
|
-
this.updateRunButtons(modes);
|
|
166
|
+
set debugMode(debugMode) {
|
|
167
|
+
this._debugMode = debugMode;
|
|
93
168
|
this.renderButtons();
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
set debugMode(debugMode) {
|
|
108
|
-
this._debugMode = debugMode;
|
|
109
|
-
this.renderButtons();
|
|
110
|
-
if (this.inputManager.getInputMode() === InputMode.Batch) {
|
|
111
|
-
const handler = this.inputManager.inputHandler;
|
|
112
|
-
handler.debugMode = debugMode;
|
|
113
|
-
}
|
|
114
|
-
this.outputManager.debugMode = debugMode;
|
|
115
|
-
this.editor.debugMode = debugMode;
|
|
116
|
-
if (!this._debugMode) {
|
|
117
|
-
this.traceViewer.reset();
|
|
118
|
-
this.outputManager.reset();
|
|
119
|
-
this.inputManager.inputHandler.reset();
|
|
120
|
-
}
|
|
121
|
-
this.dispatchEvent(new CustomEvent("debug-mode", { detail: debugMode }));
|
|
122
|
-
}
|
|
123
|
-
get debugMode() {
|
|
124
|
-
return this._debugMode;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Stops the current run and resets the state of the program
|
|
128
|
-
* Regular and debug output is cleared
|
|
129
|
-
* @return {Promise<void>} Returns when the program has been reset
|
|
130
|
-
*/
|
|
131
|
-
reset() {
|
|
132
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
-
if (![RunState.Ready, RunState.Loading].includes(this.state)) {
|
|
134
|
-
yield this.stop();
|
|
169
|
+
if (this.inputManager.getInputMode() === InputMode.Batch) {
|
|
170
|
+
const handler = this.inputManager.inputHandler;
|
|
171
|
+
handler.debugMode = debugMode;
|
|
172
|
+
}
|
|
173
|
+
this.outputManager.debugMode = debugMode;
|
|
174
|
+
this.editor.debugMode = debugMode;
|
|
175
|
+
if (!this._debugMode) {
|
|
176
|
+
this.traceViewer.reset();
|
|
177
|
+
this.outputManager.reset();
|
|
178
|
+
this.inputManager.inputHandler.reset();
|
|
179
|
+
}
|
|
180
|
+
this.dispatchEvent(new CustomEvent("debug-mode", { detail: debugMode }));
|
|
135
181
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
182
|
+
get debugMode() {
|
|
183
|
+
return this._debugMode;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Stops the current run and resets the state of the program
|
|
187
|
+
* Regular and debug output is cleared
|
|
188
|
+
* @return {Promise<void>} Returns when the program has been reset
|
|
189
|
+
*/
|
|
190
|
+
reset() {
|
|
191
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
192
|
+
if (![RunState.Ready, RunState.Loading].includes(this.state)) {
|
|
193
|
+
yield this.stop();
|
|
194
|
+
}
|
|
195
|
+
this.debugMode = false;
|
|
196
|
+
this.inputManager.inputHandler.reset();
|
|
197
|
+
this.outputManager.reset();
|
|
198
|
+
this.traceViewer.reset();
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
updateRunButtons(modes) {
|
|
202
|
+
this.runButtons = new ButtonArray();
|
|
203
|
+
this.addRunButton(RunMode.Run, "btn-primary");
|
|
204
|
+
modes.forEach(m => this.addRunButton(m));
|
|
205
|
+
}
|
|
206
|
+
addRunButton(mode, classNames = "btn-secondary") {
|
|
207
|
+
const id = addPapyrosPrefix(mode) + "-code-btn";
|
|
208
|
+
this.runButtons.add({
|
|
209
|
+
id: id,
|
|
210
|
+
buttonText: t(`Papyros.run_modes.${mode}`),
|
|
211
|
+
classNames,
|
|
212
|
+
icon: MODE_ICONS[mode]
|
|
213
|
+
}, () => this.runCode(mode));
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Start the backend to enable running code
|
|
217
|
+
*/
|
|
218
|
+
start() {
|
|
219
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
220
|
+
this.setState(RunState.Loading);
|
|
221
|
+
const backend = BackendManager.getBackend(this.programmingLanguage);
|
|
222
|
+
this.editor.setProgrammingLanguage(this.programmingLanguage);
|
|
223
|
+
// Use a Promise to immediately enable running while downloading
|
|
224
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
225
|
+
this.backend = new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
226
|
+
const workerProxy = backend.workerProxy;
|
|
227
|
+
yield workerProxy
|
|
228
|
+
// Allow passing messages between worker and main thread
|
|
229
|
+
.launch(proxy((e) => BackendManager.publish(e)), proxy(() => {
|
|
230
|
+
this.outputManager.onOverflow(null);
|
|
231
|
+
}));
|
|
232
|
+
this.editor.setLintingSource((view) => __awaiter(this, void 0, void 0, function* () {
|
|
233
|
+
const workerDiagnostics = yield workerProxy.lintCode(this.editor.getCode());
|
|
234
|
+
return workerDiagnostics.map(d => {
|
|
235
|
+
const fromline = view.state.doc.line(d.lineNr);
|
|
236
|
+
const toLine = view.state.doc.line(d.endLineNr);
|
|
237
|
+
const from = Math.min(fromline.from + d.columnNr, fromline.to);
|
|
238
|
+
const to = Math.min(toLine.from + d.endColumnNr, toLine.to);
|
|
239
|
+
return Object.assign(Object.assign({}, d), { from: from, to: to });
|
|
240
|
+
});
|
|
241
|
+
}));
|
|
242
|
+
return resolve(backend);
|
|
243
|
+
}));
|
|
244
|
+
this.editor.focus();
|
|
245
|
+
this.setState(RunState.Ready);
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Interrupt the currently running code
|
|
250
|
+
* @return {Promise<void>} Returns when the code has been interrupted
|
|
251
|
+
*/
|
|
252
|
+
stop() {
|
|
253
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
254
|
+
this.setState(RunState.Stopping);
|
|
255
|
+
BackendManager.publish({
|
|
256
|
+
type: BackendEventType.End,
|
|
257
|
+
data: "User cancelled run", contentType: "text/plain"
|
|
181
258
|
});
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Interrupt the currently running code
|
|
191
|
-
* @return {Promise<void>} Returns when the code has been interrupted
|
|
192
|
-
*/
|
|
193
|
-
stop() {
|
|
194
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
195
|
-
this.setState(RunState.Stopping);
|
|
196
|
-
BackendManager.publish({
|
|
197
|
-
type: BackendEventType.End,
|
|
198
|
-
data: "User cancelled run", contentType: "text/plain"
|
|
199
|
-
});
|
|
200
|
-
const backend = yield this.backend;
|
|
201
|
-
yield backend.interrupt();
|
|
202
|
-
while (this.state === RunState.Stopping) {
|
|
203
|
-
yield new Promise(resolve => setTimeout(resolve, 100));
|
|
259
|
+
const backend = yield this.backend;
|
|
260
|
+
yield backend.interrupt();
|
|
261
|
+
while (this.state === RunState.Stopping) {
|
|
262
|
+
yield new Promise(resolve => setTimeout(resolve, 100));
|
|
263
|
+
}
|
|
264
|
+
});
|
|
204
265
|
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
266
|
+
/**
|
|
267
|
+
* Set the used programming language to the given one to allow editing and running code
|
|
268
|
+
* @param {ProgrammingLanguage} programmingLanguage The language to use
|
|
269
|
+
*/
|
|
270
|
+
setProgrammingLanguage(programmingLanguage) {
|
|
271
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
272
|
+
if (this.programmingLanguage !== programmingLanguage) { // Expensive, so ensure it is needed
|
|
273
|
+
yield this.backend.then(b => b.interrupt());
|
|
274
|
+
this.programmingLanguage = programmingLanguage;
|
|
275
|
+
yield this.start();
|
|
276
|
+
}
|
|
277
|
+
});
|
|
217
278
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
279
|
+
provideFiles(inlinedFiles, hrefFiles) {
|
|
280
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
281
|
+
const fileNames = [...Object.keys(inlinedFiles), ...Object.keys(hrefFiles)];
|
|
282
|
+
if (fileNames.length === 0) {
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
BackendManager.publish({ type: BackendEventType.Loading, data: JSON.stringify({
|
|
286
|
+
modules: fileNames,
|
|
287
|
+
status: "loading"
|
|
288
|
+
}) });
|
|
289
|
+
const backend = yield this.backend;
|
|
290
|
+
yield backend.workerProxy.provideFiles(inlinedFiles, hrefFiles);
|
|
291
|
+
});
|
|
225
292
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
yield backend.workerProxy.provideFiles(inlinedFiles, hrefFiles);
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* @return {ProgrammingLanguage} The current programming language
|
|
236
|
-
*/
|
|
237
|
-
getProgrammingLanguage() {
|
|
238
|
-
return this.programmingLanguage;
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Show or hide the spinning circle, representing a running animation
|
|
242
|
-
* @param {boolean} show Whether to show the spinner
|
|
243
|
-
*/
|
|
244
|
-
showSpinner(show) {
|
|
245
|
-
getElement(STATE_SPINNER_ID).style.display = show ? "" : "none";
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Show the current state of the program to the user
|
|
249
|
-
* @param {RunState} state The current state of the run
|
|
250
|
-
* @param {string} message Optional message to indicate the state
|
|
251
|
-
*/
|
|
252
|
-
setState(state, message) {
|
|
253
|
-
var _a;
|
|
254
|
-
const stateElement = getElement(APPLICATION_STATE_TEXT_ID);
|
|
255
|
-
stateElement.innerText = message || t(`Papyros.states.${state}`);
|
|
256
|
-
(_a = stateElement.parentElement) === null || _a === void 0 ? void 0 : _a.classList.toggle("show", stateElement.innerText.length > 0);
|
|
257
|
-
if (state !== this.state) {
|
|
258
|
-
this.previousState = this.state;
|
|
259
|
-
this.state = state;
|
|
260
|
-
}
|
|
261
|
-
this.showSpinner(this.state !== RunState.Ready);
|
|
262
|
-
this.renderButtons();
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* @return {RunState} The state of the current run
|
|
266
|
-
*/
|
|
267
|
-
getState() {
|
|
268
|
-
return this.state;
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Remove a button from the internal button list. Requires a re-render to update
|
|
272
|
-
* @param {string} id Identifier of the button to remove
|
|
273
|
-
*/
|
|
274
|
-
removeButton(id) {
|
|
275
|
-
this.userButtons.remove(id);
|
|
276
|
-
this.renderButtons(this.userButtons, CODE_BUTTONS_WRAPPER_ID);
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Add a button to display to the user
|
|
280
|
-
* @param {ButtonOptions} options Options for rendering the button
|
|
281
|
-
* @param {function} onClick Listener for click events on the button
|
|
282
|
-
*/
|
|
283
|
-
addButton(options, onClick) {
|
|
284
|
-
this.userButtons.add(options, onClick);
|
|
285
|
-
this.renderButtons(this.userButtons, CODE_BUTTONS_WRAPPER_ID);
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* Generate a button that the user can click to process code
|
|
289
|
-
* Can either run the code or interrupt it if already running
|
|
290
|
-
* @return {DynamicButton} A list of buttons to interact with the code according to the current state
|
|
291
|
-
*/
|
|
292
|
-
getCodeActionButtons() {
|
|
293
|
-
if ([RunState.Ready, RunState.Loading].includes(this.state)) {
|
|
294
|
-
if (this.debugMode) {
|
|
295
|
-
return [{
|
|
296
|
-
id: "stop-debug-btn",
|
|
297
|
-
buttonHTML: renderButton({
|
|
298
|
-
id: "stop-debug-btn",
|
|
299
|
-
buttonText: t("Papyros.debug.stop"),
|
|
300
|
-
classNames: "btn-secondary",
|
|
301
|
-
icon: DEBUG_STOP_ICON
|
|
302
|
-
}),
|
|
303
|
-
onClick: () => this.debugMode = false
|
|
304
|
-
}];
|
|
293
|
+
/**
|
|
294
|
+
* @return {ProgrammingLanguage} The current programming language
|
|
295
|
+
*/
|
|
296
|
+
getProgrammingLanguage() {
|
|
297
|
+
return this.programmingLanguage;
|
|
305
298
|
}
|
|
306
|
-
|
|
307
|
-
|
|
299
|
+
/**
|
|
300
|
+
* Show or hide the spinning circle, representing a running animation
|
|
301
|
+
* @param {boolean} show Whether to show the spinner
|
|
302
|
+
*/
|
|
303
|
+
showSpinner(show) {
|
|
304
|
+
getElement(STATE_SPINNER_ID).style.display = show ? "" : "none";
|
|
308
305
|
}
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
306
|
+
/**
|
|
307
|
+
* Show the current state of the program to the user
|
|
308
|
+
* @param {RunState} state The current state of the run
|
|
309
|
+
* @param {string} message Optional message to indicate the state
|
|
310
|
+
*/
|
|
311
|
+
setState(state, message) {
|
|
312
|
+
var _b;
|
|
313
|
+
const stateElement = getElement(APPLICATION_STATE_TEXT_ID);
|
|
314
|
+
stateElement.innerText = message || t(`Papyros.states.${state}`);
|
|
315
|
+
(_b = stateElement.parentElement) === null || _b === void 0 ? void 0 : _b.classList.toggle("show", stateElement.innerText.length > 0);
|
|
316
|
+
if (state !== this.state) {
|
|
317
|
+
this.previousState = this.state;
|
|
318
|
+
this.state = state;
|
|
319
|
+
}
|
|
320
|
+
this.showSpinner(this.state !== RunState.Ready);
|
|
321
|
+
this.renderButtons();
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* @return {RunState} The state of the current run
|
|
325
|
+
*/
|
|
326
|
+
getState() {
|
|
327
|
+
return this.state;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Remove a button from the internal button list. Requires a re-render to update
|
|
331
|
+
* @param {string} id Identifier of the button to remove
|
|
332
|
+
*/
|
|
333
|
+
removeButton(id) {
|
|
334
|
+
this.userButtons.remove(id);
|
|
335
|
+
this.renderButtons(this.userButtons, CODE_BUTTONS_WRAPPER_ID);
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Add a button to display to the user
|
|
339
|
+
* @param {ButtonOptions} options Options for rendering the button
|
|
340
|
+
* @param {function} onClick Listener for click events on the button
|
|
341
|
+
*/
|
|
342
|
+
addButton(options, onClick) {
|
|
343
|
+
this.userButtons.add(options, onClick);
|
|
344
|
+
this.renderButtons(this.userButtons, CODE_BUTTONS_WRAPPER_ID);
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Generate a button that the user can click to process code
|
|
348
|
+
* Can either run the code or interrupt it if already running
|
|
349
|
+
* @return {DynamicButton} A list of buttons to interact with the code according to the current state
|
|
350
|
+
*/
|
|
351
|
+
getCodeActionButtons() {
|
|
352
|
+
if (this.state === RunState.Ready) {
|
|
353
|
+
if (this.debugMode) {
|
|
354
|
+
return [{
|
|
355
|
+
id: "stop-debug-btn",
|
|
356
|
+
buttonHTML: renderButton({
|
|
357
|
+
id: "stop-debug-btn",
|
|
358
|
+
buttonText: t("Papyros.debug.stop"),
|
|
359
|
+
classNames: "btn-secondary",
|
|
360
|
+
icon: DEBUG_STOP_ICON
|
|
361
|
+
}),
|
|
362
|
+
onClick: () => this.debugMode = false
|
|
363
|
+
}];
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
return this.runButtons;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
else {
|
|
370
|
+
return [{
|
|
371
|
+
id: STOP_BTN_ID,
|
|
372
|
+
buttonHTML: renderButton({
|
|
373
|
+
id: STOP_BTN_ID,
|
|
374
|
+
buttonText: t("Papyros.stop"),
|
|
375
|
+
classNames: "btn-danger",
|
|
376
|
+
icon: "<i class=\"mdi mdi-stop\"></i>"
|
|
377
|
+
}),
|
|
378
|
+
onClick: () => this.stop()
|
|
379
|
+
}];
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* Specific helper method to render only the buttons required by the user
|
|
384
|
+
* @param {DynamicButton[]} buttons The buttons to render
|
|
385
|
+
* @param {string} id The id of the element to render the buttons in
|
|
386
|
+
*/
|
|
387
|
+
renderButtons(buttons = undefined, id = RUN_BUTTONS_WRAPPER_ID) {
|
|
388
|
+
const btns = buttons || this.getCodeActionButtons();
|
|
389
|
+
getElement(id).innerHTML =
|
|
390
|
+
btns.map(b => b.buttonHTML).join("\n");
|
|
391
|
+
// Buttons are freshly added to the DOM, so attach listeners now
|
|
392
|
+
btns.forEach(b => addListener(b.id, b.onClick, "click"));
|
|
393
|
+
}
|
|
394
|
+
_render(options) {
|
|
395
|
+
appendClasses(options.statusPanelOptions,
|
|
396
|
+
// eslint-disable-next-line max-len
|
|
397
|
+
"_tw-border-solid _tw-border-gray-200 _tw-border-b-2 dark:_tw-border-dark-mode-content");
|
|
398
|
+
const rendered = renderWithOptions(options.statusPanelOptions, `
|
|
340
399
|
<div style="position: relative">
|
|
341
400
|
<div class="papyros-state-card cm-panels">
|
|
342
401
|
${renderSpinningCircle(STATE_SPINNER_ID, "_tw-border-gray-200 _tw-border-b-red-500")}
|
|
@@ -349,123 +408,133 @@ export class CodeRunner extends Renderable {
|
|
|
349
408
|
<div id="${CODE_BUTTONS_WRAPPER_ID}">
|
|
350
409
|
</div>
|
|
351
410
|
</div>`);
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
}
|
|
363
|
-
/**
|
|
364
|
-
* Execute the code in the editor
|
|
365
|
-
* @param {RunMode} mode The mode to run with
|
|
366
|
-
* @return {Promise<void>} Promise of running the code
|
|
367
|
-
*/
|
|
368
|
-
runCode(mode) {
|
|
369
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
370
|
-
this.debugMode = mode === RunMode.Debug;
|
|
371
|
-
const code = this.editor.getCode();
|
|
372
|
-
// Setup pre-run
|
|
373
|
-
this.setState(RunState.Loading);
|
|
374
|
-
// Ensure we go back to Loading after finishing any remaining installs
|
|
375
|
-
this.previousState = RunState.Loading;
|
|
376
|
-
BackendManager.publish({
|
|
377
|
-
type: BackendEventType.Start,
|
|
378
|
-
data: "StartClicked", contentType: "text/plain"
|
|
379
|
-
});
|
|
380
|
-
let interrupted = false;
|
|
381
|
-
let terminated = false;
|
|
382
|
-
const backend = yield this.backend;
|
|
383
|
-
this.runStartTime = new Date().getTime();
|
|
384
|
-
try {
|
|
385
|
-
yield backend.call(backend.workerProxy.runCode, code, mode);
|
|
411
|
+
this.setState(this.state);
|
|
412
|
+
this.renderButtons(this.userButtons, CODE_BUTTONS_WRAPPER_ID);
|
|
413
|
+
this.inputManager.render(options.inputOptions);
|
|
414
|
+
this.outputManager.render(options.outputOptions);
|
|
415
|
+
this.editor.render(options.codeEditorOptions);
|
|
416
|
+
this.editor.setPanel(rendered);
|
|
417
|
+
// Set language again to update the placeholder
|
|
418
|
+
this.editor.setProgrammingLanguage(this.programmingLanguage);
|
|
419
|
+
this.traceViewer.render(options.traceOptions);
|
|
420
|
+
return rendered;
|
|
386
421
|
}
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
422
|
+
/**
|
|
423
|
+
* Execute the code in the editor
|
|
424
|
+
* @param {RunMode} mode The mode to run with
|
|
425
|
+
* @return {Promise<void>} Promise of running the code
|
|
426
|
+
*/
|
|
427
|
+
runCode(mode) {
|
|
428
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
429
|
+
this.debugMode = mode === RunMode.Debug;
|
|
430
|
+
const code = this.editor.getCode();
|
|
431
|
+
// Setup pre-run
|
|
432
|
+
this.setState(RunState.Loading);
|
|
433
|
+
// Ensure we go back to Loading after finishing any remaining installs
|
|
434
|
+
this.previousState = RunState.Loading;
|
|
394
435
|
BackendManager.publish({
|
|
395
|
-
type: BackendEventType.
|
|
396
|
-
data:
|
|
397
|
-
contentType: "text/json"
|
|
436
|
+
type: BackendEventType.Start,
|
|
437
|
+
data: "StartClicked", contentType: "text/plain"
|
|
398
438
|
});
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
439
|
+
let interrupted = false;
|
|
440
|
+
let terminated = false;
|
|
441
|
+
const backend = yield this.backend;
|
|
442
|
+
this.runStartTime = new Date().getTime();
|
|
443
|
+
try {
|
|
444
|
+
yield backend.call(backend.workerProxy.runCode, code, mode);
|
|
445
|
+
}
|
|
446
|
+
catch (error) {
|
|
447
|
+
if (error.type === "InterruptError") {
|
|
448
|
+
// Error signaling forceful interrupt
|
|
449
|
+
interrupted = true;
|
|
450
|
+
terminated = true;
|
|
451
|
+
}
|
|
452
|
+
else {
|
|
453
|
+
BackendManager.publish({
|
|
454
|
+
type: BackendEventType.Error,
|
|
455
|
+
data: JSON.stringify(error),
|
|
456
|
+
contentType: "text/json"
|
|
457
|
+
});
|
|
458
|
+
BackendManager.publish({
|
|
459
|
+
type: BackendEventType.End,
|
|
460
|
+
data: "RunError", contentType: "text/plain"
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
finally {
|
|
465
|
+
if (this.state === RunState.Stopping) {
|
|
466
|
+
// Was interrupted, End message already published
|
|
467
|
+
interrupted = true;
|
|
468
|
+
}
|
|
469
|
+
if (terminated) {
|
|
470
|
+
yield this.start();
|
|
471
|
+
}
|
|
472
|
+
else if (yield backend.workerProxy.hasOverflow()) {
|
|
473
|
+
this.outputManager.onOverflow(() => __awaiter(this, void 0, void 0, function* () {
|
|
474
|
+
const backend = yield this.backend;
|
|
475
|
+
const overflowResults = (yield backend.workerProxy.getOverflow())
|
|
476
|
+
.map(e => e.data).join("");
|
|
477
|
+
downloadResults(overflowResults, "overflow-results.txt");
|
|
478
|
+
}));
|
|
479
|
+
}
|
|
480
|
+
this.setState(RunState.Ready, t(interrupted ? "Papyros.interrupted" : "Papyros.finished", { time: (new Date().getTime() - this.runStartTime) / 1000 }));
|
|
481
|
+
}
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* Callback to handle loading events
|
|
486
|
+
* @param {BackendEvent} e The loading event
|
|
487
|
+
*/
|
|
488
|
+
onLoad(e) {
|
|
489
|
+
const loadingData = parseData(e.data, e.contentType);
|
|
490
|
+
if (loadingData.status === "loading") {
|
|
491
|
+
loadingData.modules.forEach(m => {
|
|
492
|
+
if (!this.loadingPackages.includes(m)) {
|
|
493
|
+
this.loadingPackages.push(m);
|
|
494
|
+
}
|
|
402
495
|
});
|
|
403
496
|
}
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
497
|
+
else if (loadingData.status === "loaded") {
|
|
498
|
+
loadingData.modules.forEach(m => {
|
|
499
|
+
const index = this.loadingPackages.indexOf(m);
|
|
500
|
+
if (index !== -1) {
|
|
501
|
+
this.loadingPackages.splice(index, 1);
|
|
502
|
+
}
|
|
503
|
+
});
|
|
409
504
|
}
|
|
410
|
-
|
|
411
|
-
|
|
505
|
+
else { // failed
|
|
506
|
+
// If it is a true module, an Exception will be raised when running
|
|
507
|
+
// So this does not need to be handled here, as it is often an incomplete package-name
|
|
508
|
+
// that causes micropip to not find the correct wheel
|
|
509
|
+
this.loadingPackages = [];
|
|
412
510
|
}
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
}));
|
|
511
|
+
if (this.loadingPackages.length > 0) {
|
|
512
|
+
const packageMessage = t("Papyros.loading", {
|
|
513
|
+
// limit amount of package names shown
|
|
514
|
+
packages: this.loadingPackages.slice(0, 3).join(", ")
|
|
515
|
+
});
|
|
516
|
+
this.setState(RunState.Loading, packageMessage);
|
|
420
517
|
}
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
});
|
|
424
|
-
}
|
|
425
|
-
/**
|
|
426
|
-
* Callback to handle loading events
|
|
427
|
-
* @param {BackendEvent} e The loading event
|
|
428
|
-
*/
|
|
429
|
-
onLoad(e) {
|
|
430
|
-
const loadingData = parseData(e.data, e.contentType);
|
|
431
|
-
if (loadingData.status === "loading") {
|
|
432
|
-
loadingData.modules.forEach(m => {
|
|
433
|
-
if (!this.loadingPackages.includes(m)) {
|
|
434
|
-
this.loadingPackages.push(m);
|
|
518
|
+
else {
|
|
519
|
+
this.setState(this.previousState);
|
|
435
520
|
}
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
this.loadingPackages.splice(index, 1);
|
|
521
|
+
}
|
|
522
|
+
onStart(e) {
|
|
523
|
+
const startData = parseData(e.data, e.contentType);
|
|
524
|
+
if (startData.includes("RunCode")) {
|
|
525
|
+
this.runStartTime = new Date().getTime();
|
|
526
|
+
this.setState(RunState.Running);
|
|
443
527
|
}
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
});
|
|
457
|
-
this.setState(RunState.Loading, packageMessage);
|
|
458
|
-
}
|
|
459
|
-
else {
|
|
460
|
-
this.setState(this.previousState);
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
onStart(e) {
|
|
464
|
-
const startData = parseData(e.data, e.contentType);
|
|
465
|
-
if (startData.includes("RunCode")) {
|
|
466
|
-
this.runStartTime = new Date().getTime();
|
|
467
|
-
this.setState(RunState.Running);
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
}
|
|
528
|
+
}
|
|
529
|
+
},
|
|
530
|
+
(() => {
|
|
531
|
+
var _b;
|
|
532
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create((_b = _classSuper[Symbol.metadata]) !== null && _b !== void 0 ? _b : null) : void 0;
|
|
533
|
+
_renderButtons_decorators = [delay(100)];
|
|
534
|
+
__esDecorate(_a, null, _renderButtons_decorators, { kind: "method", name: "renderButtons", static: false, private: false, access: { has: obj => "renderButtons" in obj, get: obj => obj.renderButtons }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
535
|
+
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
536
|
+
})(),
|
|
537
|
+
_a;
|
|
538
|
+
})();
|
|
539
|
+
export { CodeRunner };
|
|
471
540
|
//# sourceMappingURL=CodeRunner.js.map
|
package/dist/CodeRunner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeRunner.js","sourceRoot":"","sources":["../src/CodeRunner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CodeRunner.js","sourceRoot":"","sources":["../src/CodeRunner.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dodona/papyros",
|
|
3
|
-
"version": "2.3.0-beta.
|
|
3
|
+
"version": "2.3.0-beta.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"homepage": ".",
|
|
6
6
|
"devDependencies": {
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"@types/i18n-js": "^3.8.9",
|
|
9
9
|
"@types/jest": "^29.5.10",
|
|
10
10
|
"@types/serviceworker": "^0.0.83",
|
|
11
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
12
|
-
"@typescript-eslint/parser": "^
|
|
11
|
+
"@typescript-eslint/eslint-plugin": "^7.0.1",
|
|
12
|
+
"@typescript-eslint/parser": "^7.0.1",
|
|
13
13
|
"autoprefixer": "^10.4.16",
|
|
14
14
|
"css-loader": "^6.8.1",
|
|
15
15
|
"eslint": "^8.52.0",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"typescript": "^5.2.2",
|
|
31
31
|
"webpack": "^5.89.0",
|
|
32
32
|
"webpack-cli": "^5.1.4",
|
|
33
|
-
"webpack-dev-server": "^
|
|
33
|
+
"webpack-dev-server": "^5.0.2",
|
|
34
34
|
"worker-loader": "^3.0.8"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"comsync": "^0.0.9",
|
|
52
52
|
"escape-html": "^1.0.3",
|
|
53
53
|
"file-loader": "^6.2.0",
|
|
54
|
-
"i18n-js": "4.4.
|
|
54
|
+
"i18n-js": "4.4.3",
|
|
55
55
|
"pyodide": "^0.22.0",
|
|
56
56
|
"pyodide-worker-runner": "1.3.2",
|
|
57
57
|
"sync-message": "^0.0.12"
|