@dodona/papyros 3.0.2 → 4.0.0-beta-9

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 +132 -72
  2. package/dist/Library.d.ts +10 -11
  3. package/dist/Library.js +9 -7
  4. package/dist/Library.js.map +1 -1
  5. package/dist/{Backend.d.ts → backend/Backend.d.ts} +3 -12
  6. package/dist/{Backend.js → backend/Backend.js} +4 -17
  7. package/dist/backend/Backend.js.map +1 -0
  8. package/dist/{workers → backend/workers}/javascript/JavaScriptWorker.js +1 -1
  9. package/dist/backend/workers/javascript/JavaScriptWorker.js.map +1 -0
  10. package/dist/backend/workers/javascript/worker.js.map +1 -0
  11. package/dist/{workers → backend/workers}/python/PythonWorker.d.ts +2 -2
  12. package/dist/{workers → backend/workers}/python/PythonWorker.js +2 -2
  13. package/dist/backend/workers/python/PythonWorker.js.map +1 -0
  14. package/dist/backend/workers/python/python_package.tar.gz.load_by_url +0 -0
  15. package/dist/backend/workers/python/worker.js.map +1 -0
  16. package/dist/communication/BackendEvent.js.map +1 -0
  17. package/dist/{BackendEventQueue.d.ts → communication/BackendEventQueue.d.ts} +1 -36
  18. package/dist/{BackendEventQueue.js → communication/BackendEventQueue.js} +2 -45
  19. package/dist/communication/BackendEventQueue.js.map +1 -0
  20. package/dist/{BackendManager.d.ts → communication/BackendManager.d.ts} +2 -2
  21. package/dist/{BackendManager.js → communication/BackendManager.js} +4 -4
  22. package/dist/communication/BackendManager.js.map +1 -0
  23. package/dist/communication/InputServiceWorker.js +37 -0
  24. package/dist/communication/InputServiceWorker.js.map +1 -0
  25. package/dist/communication/InputWorker.js.map +1 -0
  26. package/dist/frontend/components/CodeRunner.d.ts +9 -0
  27. package/dist/frontend/components/CodeRunner.js +60 -0
  28. package/dist/frontend/components/CodeRunner.js.map +1 -0
  29. package/dist/frontend/components/Debugger.d.ts +7 -0
  30. package/dist/frontend/components/Debugger.js +61 -0
  31. package/dist/frontend/components/Debugger.js.map +1 -0
  32. package/dist/frontend/components/Input.d.ts +13 -0
  33. package/dist/frontend/components/Input.js +65 -0
  34. package/dist/frontend/components/Input.js.map +1 -0
  35. package/dist/frontend/components/Output.d.ts +14 -0
  36. package/dist/frontend/components/Output.js +154 -0
  37. package/dist/frontend/components/Output.js.map +1 -0
  38. package/dist/frontend/components/PapyrosElement.d.ts +8 -0
  39. package/dist/frontend/components/PapyrosElement.js +24 -0
  40. package/dist/frontend/components/PapyrosElement.js.map +1 -0
  41. package/dist/frontend/components/app/App.d.ts +24 -0
  42. package/dist/frontend/components/app/App.js +204 -0
  43. package/dist/frontend/components/app/App.js.map +1 -0
  44. package/dist/frontend/components/app/ExamplePicker.d.ts +7 -0
  45. package/dist/frontend/components/app/ExamplePicker.js +35 -0
  46. package/dist/frontend/components/app/ExamplePicker.js.map +1 -0
  47. package/dist/frontend/components/app/LanguagePicker.d.ts +7 -0
  48. package/dist/frontend/components/app/LanguagePicker.js +35 -0
  49. package/dist/frontend/components/app/LanguagePicker.js.map +1 -0
  50. package/dist/frontend/components/app/ProgrammingLanguagePicker.d.ts +7 -0
  51. package/dist/frontend/components/app/ProgrammingLanguagePicker.js +39 -0
  52. package/dist/frontend/components/app/ProgrammingLanguagePicker.js.map +1 -0
  53. package/dist/frontend/components/app/examples/JavaScriptExamples.js.map +1 -0
  54. package/dist/frontend/components/app/examples/PythonExamples.js.map +1 -0
  55. package/dist/frontend/components/app/themes/ThemePicker.d.ts +11 -0
  56. package/dist/frontend/components/app/themes/ThemePicker.js +47 -0
  57. package/dist/frontend/components/app/themes/ThemePicker.js.map +1 -0
  58. package/dist/frontend/components/app/themes/ThemedButton.d.ts +9 -0
  59. package/dist/frontend/components/app/themes/ThemedButton.js +43 -0
  60. package/dist/frontend/components/app/themes/ThemedButton.js.map +1 -0
  61. package/dist/frontend/components/code_mirror/BatchInputEditor.d.ts +8 -0
  62. package/dist/frontend/components/code_mirror/BatchInputEditor.js +54 -0
  63. package/dist/frontend/components/code_mirror/BatchInputEditor.js.map +1 -0
  64. package/dist/frontend/components/code_mirror/CodeEditor.d.ts +24 -0
  65. package/dist/frontend/components/code_mirror/CodeEditor.js +205 -0
  66. package/dist/frontend/components/code_mirror/CodeEditor.js.map +1 -0
  67. package/dist/frontend/components/code_mirror/CodeMirrorEditor.d.ts +20 -0
  68. package/dist/frontend/components/code_mirror/CodeMirrorEditor.js +99 -0
  69. package/dist/frontend/components/code_mirror/CodeMirrorEditor.js.map +1 -0
  70. package/dist/frontend/components/code_mirror/Extensions.d.ts +15 -0
  71. package/dist/frontend/components/code_mirror/Extensions.js +169 -0
  72. package/dist/frontend/components/code_mirror/Extensions.js.map +1 -0
  73. package/dist/frontend/components/code_mirror/MaterialTheme.d.ts +5 -0
  74. package/dist/frontend/components/code_mirror/MaterialTheme.js +109 -0
  75. package/dist/frontend/components/code_mirror/MaterialTheme.js.map +1 -0
  76. package/dist/frontend/components/code_runner/ButtonLint.d.ts +9 -0
  77. package/dist/frontend/components/code_runner/ButtonLint.js +76 -0
  78. package/dist/frontend/components/code_runner/ButtonLint.js.map +1 -0
  79. package/dist/frontend/components/code_runner/Code.d.ts +7 -0
  80. package/dist/frontend/components/code_runner/Code.js +46 -0
  81. package/dist/frontend/components/code_runner/Code.js.map +1 -0
  82. package/dist/frontend/components/code_runner/RunState.d.ts +7 -0
  83. package/dist/frontend/components/code_runner/RunState.js +41 -0
  84. package/dist/frontend/components/code_runner/RunState.js.map +1 -0
  85. package/dist/frontend/components/input/BatchInput.d.ts +9 -0
  86. package/dist/frontend/components/input/BatchInput.js +53 -0
  87. package/dist/frontend/components/input/BatchInput.js.map +1 -0
  88. package/dist/frontend/components/input/InteractiveInput.d.ts +13 -0
  89. package/dist/frontend/components/input/InteractiveInput.js +73 -0
  90. package/dist/frontend/components/input/InteractiveInput.js.map +1 -0
  91. package/dist/frontend/state/Constants.d.ts +38 -0
  92. package/dist/frontend/state/Constants.js +108 -0
  93. package/dist/frontend/state/Constants.js.map +1 -0
  94. package/dist/frontend/state/Debugger.d.ts +23 -0
  95. package/dist/frontend/state/Debugger.js +84 -0
  96. package/dist/frontend/state/Debugger.js.map +1 -0
  97. package/dist/frontend/state/Examples.d.ts +11 -0
  98. package/dist/frontend/state/Examples.js +36 -0
  99. package/dist/frontend/state/Examples.js.map +1 -0
  100. package/dist/frontend/state/I18n.d.ts +16 -0
  101. package/dist/frontend/state/I18n.js +75 -0
  102. package/dist/frontend/state/I18n.js.map +1 -0
  103. package/dist/frontend/state/InputOutput.d.ts +64 -0
  104. package/dist/frontend/state/InputOutput.js +133 -0
  105. package/dist/frontend/state/InputOutput.js.map +1 -0
  106. package/dist/frontend/state/Papyros.d.ts +32 -0
  107. package/dist/frontend/state/Papyros.js +93 -0
  108. package/dist/frontend/state/Papyros.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 +0 -43
  137. package/dist/util/Util.js +0 -91
  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/OutputManager.d.ts +0 -90
  161. package/dist/OutputManager.js +0 -172
  162. package/dist/OutputManager.js.map +0 -1
  163. package/dist/Papyros.css +0 -657
  164. package/dist/Papyros.d.ts +0 -141
  165. package/dist/Papyros.js +0 -268
  166. package/dist/Papyros.js.map +0 -1
  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/dist/Papyros.d.ts DELETED
@@ -1,141 +0,0 @@
1
- import { InputManagerRenderOptions, InputMode } from "./InputManager";
2
- import { ProgrammingLanguage } from "./ProgrammingLanguage";
3
- import { RunState, CodeRunner } from "./CodeRunner";
4
- import { AtomicsChannelOptions, ServiceWorkerChannelOptions } from "sync-message";
5
- import { ButtonOptions, Renderable, RenderOptions } from "./util/Rendering";
6
- /**
7
- * Configuration options for this instance of Papyros
8
- */
9
- export interface PapyrosConfig {
10
- /**
11
- * Whether Papyros is run in standAlone mode or embedded in an application
12
- */
13
- standAlone: boolean;
14
- /**
15
- * The programming language to use
16
- */
17
- programmingLanguage: ProgrammingLanguage;
18
- /**
19
- * The language to use
20
- */
21
- locale: string;
22
- /**
23
- * The InputMode to use
24
- */
25
- inputMode: InputMode;
26
- /**
27
- * The selected code example
28
- */
29
- example?: string;
30
- /**
31
- * Configuration for the input channel
32
- */
33
- channelOptions?: {
34
- serviceWorkerName?: string;
35
- root?: string;
36
- } & AtomicsChannelOptions & ServiceWorkerChannelOptions;
37
- }
38
- /**
39
- * Options for rendering Papyros
40
- */
41
- export interface PapyrosRenderOptions {
42
- /**
43
- * Options to render Papyros itself, only used in standAlone mode
44
- */
45
- standAloneOptions?: RenderOptions;
46
- /**
47
- * RenderOptions for the code editor
48
- */
49
- codeEditorOptions?: RenderOptions;
50
- /**
51
- * RenderOptions for the status panel in the editor
52
- */
53
- statusPanelOptions?: RenderOptions;
54
- /**
55
- * RenderOptions for the input field
56
- */
57
- inputOptions?: InputManagerRenderOptions;
58
- /**
59
- * RenderOptions for the output field
60
- */
61
- outputOptions?: RenderOptions;
62
- /**
63
- * Whether to render in dark mode
64
- */
65
- darkMode?: boolean;
66
- traceOptions?: RenderOptions;
67
- }
68
- /**
69
- * Class that manages multiple components to form a coding scratchpad
70
- */
71
- export declare class Papyros extends Renderable<PapyrosRenderOptions> {
72
- /**
73
- * Config used to initialize Papyros
74
- */
75
- private config;
76
- /**
77
- * Component to run code entered by the user
78
- */
79
- readonly codeRunner: CodeRunner;
80
- /**
81
- * Construct a new Papyros instance
82
- * @param {PapyrosConfig} config Properties to configure this instance
83
- */
84
- constructor(config: PapyrosConfig);
85
- /**
86
- * @return {RunState} The current state of the user's code
87
- */
88
- getState(): RunState;
89
- /**
90
- * Launch this instance of Papyros, making it ready to run code
91
- * @return {Promise<Papyros>} Promise of launching, chainable
92
- */
93
- launch(): Promise<Papyros>;
94
- /**
95
- * Set the used programming language to the given one to allow editing and running code
96
- * @param {ProgrammingLanguage} programmingLanguage The language to use
97
- */
98
- setProgrammingLanguage(programmingLanguage: ProgrammingLanguage): Promise<void>;
99
- /**
100
- * @param {string} locale The locale to use
101
- */
102
- setLocale(locale: string): void;
103
- /**
104
- * @param {boolean} darkMode Whether to use dark mode
105
- */
106
- setDarkMode(darkMode: boolean): void;
107
- /**
108
- * @param {string} code The code to use in the editor
109
- */
110
- setCode(code: string): void;
111
- /**
112
- * @return {string} The currently written code
113
- */
114
- getCode(): string;
115
- /**
116
- * Configure how user input is handled within Papyros
117
- * By default, we will try to use SharedArrayBuffers
118
- * If this option is not available, the optional arguments in the channelOptions config are used
119
- * They are needed to register a service worker to handle communication between threads
120
- * @return {Promise<boolean>} Promise of configuring input
121
- */
122
- private configureInput;
123
- protected _render(renderOptions: PapyrosRenderOptions): void;
124
- /**
125
- * Add a button to the status panel within Papyros
126
- * @param {ButtonOptions} options Options to render the button with
127
- * @param {function} onClick Listener for click events on the button
128
- */
129
- addButton(options: ButtonOptions, onClick: () => void): void;
130
- /**
131
- * @param {ProgrammingLanguage} language The language to check
132
- * @return {boolean} Whether Papyros supports this language by default
133
- */
134
- static supportsProgrammingLanguage(language: string): boolean;
135
- /**
136
- * Convert a string to a ProgrammingLanguage
137
- * @param {string} language The language to convert
138
- * @return {ProgrammingLanguage | undefined} The ProgrammingLanguage, or undefined if not supported
139
- */
140
- static toProgrammingLanguage(language: string): ProgrammingLanguage | undefined;
141
- }
package/dist/Papyros.js DELETED
@@ -1,268 +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 { DARK_MODE_TOGGLE_ID, EDITOR_WRAPPER_ID, EXAMPLE_SELECT_ID, INPUT_AREA_WRAPPER_ID, LOCALE_SELECT_ID, MAIN_APP_ID, OUTPUT_AREA_WRAPPER_ID, PANEL_WRAPPER_ID, PROGRAMMING_LANGUAGE_SELECT_ID } from "./Constants";
11
- import { ProgrammingLanguage } from "./ProgrammingLanguage";
12
- import { t, getLocales, removeSelection, addListener, getElement, cleanCurrentUrl, i18n } from "./util/Util";
13
- import { CodeRunner } from "./CodeRunner";
14
- import { getCodeForExample, getExampleNames } from "./examples/Examples";
15
- import { makeChannel } from "sync-message";
16
- import { BackendManager } from "./BackendManager";
17
- import { appendClasses, Renderable, renderLabel, renderSelect, renderSelectOptions, renderWithOptions } from "./util/Rendering";
18
- const LANGUAGE_MAP = new Map([
19
- ["python", ProgrammingLanguage.Python],
20
- ["javascript", ProgrammingLanguage.JavaScript]
21
- ]);
22
- /**
23
- * Class that manages multiple components to form a coding scratchpad
24
- */
25
- export class Papyros extends Renderable {
26
- /**
27
- * Construct a new Papyros instance
28
- * @param {PapyrosConfig} config Properties to configure this instance
29
- */
30
- constructor(config) {
31
- super();
32
- this.config = config;
33
- i18n.locale = config.locale;
34
- this.codeRunner = new CodeRunner(config.programmingLanguage, config.inputMode);
35
- }
36
- /**
37
- * @return {RunState} The current state of the user's code
38
- */
39
- getState() {
40
- return this.codeRunner.getState();
41
- }
42
- /**
43
- * Launch this instance of Papyros, making it ready to run code
44
- * @return {Promise<Papyros>} Promise of launching, chainable
45
- */
46
- launch() {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- if (!(yield this.configureInput())) {
49
- alert(t("Papyros.service_worker_error"));
50
- }
51
- else {
52
- try {
53
- yield this.codeRunner.start();
54
- }
55
- catch (_a) {
56
- if (confirm(t("Papyros.launch_error"))) {
57
- return this.launch();
58
- }
59
- }
60
- }
61
- return this;
62
- });
63
- }
64
- /**
65
- * Set the used programming language to the given one to allow editing and running code
66
- * @param {ProgrammingLanguage} programmingLanguage The language to use
67
- */
68
- setProgrammingLanguage(programmingLanguage) {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- this.config.programmingLanguage = programmingLanguage;
71
- yield this.codeRunner.setProgrammingLanguage(programmingLanguage);
72
- });
73
- }
74
- /**
75
- * @param {string} locale The locale to use
76
- */
77
- setLocale(locale) {
78
- if (locale !== this.config.locale) {
79
- this.config.locale = locale;
80
- i18n.locale = locale;
81
- this.render();
82
- }
83
- }
84
- /**
85
- * @param {boolean} darkMode Whether to use dark mode
86
- */
87
- setDarkMode(darkMode) {
88
- if (darkMode !== this.renderOptions.darkMode) {
89
- this.renderOptions.darkMode = darkMode;
90
- this.render();
91
- }
92
- }
93
- /**
94
- * @param {string} code The code to use in the editor
95
- */
96
- setCode(code) {
97
- this.codeRunner.editor.setText(code);
98
- }
99
- /**
100
- * @return {string} The currently written code
101
- */
102
- getCode() {
103
- return this.codeRunner.editor.getText();
104
- }
105
- /**
106
- * Configure how user input is handled within Papyros
107
- * By default, we will try to use SharedArrayBuffers
108
- * If this option is not available, the optional arguments in the channelOptions config are used
109
- * They are needed to register a service worker to handle communication between threads
110
- * @return {Promise<boolean>} Promise of configuring input
111
- */
112
- configureInput() {
113
- return __awaiter(this, void 0, void 0, function* () {
114
- var _a;
115
- if (typeof SharedArrayBuffer === "undefined") {
116
- if (!((_a = this.config.channelOptions) === null || _a === void 0 ? void 0 : _a.serviceWorkerName) || !("serviceWorker" in navigator)) {
117
- return false;
118
- }
119
- const serviceWorkerRoot = this.config.channelOptions.root || cleanCurrentUrl(true);
120
- const { serviceWorkerName } = this.config.channelOptions;
121
- this.config.channelOptions.scope = serviceWorkerRoot;
122
- const serviceWorkerUrl = serviceWorkerRoot + serviceWorkerName;
123
- try {
124
- yield navigator.serviceWorker.register(serviceWorkerUrl, { scope: "/" });
125
- BackendManager.channel = makeChannel({ serviceWorker: this.config.channelOptions });
126
- }
127
- catch (e) {
128
- console.error("Error registering service worker:", e);
129
- return false;
130
- }
131
- }
132
- else {
133
- BackendManager.channel = makeChannel({
134
- atomics: Object.assign({}, this.config.channelOptions)
135
- });
136
- }
137
- return true;
138
- });
139
- }
140
- _render(renderOptions) {
141
- // Set default values for each option
142
- for (const [option, defaultParentId] of [
143
- ["inputOptions", INPUT_AREA_WRAPPER_ID], ["statusPanelOptions", PANEL_WRAPPER_ID],
144
- ["codeEditorOptions", EDITOR_WRAPPER_ID], ["outputOptions", OUTPUT_AREA_WRAPPER_ID],
145
- ["standAloneOptions", MAIN_APP_ID]
146
- ]) {
147
- const elementOptions = renderOptions[option] || {};
148
- elementOptions.darkMode = renderOptions.darkMode;
149
- appendClasses(elementOptions, "tailwind");
150
- renderOptions[option] = Object.assign({ parentElementId: defaultParentId }, elementOptions);
151
- }
152
- if (this.config.standAlone) {
153
- const { locale, programmingLanguage } = this.config;
154
- const programmingLanguageSelect = renderSelect(PROGRAMMING_LANGUAGE_SELECT_ID, new Array(...LANGUAGE_MAP.values()), l => t(`Papyros.programming_languages.${l}`), programmingLanguage, t("Papyros.programming_language"));
155
- const exampleSelect = renderSelect(EXAMPLE_SELECT_ID, getExampleNames(programmingLanguage), name => name, this.config.example, t("Papyros.examples"));
156
- const locales = [locale, ...getLocales().filter(l => l != locale)];
157
- const toggleIconClasses = renderOptions.darkMode ? "mdi-toggle-switch _tw-text-[#FF8F00]" : "mdi-toggle-switch-off _tw-text-white";
158
- const navOptions = `
159
- <div class="_tw-flex _tw-flex-row-reverse dark:_tw-text-white _tw-items-center">
160
- <!-- row-reverse to start at the right, so put elements in order of display -->
161
- <i id=${DARK_MODE_TOGGLE_ID} class="mdi ${toggleIconClasses} hover:_tw-cursor-pointer _tw-text-4xl"></i>
162
- <p class="_tw-text-white">${t("Papyros.dark_mode")}</p>
163
- ${renderSelect(LOCALE_SELECT_ID, locales, l => t(`Papyros.locales.${l}`), locale)}
164
- <i class="mdi mdi-web _tw-text-4xl _tw-text-white"></i>
165
- </div>
166
- `;
167
- const navBar = `
168
- <div class="_tw-bg-blue-500 _tw-text-white _tw-text-lg _tw-p-4 _tw-grid _tw-grid-cols-8
169
- _tw-items-center _tw-max-h-1/5 dark:_tw-bg-dark-mode-blue">
170
- <div class="_tw-col-span-6 _tw-text-4xl _tw-font-medium">
171
- ${t("Papyros.Papyros")}
172
- </div>
173
- <div class="_tw-col-span-2 _tw-text-black">
174
- ${navOptions}
175
- </div>
176
- </div>
177
- `;
178
- const header = `
179
- <!-- Header -->
180
- <div class="_tw-flex _tw-flex-row _tw-items-center">
181
- ${programmingLanguageSelect}
182
- ${exampleSelect}
183
- </div>`;
184
- renderWithOptions(renderOptions.standAloneOptions, `
185
- <div id="${MAIN_APP_ID}" class="_tw-min-h-screen _tw-h-full dark:_tw-text-white dark:_tw-bg-dark-mode-bg" style="margin-bottom: -40px; padding-bottom: 20px">
186
- ${navBar}
187
- <div class="_tw-m-10">
188
- ${header}
189
- <!--Body of the application-->
190
- <div class="_tw-grid _tw-grid-cols-2 _tw-gap-4 _tw-box-border">
191
- <!-- Code section-->
192
- <div>
193
- ${renderLabel(t("Papyros.code"), renderOptions.codeEditorOptions.parentElementId)}
194
- <div id="${renderOptions.codeEditorOptions.parentElementId}"></div>
195
- <div id="${renderOptions.statusPanelOptions.parentElementId}"></div>
196
- </div>
197
- <!-- User input and output section-->
198
- <div>
199
- ${renderLabel(t("Papyros.output"), renderOptions.outputOptions.parentElementId)}
200
- <div id="${renderOptions.outputOptions.parentElementId}"></div>
201
- ${renderLabel(t("Papyros.input"), renderOptions.inputOptions.parentElementId)}
202
- <div id="${renderOptions.inputOptions.parentElementId}"></div>
203
- </div>
204
- </div>
205
- <!-- Debugging section-->
206
- <div id="${renderOptions.traceOptions.parentElementId}" ></div>
207
- </div>
208
- </div>
209
- `);
210
- addListener(PROGRAMMING_LANGUAGE_SELECT_ID, pl => {
211
- this.setProgrammingLanguage(pl);
212
- getElement(EXAMPLE_SELECT_ID).innerHTML =
213
- renderSelectOptions(getExampleNames(pl), name => name);
214
- removeSelection(EXAMPLE_SELECT_ID);
215
- this.config.example = undefined;
216
- // Modify search query params without reloading page
217
- history.pushState(null, "", `?locale=${i18n.locale}&language=${pl}`);
218
- }, "change", "value");
219
- addListener(LOCALE_SELECT_ID, locale => {
220
- // Modify search query params without reloading page
221
- history.pushState(null, "", `?locale=${locale}&language=${this.codeRunner.getProgrammingLanguage()}`);
222
- this.setLocale(locale);
223
- }, "change", "value");
224
- addListener(EXAMPLE_SELECT_ID, (name) => __awaiter(this, void 0, void 0, function* () {
225
- this.config.example = name;
226
- const code = getCodeForExample(this.codeRunner.getProgrammingLanguage(), name);
227
- yield this.codeRunner.reset();
228
- this.setCode(code);
229
- }), "change", "value");
230
- // If example is null, it removes the selection
231
- getElement(EXAMPLE_SELECT_ID).value = this.config.example;
232
- addListener(DARK_MODE_TOGGLE_ID, () => {
233
- this.setDarkMode(!renderOptions.darkMode);
234
- }, "click");
235
- }
236
- this.codeRunner.render({
237
- statusPanelOptions: renderOptions.statusPanelOptions,
238
- inputOptions: renderOptions.inputOptions,
239
- codeEditorOptions: renderOptions.codeEditorOptions,
240
- outputOptions: renderOptions.outputOptions,
241
- traceOptions: renderOptions.traceOptions,
242
- });
243
- }
244
- /**
245
- * Add a button to the status panel within Papyros
246
- * @param {ButtonOptions} options Options to render the button with
247
- * @param {function} onClick Listener for click events on the button
248
- */
249
- addButton(options, onClick) {
250
- this.codeRunner.addButton(options, onClick);
251
- }
252
- /**
253
- * @param {ProgrammingLanguage} language The language to check
254
- * @return {boolean} Whether Papyros supports this language by default
255
- */
256
- static supportsProgrammingLanguage(language) {
257
- return Papyros.toProgrammingLanguage(language) !== undefined;
258
- }
259
- /**
260
- * Convert a string to a ProgrammingLanguage
261
- * @param {string} language The language to convert
262
- * @return {ProgrammingLanguage | undefined} The ProgrammingLanguage, or undefined if not supported
263
- */
264
- static toProgrammingLanguage(language) {
265
- return LANGUAGE_MAP.get(language.toLowerCase());
266
- }
267
- }
268
- //# sourceMappingURL=Papyros.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Papyros.js","sourceRoot":"","sources":["../src/Papyros.ts"],"names":[],"mappings":"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"}
@@ -1,180 +0,0 @@
1
- export declare const TRANSLATIONS: {
2
- en: {
3
- Papyros: {
4
- Papyros: string;
5
- code: string;
6
- code_placeholder: string;
7
- input: string;
8
- input_placeholder: {
9
- interactive: string;
10
- batch: string;
11
- };
12
- input_disabled: string;
13
- output: string;
14
- output_placeholder: string;
15
- stop: string;
16
- finished: string;
17
- interrupted: string;
18
- states: {
19
- running: string;
20
- stopping: string;
21
- loading: string;
22
- awaiting_input: string;
23
- ready: string;
24
- };
25
- programming_language: string;
26
- programming_languages: {
27
- Python: string;
28
- JavaScript: string;
29
- };
30
- locales: {
31
- en: string;
32
- nl: string;
33
- };
34
- switch_input_mode_to: {
35
- interactive: string;
36
- batch: string;
37
- };
38
- enter: string;
39
- examples: string;
40
- dark_mode: string;
41
- output_overflow: string;
42
- output_overflow_download: string;
43
- no_output: string;
44
- service_worker_error: string;
45
- launch_error: string;
46
- loading: string;
47
- run_modes: {
48
- doctest: string;
49
- debug: string;
50
- run: string;
51
- };
52
- used_input: string;
53
- used_input_with_prompt: string;
54
- debugger: {
55
- title: string;
56
- text_1: string;
57
- text_2: string;
58
- };
59
- editor: {
60
- test_code: {
61
- description: string;
62
- edit: string;
63
- remove: string;
64
- };
65
- };
66
- debug: {
67
- stop: string;
68
- };
69
- };
70
- };
71
- nl: {
72
- Papyros: {
73
- Papyros: string;
74
- code: string;
75
- code_placeholder: string;
76
- input: string;
77
- input_placeholder: {
78
- interactive: string;
79
- batch: string;
80
- };
81
- input_disabled: string;
82
- output: string;
83
- output_placeholder: string;
84
- stop: string;
85
- states: {
86
- running: string;
87
- stopping: string;
88
- loading: string;
89
- awaiting_input: string;
90
- ready: string;
91
- };
92
- finished: string;
93
- interrupted: string;
94
- programming_language: string;
95
- programming_languages: {
96
- Python: string;
97
- JavaScript: string;
98
- };
99
- locales: {
100
- en: string;
101
- nl: string;
102
- };
103
- switch_input_mode_to: {
104
- interactive: string;
105
- batch: string;
106
- };
107
- enter: string;
108
- examples: string;
109
- dark_mode: string;
110
- output_overflow: string;
111
- output_overflow_download: string;
112
- no_output: string;
113
- service_worker_error: string;
114
- launch_error: string;
115
- loading: string;
116
- run_modes: {
117
- doctest: string;
118
- debug: string;
119
- run: string;
120
- };
121
- used_input: string;
122
- used_input_with_prompt: string;
123
- debugger: {
124
- title: string;
125
- text_1: string;
126
- text_2: string;
127
- };
128
- editor: {
129
- test_code: {
130
- description: string;
131
- edit: string;
132
- remove: string;
133
- };
134
- };
135
- debug: {
136
- stop: string;
137
- };
138
- };
139
- };
140
- };
141
- export declare const CODE_MIRROR_TRANSLATIONS: {
142
- en: {
143
- "Go to line": string;
144
- go: string;
145
- Find: string;
146
- Replace: string;
147
- next: string;
148
- previous: string;
149
- all: string;
150
- "match case": string;
151
- replace: string;
152
- "replace all": string;
153
- close: string;
154
- };
155
- nl: {
156
- "Control character": string;
157
- "Folded lines": string;
158
- "Unfolded lines": string;
159
- to: string;
160
- "folded code": string;
161
- unfold: string;
162
- "Fold line": string;
163
- "Unfold line": string;
164
- "Go to line": string;
165
- go: string;
166
- Find: string;
167
- Replace: string;
168
- next: string;
169
- previous: string;
170
- all: string;
171
- "match case": string;
172
- replace: string;
173
- "replace all": string;
174
- close: string;
175
- "current match": string;
176
- "on line": string;
177
- Diagnostics: string;
178
- "No diagnostics": string;
179
- };
180
- };