@dodona/papyros 3.0.2 → 4.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/README.md +133 -72
  2. package/dist/Components.d.ts +4 -0
  3. package/dist/Components.js +5 -0
  4. package/dist/Components.js.map +1 -0
  5. package/dist/Papyros.d.ts +18 -127
  6. package/dist/Papyros.js +39 -211
  7. package/dist/Papyros.js.map +1 -1
  8. package/dist/{Backend.d.ts → backend/Backend.d.ts} +3 -12
  9. package/dist/{Backend.js → backend/Backend.js} +4 -17
  10. package/dist/backend/Backend.js.map +1 -0
  11. package/dist/{workers → backend/workers}/javascript/JavaScriptWorker.js +1 -1
  12. package/dist/backend/workers/javascript/JavaScriptWorker.js.map +1 -0
  13. package/dist/backend/workers/javascript/worker.js.map +1 -0
  14. package/dist/{workers → backend/workers}/python/PythonWorker.d.ts +2 -2
  15. package/dist/{workers → backend/workers}/python/PythonWorker.js +2 -2
  16. package/dist/backend/workers/python/PythonWorker.js.map +1 -0
  17. package/dist/backend/workers/python/python_package.tar.gz.load_by_url +0 -0
  18. package/dist/backend/workers/python/worker.js.map +1 -0
  19. package/dist/communication/BackendEvent.js.map +1 -0
  20. package/dist/{BackendEventQueue.d.ts → communication/BackendEventQueue.d.ts} +1 -36
  21. package/dist/{BackendEventQueue.js → communication/BackendEventQueue.js} +2 -45
  22. package/dist/communication/BackendEventQueue.js.map +1 -0
  23. package/dist/{BackendManager.d.ts → communication/BackendManager.d.ts} +2 -2
  24. package/dist/{BackendManager.js → communication/BackendManager.js} +4 -4
  25. package/dist/communication/BackendManager.js.map +1 -0
  26. package/dist/communication/InputServiceWorker.js +37 -0
  27. package/dist/communication/InputServiceWorker.js.map +1 -0
  28. package/dist/communication/InputWorker.js.map +1 -0
  29. package/dist/frontend/components/CodeRunner.d.ts +9 -0
  30. package/dist/frontend/components/CodeRunner.js +60 -0
  31. package/dist/frontend/components/CodeRunner.js.map +1 -0
  32. package/dist/frontend/components/Debugger.d.ts +7 -0
  33. package/dist/frontend/components/Debugger.js +62 -0
  34. package/dist/frontend/components/Debugger.js.map +1 -0
  35. package/dist/frontend/components/Input.d.ts +17 -0
  36. package/dist/frontend/components/Input.js +73 -0
  37. package/dist/frontend/components/Input.js.map +1 -0
  38. package/dist/frontend/components/Output.d.ts +14 -0
  39. package/dist/frontend/components/Output.js +154 -0
  40. package/dist/frontend/components/Output.js.map +1 -0
  41. package/dist/frontend/components/PapyrosElement.d.ts +8 -0
  42. package/dist/frontend/components/PapyrosElement.js +24 -0
  43. package/dist/frontend/components/PapyrosElement.js.map +1 -0
  44. package/dist/frontend/components/app/App.d.ts +24 -0
  45. package/dist/frontend/components/app/App.js +204 -0
  46. package/dist/frontend/components/app/App.js.map +1 -0
  47. package/dist/frontend/components/app/ExamplePicker.d.ts +7 -0
  48. package/dist/frontend/components/app/ExamplePicker.js +35 -0
  49. package/dist/frontend/components/app/ExamplePicker.js.map +1 -0
  50. package/dist/frontend/components/app/LanguagePicker.d.ts +7 -0
  51. package/dist/frontend/components/app/LanguagePicker.js +35 -0
  52. package/dist/frontend/components/app/LanguagePicker.js.map +1 -0
  53. package/dist/frontend/components/app/ProgrammingLanguagePicker.d.ts +7 -0
  54. package/dist/frontend/components/app/ProgrammingLanguagePicker.js +39 -0
  55. package/dist/frontend/components/app/ProgrammingLanguagePicker.js.map +1 -0
  56. package/dist/frontend/components/app/examples/JavaScriptExamples.js.map +1 -0
  57. package/dist/frontend/components/app/examples/PythonExamples.js.map +1 -0
  58. package/dist/frontend/components/app/themes/ThemePicker.d.ts +11 -0
  59. package/dist/frontend/components/app/themes/ThemePicker.js +47 -0
  60. package/dist/frontend/components/app/themes/ThemePicker.js.map +1 -0
  61. package/dist/frontend/components/app/themes/ThemedButton.d.ts +9 -0
  62. package/dist/frontend/components/app/themes/ThemedButton.js +43 -0
  63. package/dist/frontend/components/app/themes/ThemedButton.js.map +1 -0
  64. package/dist/frontend/components/code_mirror/BatchInputEditor.d.ts +8 -0
  65. package/dist/frontend/components/code_mirror/BatchInputEditor.js +54 -0
  66. package/dist/frontend/components/code_mirror/BatchInputEditor.js.map +1 -0
  67. package/dist/frontend/components/code_mirror/CodeEditor.d.ts +24 -0
  68. package/dist/frontend/components/code_mirror/CodeEditor.js +206 -0
  69. package/dist/frontend/components/code_mirror/CodeEditor.js.map +1 -0
  70. package/dist/frontend/components/code_mirror/CodeMirrorEditor.d.ts +20 -0
  71. package/dist/frontend/components/code_mirror/CodeMirrorEditor.js +99 -0
  72. package/dist/frontend/components/code_mirror/CodeMirrorEditor.js.map +1 -0
  73. package/dist/frontend/components/code_mirror/Extensions.d.ts +15 -0
  74. package/dist/frontend/components/code_mirror/Extensions.js +169 -0
  75. package/dist/frontend/components/code_mirror/Extensions.js.map +1 -0
  76. package/dist/frontend/components/code_mirror/MaterialTheme.d.ts +5 -0
  77. package/dist/frontend/components/code_mirror/MaterialTheme.js +109 -0
  78. package/dist/frontend/components/code_mirror/MaterialTheme.js.map +1 -0
  79. package/dist/frontend/components/code_runner/ButtonLint.d.ts +9 -0
  80. package/dist/frontend/components/code_runner/ButtonLint.js +76 -0
  81. package/dist/frontend/components/code_runner/ButtonLint.js.map +1 -0
  82. package/dist/frontend/components/code_runner/Code.d.ts +7 -0
  83. package/dist/frontend/components/code_runner/Code.js +46 -0
  84. package/dist/frontend/components/code_runner/Code.js.map +1 -0
  85. package/dist/frontend/components/code_runner/RunState.d.ts +7 -0
  86. package/dist/frontend/components/code_runner/RunState.js +41 -0
  87. package/dist/frontend/components/code_runner/RunState.js.map +1 -0
  88. package/dist/frontend/components/input/BatchInput.d.ts +19 -0
  89. package/dist/frontend/components/input/BatchInput.js +92 -0
  90. package/dist/frontend/components/input/BatchInput.js.map +1 -0
  91. package/dist/frontend/components/input/InteractiveInput.d.ts +13 -0
  92. package/dist/frontend/components/input/InteractiveInput.js +73 -0
  93. package/dist/frontend/components/input/InteractiveInput.js.map +1 -0
  94. package/dist/frontend/state/Constants.d.ts +38 -0
  95. package/dist/frontend/state/Constants.js +108 -0
  96. package/dist/frontend/state/Constants.js.map +1 -0
  97. package/dist/frontend/state/Debugger.d.ts +23 -0
  98. package/dist/frontend/state/Debugger.js +80 -0
  99. package/dist/frontend/state/Debugger.js.map +1 -0
  100. package/dist/frontend/state/Examples.d.ts +11 -0
  101. package/dist/frontend/state/Examples.js +36 -0
  102. package/dist/frontend/state/Examples.js.map +1 -0
  103. package/dist/frontend/state/I18n.d.ts +16 -0
  104. package/dist/frontend/state/I18n.js +75 -0
  105. package/dist/frontend/state/I18n.js.map +1 -0
  106. package/dist/frontend/state/InputOutput.d.ts +55 -0
  107. package/dist/frontend/state/InputOutput.js +93 -0
  108. package/dist/frontend/state/InputOutput.js.map +1 -0
  109. package/dist/frontend/state/Runner.d.ts +118 -0
  110. package/dist/frontend/state/Runner.js +334 -0
  111. package/dist/frontend/state/Runner.js.map +1 -0
  112. package/dist/frontend/state/Test.d.ts +11 -0
  113. package/dist/frontend/state/Test.js +59 -0
  114. package/dist/frontend/state/Test.js.map +1 -0
  115. package/dist/frontend/state/Translations.d.ts +178 -0
  116. package/dist/frontend/state/Translations.js +188 -0
  117. package/dist/frontend/state/Translations.js.map +1 -0
  118. package/dist/frontend/state/themes/blue-dark.d.ts +2 -0
  119. package/dist/frontend/state/themes/blue-dark.js +55 -0
  120. package/dist/frontend/state/themes/blue-dark.js.map +1 -0
  121. package/dist/frontend/state/themes/blue-light.d.ts +2 -0
  122. package/dist/frontend/state/themes/blue-light.js +55 -0
  123. package/dist/frontend/state/themes/blue-light.js.map +1 -0
  124. package/dist/frontend/state/themes/green-dark.d.ts +2 -0
  125. package/dist/frontend/state/themes/green-dark.js +55 -0
  126. package/dist/frontend/state/themes/green-dark.js.map +1 -0
  127. package/dist/frontend/state/themes/green-light.d.ts +2 -0
  128. package/dist/frontend/state/themes/green-light.js +55 -0
  129. package/dist/frontend/state/themes/green-light.js.map +1 -0
  130. package/dist/frontend/state/themes/red-dark.d.ts +2 -0
  131. package/dist/frontend/state/themes/red-dark.js +55 -0
  132. package/dist/frontend/state/themes/red-dark.js.map +1 -0
  133. package/dist/frontend/state/themes/red-light.d.ts +2 -0
  134. package/dist/frontend/state/themes/red-light.js +55 -0
  135. package/dist/frontend/state/themes/red-light.js.map +1 -0
  136. package/dist/util/Util.d.ts +1 -4
  137. package/dist/util/Util.js +7 -8
  138. package/dist/util/Util.js.map +1 -1
  139. package/package.json +13 -21
  140. package/dist/App.d.ts +0 -1
  141. package/dist/App.js +0 -76
  142. package/dist/App.js.map +0 -1
  143. package/dist/Backend.js.map +0 -1
  144. package/dist/BackendEvent.js.map +0 -1
  145. package/dist/BackendEventQueue.js.map +0 -1
  146. package/dist/BackendManager.js.map +0 -1
  147. package/dist/CodeRunner.d.ts +0 -188
  148. package/dist/CodeRunner.js +0 -548
  149. package/dist/CodeRunner.js.map +0 -1
  150. package/dist/Constants.d.ts +0 -31
  151. package/dist/Constants.js +0 -36
  152. package/dist/Constants.js.map +0 -1
  153. package/dist/Debugger.d.ts +0 -18
  154. package/dist/Debugger.js +0 -86
  155. package/dist/Debugger.js.map +0 -1
  156. package/dist/InputManager.d.ts +0 -38
  157. package/dist/InputManager.js +0 -101
  158. package/dist/InputManager.js.map +0 -1
  159. package/dist/InputServiceWorker.js.map +0 -1
  160. package/dist/Library.d.ts +0 -12
  161. package/dist/Library.js +0 -9
  162. package/dist/Library.js.map +0 -1
  163. package/dist/OutputManager.d.ts +0 -90
  164. package/dist/OutputManager.js +0 -172
  165. package/dist/OutputManager.js.map +0 -1
  166. package/dist/Papyros.css +0 -657
  167. package/dist/Translations.d.ts +0 -180
  168. package/dist/Translations.js +0 -191
  169. package/dist/Translations.js.map +0 -1
  170. package/dist/editor/BatchInputEditor.d.ts +0 -41
  171. package/dist/editor/BatchInputEditor.js +0 -80
  172. package/dist/editor/BatchInputEditor.js.map +0 -1
  173. package/dist/editor/CodeEditor.d.ts +0 -81
  174. package/dist/editor/CodeEditor.js +0 -213
  175. package/dist/editor/CodeEditor.js.map +0 -1
  176. package/dist/editor/CodeMirrorEditor.d.ts +0 -133
  177. package/dist/editor/CodeMirrorEditor.js +0 -169
  178. package/dist/editor/CodeMirrorEditor.js.map +0 -1
  179. package/dist/editor/DarkTheme.d.ts +0 -1
  180. package/dist/editor/DarkTheme.js +0 -72
  181. package/dist/editor/DarkTheme.js.map +0 -1
  182. package/dist/editor/DebugExtension.d.ts +0 -11
  183. package/dist/editor/DebugExtension.js +0 -70
  184. package/dist/editor/DebugExtension.js.map +0 -1
  185. package/dist/editor/Gutters.d.ts +0 -109
  186. package/dist/editor/Gutters.js +0 -201
  187. package/dist/editor/Gutters.js.map +0 -1
  188. package/dist/editor/LineEffectExtension.d.ts +0 -13
  189. package/dist/editor/LineEffectExtension.js +0 -48
  190. package/dist/editor/LineEffectExtension.js.map +0 -1
  191. package/dist/editor/TestCodeExtension.d.ts +0 -21
  192. package/dist/editor/TestCodeExtension.js +0 -134
  193. package/dist/editor/TestCodeExtension.js.map +0 -1
  194. package/dist/examples/Examples.d.ts +0 -6
  195. package/dist/examples/Examples.js +0 -23
  196. package/dist/examples/Examples.js.map +0 -1
  197. package/dist/examples/JavaScriptExamples.js.map +0 -1
  198. package/dist/examples/PythonExamples.js.map +0 -1
  199. package/dist/input/BatchInputHandler.d.ts +0 -55
  200. package/dist/input/BatchInputHandler.js +0 -131
  201. package/dist/input/BatchInputHandler.js.map +0 -1
  202. package/dist/input/InteractiveInputHandler.d.ts +0 -27
  203. package/dist/input/InteractiveInputHandler.js +0 -89
  204. package/dist/input/InteractiveInputHandler.js.map +0 -1
  205. package/dist/input/UserInputHandler.d.ts +0 -68
  206. package/dist/input/UserInputHandler.js +0 -39
  207. package/dist/input/UserInputHandler.js.map +0 -1
  208. package/dist/util/HTMLShapes.d.ts +0 -15
  209. package/dist/util/HTMLShapes.js +0 -25
  210. package/dist/util/HTMLShapes.js.map +0 -1
  211. package/dist/util/Rendering.d.ts +0 -120
  212. package/dist/util/Rendering.js +0 -142
  213. package/dist/util/Rendering.js.map +0 -1
  214. package/dist/workers/input/InputWorker.js.map +0 -1
  215. package/dist/workers/javascript/JavaScriptWorker.js.map +0 -1
  216. package/dist/workers/javascript/worker.js.map +0 -1
  217. package/dist/workers/python/PythonWorker.js.map +0 -1
  218. package/dist/workers/python/python_package.tar.gz.load_by_url +0 -0
  219. package/dist/workers/python/worker.js.map +0 -1
  220. /package/dist/{workers → backend/workers}/javascript/JavaScriptWorker.d.ts +0 -0
  221. /package/dist/{workers → backend/workers}/javascript/worker.d.ts +0 -0
  222. /package/dist/{workers → backend/workers}/javascript/worker.js +0 -0
  223. /package/dist/{workers → backend/workers}/python/worker.d.ts +0 -0
  224. /package/dist/{workers → backend/workers}/python/worker.js +0 -0
  225. /package/dist/{BackendEvent.d.ts → communication/BackendEvent.d.ts} +0 -0
  226. /package/dist/{BackendEvent.js → communication/BackendEvent.js} +0 -0
  227. /package/dist/{InputServiceWorker.d.ts → communication/InputServiceWorker.d.ts} +0 -0
  228. /package/dist/{workers/input → communication}/InputWorker.d.ts +0 -0
  229. /package/dist/{workers/input → communication}/InputWorker.js +0 -0
  230. /package/dist/{examples → frontend/components/app/examples}/JavaScriptExamples.d.ts +0 -0
  231. /package/dist/{examples → frontend/components/app/examples}/JavaScriptExamples.js +0 -0
  232. /package/dist/{examples → frontend/components/app/examples}/PythonExamples.d.ts +0 -0
  233. /package/dist/{examples → frontend/components/app/examples}/PythonExamples.js +0 -0
package/package.json CHANGED
@@ -1,31 +1,23 @@
1
1
  {
2
2
  "name": "@dodona/papyros",
3
- "version": "3.0.2",
3
+ "version": "4.0.0-beta.2",
4
4
  "private": false,
5
5
  "homepage": ".",
6
6
  "devDependencies": {
7
7
  "@eslint/eslintrc": "^3.2.0",
8
8
  "@eslint/js": "^9.18.0",
9
- "@types/escape-html": "^1.0.3",
10
9
  "@types/i18n-js": "^4.0.1",
11
- "@types/jest": "^29.5.10",
10
+ "@types/node": "^24.5.2",
11
+ "@types/node-polyglot": "^2.5.0",
12
12
  "@types/serviceworker": "^0.0.152",
13
- "autoprefixer": "^10.4.16",
14
- "css-loader": "^7.1.2",
13
+ "@vitest/browser": "^3.2.4",
15
14
  "eslint": "^9.17.0",
16
15
  "globals": "^16.0.0",
17
- "i18n-extract": "^0.6.7",
18
- "jest": "^29.7.0",
19
- "jest-environment-jsdom": "^30.1.2",
20
- "postcss": "^8.4.31",
21
- "postcss-import": "^16.0.0",
22
- "postcss-loader": "^8.0.0",
23
- "tailwindcss": "^3.3.5",
24
- "ts-jest": "^29.1.1",
25
- "ts-jest-mock-import-meta": "^1.1.0",
16
+ "playwright": "^1.55.1",
26
17
  "typescript": "^5.2.2",
27
18
  "typescript-eslint": "^8.21.0",
28
- "vite": "^7.1.5"
19
+ "vite": "^7.1.5",
20
+ "vitest": "^3.2.4"
29
21
  },
30
22
  "dependencies": {
31
23
  "@codemirror/autocomplete": "^6.11.1",
@@ -36,15 +28,15 @@
36
28
  "@codemirror/lint": "^6.4.2",
37
29
  "@codemirror/search": "^6.5.4",
38
30
  "@codemirror/state": "^6.3.2",
39
- "@codemirror/theme-one-dark": "^6.1.2",
40
31
  "@codemirror/view": "^6.28.0",
32
+ "@dodona/lit-state": "^1.1.1",
41
33
  "@dodona/trace-component": "1.3.1",
42
- "@lezer/common": "^1.1.0",
34
+ "@material/web": "^2.4.0",
43
35
  "codemirror-readonly-ranges": "^0.1.0-alpha.2",
44
36
  "comlink": "^4.4.1",
45
37
  "comsync": "^0.0.9",
46
- "escape-html": "^1.0.3",
47
- "i18n-js": "4.5.1",
38
+ "lit": "^3.3.1",
39
+ "node-polyglot": "^2.6.0",
48
40
  "pyodide": "^0.28.2",
49
41
  "pyodide-worker-runner": "1.4.0",
50
42
  "sync-message": "^0.0.12"
@@ -55,9 +47,9 @@
55
47
  "build:app": "yarn build:sw && vite build",
56
48
  "build:sw": "vite build --config vite.sw.config.ts",
57
49
  "build:lib": "bash scripts/build_library.sh",
58
- "test": "jest",
50
+ "test": "vitest",
59
51
  "lint": "eslint src",
60
- "validate:translations": "node scripts/ValidateTranslations.js"
52
+ "typecheck": "tsc --noEmit"
61
53
  },
62
54
  "description": "Scratchpad for multiple programming languages in the browser.",
63
55
  "repository": {
package/dist/App.d.ts DELETED
@@ -1 +0,0 @@
1
- import "./Papyros.css";
package/dist/App.js DELETED
@@ -1,76 +0,0 @@
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
- import "./Papyros.css";
11
- import { addPapyrosPrefix, DEFAULT_LOCALE, DEFAULT_PROGRAMMING_LANGUAGE, DEFAULT_SERVICE_WORKER } from "./Constants";
12
- import { Papyros } from "./Papyros";
13
- import { InputMode } from "./InputManager";
14
- import { BatchInputHandler } from "./input/BatchInputHandler";
15
- const LOCAL_STORAGE_KEYS = {
16
- code: addPapyrosPrefix("previous-code"),
17
- input: addPapyrosPrefix("previous-batch-input")
18
- };
19
- function setUpEditor(editor, storageKey) {
20
- const previousValue = window.localStorage.getItem(storageKey);
21
- if (previousValue) {
22
- editor.setText(previousValue);
23
- }
24
- editor.onChange({
25
- onChange: (text) => {
26
- window.localStorage.setItem(storageKey, text);
27
- },
28
- delay: 0
29
- });
30
- }
31
- function startPapyros() {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- // Retrieve initial locale and programming language from URL
34
- // This allows easier sharing of Papyros-related links with others
35
- // While preventing loading an unwanted backend
36
- const urlParams = new URLSearchParams(window.location.search);
37
- const language = Papyros.toProgrammingLanguage(urlParams.get("language") ||
38
- DEFAULT_PROGRAMMING_LANGUAGE);
39
- const locale = urlParams.get("locale") || DEFAULT_LOCALE;
40
- const config = {
41
- standAlone: true,
42
- programmingLanguage: language,
43
- locale: locale,
44
- inputMode: InputMode.Batch,
45
- channelOptions: {
46
- serviceWorkerName: DEFAULT_SERVICE_WORKER
47
- }
48
- };
49
- const papyros = new Papyros(config);
50
- let darkMode = false;
51
- if (window.matchMedia) {
52
- darkMode = window.matchMedia("(prefers-color-scheme: dark)").matches;
53
- window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", e => {
54
- papyros.setDarkMode(e.matches);
55
- });
56
- }
57
- papyros.render({
58
- standAloneOptions: {
59
- parentElementId: "root"
60
- },
61
- darkMode: darkMode,
62
- traceOptions: {
63
- parentElementId: "trace-root"
64
- }
65
- });
66
- setUpEditor(papyros.codeRunner.editor, LOCAL_STORAGE_KEYS.code);
67
- papyros.codeRunner.editor.focus();
68
- const handler = papyros.codeRunner.inputManager.getInputHandler(InputMode.Batch);
69
- if (handler instanceof BatchInputHandler) {
70
- setUpEditor(handler.batchEditor, LOCAL_STORAGE_KEYS.input);
71
- }
72
- yield papyros.launch();
73
- });
74
- }
75
- startPapyros();
76
- //# sourceMappingURL=App.js.map
package/dist/App.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Backend.js","sourceRoot":"","sources":["../src/Backend.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAgB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA8BxD,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACf,sBAAW,CAAA;IACX,0BAAe,CAAA;IACf,8BAAmB,CAAA;AACvB,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAED,MAAM,OAAgB,OAAO;IAczB;;;;OAIG;IACH;QACI,IAAI,CAAC,MAAM,GAAG,EAAY,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE;YAChB,+BAA+B;QACnC,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,GAAG,EAAuB,CAAC;IACzC,CAAC;IAED;;OAEG;IACO,UAAU;QAChB,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACU,MAAM,CACf,OAAkC,EAClC,UAAsB;;YAEtB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAe,EAAE,EAAE;gBAC/B,OAAO,CAAC,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,KAAK,EAAE,CAAC;oBACpC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzC,CAAC;qBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,KAAK,EAAE,CAAC;oBAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACrC,CAAC;YACL,CAAC,CAAC;YACF,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;YACxE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KAAA;IAED;;;;OAIG;IACH,6DAA6D;IACtD,QAAQ,CAAC,IAAY;QACxB,OAAO,EAAE,CAAC;IACd,CAAC;IAiBD;;OAEG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,6DAA6D;IACtD,YAAY,CAAC,WAAmC,EAAE,SAAiC;QACtF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BackendEvent.js","sourceRoot":"","sources":["../src/BackendEvent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,gBAYX;AAZD,WAAY,gBAAgB;IACxB,mCAAe,CAAA;IACf,+BAAW,CAAA;IACX,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,mCAAe,CAAA;IACf,mCAAe,CAAA;IACf,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,gDAA4B,CAAA;IAC5B,iCAAa,CAAA;AACjB,CAAC,EAZW,gBAAgB,KAAhB,gBAAgB,QAY3B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BackendEventQueue.js","sourceRoot":"","sources":["../src/BackendEventQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;IA2C1B;;;;;OAKG;IACH,YAAY,QAAmC,EAC3C,UAAsB,EACtB,KAAK,GAAG,IAAI,EAAE,SAAS,GAAG,GAAG;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;;;OAQG;IACI,GAAG,CAAC,IAAsB,EAAE,IAAoC,EAAE,KAAmB;QACxF,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACJ,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,WAAW,GAAG,YAAY,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,WAAW,GAAG,KAAK,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACJ,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;gBACnC,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC5B,SAAS,GAAG,KAAK,CAAC;YACtB,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YACvB,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,iCAAiC;YACpE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,iBAAiB;YACpE,iDAAiD;YACjD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YAChE,IAAI,CAAC,KAAK,CAAC,IAAI,iBACX,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,WAAW,IACrB,SAAS,EACd,CAAC;QACP,CAAC;aAAM,CAAC,CAAC,uCAAuC;YAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC;QACzD,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;OAEG;IACO,WAAW;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,oCAAoC;YAChE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;IACnE,CAAC;IAED;;OAEG;IACI,KAAK;QACR,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,KAAK,CAAC,CAAe;QAChC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,KAAK;QACR,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACnB,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC9B,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC7C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACrB,CAAC;qBAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,QAAmC;QAClD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BackendManager.js","sourceRoot":"","sources":["../src/BackendManager.ts"],"names":[],"mappings":"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"}
@@ -1,188 +0,0 @@
1
- import { RunMode } from "./Backend";
2
- import { CodeEditor } from "./editor/CodeEditor";
3
- import { InputManager, InputManagerRenderOptions, InputMode } from "./InputManager";
4
- import { ProgrammingLanguage } from "./ProgrammingLanguage";
5
- import { ButtonOptions, Renderable, RenderOptions } from "./util/Rendering";
6
- import { OutputManager } from "./OutputManager";
7
- import { Debugger } from "./Debugger";
8
- interface CodeRunnerRenderOptions {
9
- /**
10
- * Options for rendering the panel
11
- */
12
- statusPanelOptions: RenderOptions;
13
- /**
14
- * Options for rendering the InputManager
15
- */
16
- inputOptions: InputManagerRenderOptions;
17
- /**
18
- * Options for rendering the editor
19
- */
20
- codeEditorOptions: RenderOptions;
21
- /**
22
- * RenderOptions for the output field
23
- */
24
- outputOptions: RenderOptions;
25
- traceOptions: RenderOptions;
26
- }
27
- /**
28
- * Enum representing the possible states while processing code
29
- */
30
- export declare enum RunState {
31
- Loading = "loading",
32
- Running = "running",
33
- AwaitingInput = "awaiting_input",
34
- Stopping = "stopping",
35
- Ready = "ready"
36
- }
37
- /**
38
- * Interface to represent information required when handling loading events
39
- */
40
- export interface LoadingData {
41
- /**
42
- * List of module names that are being loaded
43
- */
44
- modules: Array<string>;
45
- /**
46
- * The status of the import
47
- */
48
- status: "loading" | "loaded" | "failed";
49
- }
50
- /**
51
- * Helper component to manage and visualize the current RunState
52
- */
53
- export declare class CodeRunner extends Renderable<CodeRunnerRenderOptions> {
54
- /**
55
- * The currently used programming language
56
- */
57
- private programmingLanguage;
58
- /**
59
- * The editor in which the code is written
60
- */
61
- readonly editor: CodeEditor;
62
- /**
63
- * Component to request and handle input from the user
64
- */
65
- readonly inputManager: InputManager;
66
- /**
67
- * Component to handle output generated by the user's code
68
- */
69
- readonly outputManager: OutputManager;
70
- readonly traceViewer: Debugger;
71
- /**
72
- * The backend that executes the code asynchronously
73
- */
74
- private backend;
75
- /**
76
- * Current state of the program
77
- */
78
- private state;
79
- /**
80
- * Foreign buttons inserted into this component
81
- */
82
- private userButtons;
83
- /**
84
- * Internal buttons for different run modes
85
- */
86
- private runButtons;
87
- /**
88
- * Array of packages that are being installed
89
- */
90
- private loadingPackages;
91
- /**
92
- * Previous state to restore when loading is done
93
- */
94
- private previousState;
95
- /**
96
- * Time at which the setState call occurred
97
- */
98
- private runStartTime;
99
- private _debugMode;
100
- /**
101
- * Construct a new RunStateManager with the given listeners
102
- * @param {ProgrammingLanguage} programmingLanguage The language to use
103
- * @param {InputMode} inputMode The input mode to use
104
- */
105
- constructor(programmingLanguage: ProgrammingLanguage, inputMode: InputMode);
106
- private set debugMode(value);
107
- private get debugMode();
108
- /**
109
- * Stops the current run and resets the state of the program
110
- * Regular and debug output is cleared
111
- * @return {Promise<void>} Returns when the program has been reset
112
- */
113
- reset(): Promise<void>;
114
- private updateRunButtons;
115
- private addRunButton;
116
- /**
117
- * Start the backend to enable running code
118
- */
119
- start(): Promise<void>;
120
- /**
121
- * Interrupt the currently running code
122
- * @return {Promise<void>} Returns when the code has been interrupted
123
- */
124
- stop(): Promise<void>;
125
- /**
126
- * Set the used programming language to the given one to allow editing and running code
127
- * @param {ProgrammingLanguage} programmingLanguage The language to use
128
- */
129
- setProgrammingLanguage(programmingLanguage: ProgrammingLanguage): Promise<void>;
130
- provideFiles(inlinedFiles: Record<string, string>, hrefFiles: Record<string, string>): Promise<void>;
131
- /**
132
- * @return {ProgrammingLanguage} The current programming language
133
- */
134
- getProgrammingLanguage(): ProgrammingLanguage;
135
- /**
136
- * Show or hide the spinning circle, representing a running animation
137
- * @param {boolean} show Whether to show the spinner
138
- */
139
- private showSpinner;
140
- /**
141
- * Show the current state of the program to the user
142
- * @param {RunState} state The current state of the run
143
- * @param {string} message Optional message to indicate the state
144
- */
145
- setState(state: RunState, message?: string): void;
146
- /**
147
- * @return {RunState} The state of the current run
148
- */
149
- getState(): RunState;
150
- /**
151
- * Remove a button from the internal button list. Requires a re-render to update
152
- * @param {string} id Identifier of the button to remove
153
- */
154
- private removeButton;
155
- /**
156
- * Add a button to display to the user
157
- * @param {ButtonOptions} options Options for rendering the button
158
- * @param {function} onClick Listener for click events on the button
159
- */
160
- addButton(options: ButtonOptions, onClick: () => void): void;
161
- /**
162
- * Generate a button that the user can click to process code
163
- * Can either run the code or interrupt it if already running
164
- * @return {DynamicButton} A list of buttons to interact with the code according to the current state
165
- */
166
- private getCodeActionButtons;
167
- /**
168
- * @param {DynamicButton[]} buttons The buttons to render
169
- * @param {string} id The id of the element to render the buttons in
170
- */
171
- private renderButtons;
172
- private renderCodeActionButtons;
173
- private renderUserButtons;
174
- protected _render(options: CodeRunnerRenderOptions): HTMLElement;
175
- /**
176
- * Execute the code in the editor
177
- * @param {RunMode} mode The mode to run with
178
- * @return {Promise<void>} Promise of running the code
179
- */
180
- runCode(mode?: RunMode): Promise<void>;
181
- /**
182
- * Callback to handle loading events
183
- * @param {BackendEvent} e The loading event
184
- */
185
- private onLoad;
186
- private onStart;
187
- }
188
- export {};