@dodona/papyros 4.1.1 → 4.1.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 (168) hide show
  1. package/dist/Library.d.ts +11 -0
  2. package/dist/Library.js +11 -0
  3. package/dist/Library.js.map +1 -0
  4. package/dist/ProgrammingLanguage.d.ts +7 -0
  5. package/dist/ProgrammingLanguage.js +9 -0
  6. package/dist/ProgrammingLanguage.js.map +1 -0
  7. package/dist/backend/Backend.d.ts +92 -0
  8. package/dist/backend/Backend.js +79 -0
  9. package/dist/backend/Backend.js.map +1 -0
  10. package/dist/backend/workers/javascript/JavaScriptWorker.d.ts +39 -0
  11. package/dist/backend/workers/javascript/JavaScriptWorker.js +158 -0
  12. package/dist/backend/workers/javascript/JavaScriptWorker.js.map +1 -0
  13. package/dist/backend/workers/javascript/worker.d.ts +1 -0
  14. package/dist/backend/workers/javascript/worker.js +5 -0
  15. package/dist/backend/workers/javascript/worker.js.map +1 -0
  16. package/dist/backend/workers/python/PythonWorker.d.ts +32 -0
  17. package/dist/backend/workers/python/PythonWorker.js +117 -0
  18. package/dist/backend/workers/python/PythonWorker.js.map +1 -0
  19. package/dist/backend/workers/python/python_package.tar.gz.load_by_url +0 -0
  20. package/dist/backend/workers/python/worker.d.ts +1 -0
  21. package/dist/backend/workers/python/worker.js +5 -0
  22. package/dist/backend/workers/python/worker.js.map +1 -0
  23. package/dist/communication/BackendEvent.d.ts +33 -0
  24. package/dist/communication/BackendEvent.js +18 -0
  25. package/dist/communication/BackendEvent.js.map +1 -0
  26. package/dist/communication/BackendEventQueue.d.ts +59 -0
  27. package/dist/communication/BackendEventQueue.js +96 -0
  28. package/dist/communication/BackendEventQueue.js.map +1 -0
  29. package/dist/communication/BackendManager.d.ts +68 -0
  30. package/dist/communication/BackendManager.js +99 -0
  31. package/dist/communication/BackendManager.js.map +1 -0
  32. package/dist/communication/InputServiceWorker.d.ts +1 -0
  33. package/dist/communication/InputServiceWorker.js +37 -0
  34. package/dist/communication/InputServiceWorker.js.map +1 -0
  35. package/dist/communication/InputWorker.d.ts +22 -0
  36. package/dist/communication/InputWorker.js +63 -0
  37. package/dist/communication/InputWorker.js.map +1 -0
  38. package/dist/frontend/components/CodeRunner.d.ts +9 -0
  39. package/dist/frontend/components/CodeRunner.js +60 -0
  40. package/dist/frontend/components/CodeRunner.js.map +1 -0
  41. package/dist/frontend/components/Debugger.d.ts +7 -0
  42. package/dist/frontend/components/Debugger.js +75 -0
  43. package/dist/frontend/components/Debugger.js.map +1 -0
  44. package/dist/frontend/components/Input.d.ts +13 -0
  45. package/dist/frontend/components/Input.js +60 -0
  46. package/dist/frontend/components/Input.js.map +1 -0
  47. package/dist/frontend/components/Output.d.ts +14 -0
  48. package/dist/frontend/components/Output.js +157 -0
  49. package/dist/frontend/components/Output.js.map +1 -0
  50. package/dist/frontend/components/PapyrosElement.d.ts +8 -0
  51. package/dist/frontend/components/PapyrosElement.js +24 -0
  52. package/dist/frontend/components/PapyrosElement.js.map +1 -0
  53. package/dist/frontend/components/app/App.d.ts +24 -0
  54. package/dist/frontend/components/app/App.js +207 -0
  55. package/dist/frontend/components/app/App.js.map +1 -0
  56. package/dist/frontend/components/app/ExamplePicker.d.ts +7 -0
  57. package/dist/frontend/components/app/ExamplePicker.js +36 -0
  58. package/dist/frontend/components/app/ExamplePicker.js.map +1 -0
  59. package/dist/frontend/components/app/LanguagePicker.d.ts +7 -0
  60. package/dist/frontend/components/app/LanguagePicker.js +33 -0
  61. package/dist/frontend/components/app/LanguagePicker.js.map +1 -0
  62. package/dist/frontend/components/app/ProgrammingLanguagePicker.d.ts +7 -0
  63. package/dist/frontend/components/app/ProgrammingLanguagePicker.js +38 -0
  64. package/dist/frontend/components/app/ProgrammingLanguagePicker.js.map +1 -0
  65. package/dist/frontend/components/app/examples/JavaScriptExamples.d.ts +5 -0
  66. package/dist/frontend/components/app/examples/JavaScriptExamples.js +16 -0
  67. package/dist/frontend/components/app/examples/JavaScriptExamples.js.map +1 -0
  68. package/dist/frontend/components/app/examples/PythonExamples.d.ts +14 -0
  69. package/dist/frontend/components/app/examples/PythonExamples.js +163 -0
  70. package/dist/frontend/components/app/examples/PythonExamples.js.map +1 -0
  71. package/dist/frontend/components/app/themes/ThemePicker.d.ts +11 -0
  72. package/dist/frontend/components/app/themes/ThemePicker.js +48 -0
  73. package/dist/frontend/components/app/themes/ThemePicker.js.map +1 -0
  74. package/dist/frontend/components/app/themes/ThemedButton.d.ts +9 -0
  75. package/dist/frontend/components/app/themes/ThemedButton.js +53 -0
  76. package/dist/frontend/components/app/themes/ThemedButton.js.map +1 -0
  77. package/dist/frontend/components/code_mirror/BatchInputEditor.d.ts +8 -0
  78. package/dist/frontend/components/code_mirror/BatchInputEditor.js +51 -0
  79. package/dist/frontend/components/code_mirror/BatchInputEditor.js.map +1 -0
  80. package/dist/frontend/components/code_mirror/CodeEditor.d.ts +24 -0
  81. package/dist/frontend/components/code_mirror/CodeEditor.js +204 -0
  82. package/dist/frontend/components/code_mirror/CodeEditor.js.map +1 -0
  83. package/dist/frontend/components/code_mirror/CodeMirrorEditor.d.ts +22 -0
  84. package/dist/frontend/components/code_mirror/CodeMirrorEditor.js +111 -0
  85. package/dist/frontend/components/code_mirror/CodeMirrorEditor.js.map +1 -0
  86. package/dist/frontend/components/code_mirror/Extensions.d.ts +15 -0
  87. package/dist/frontend/components/code_mirror/Extensions.js +164 -0
  88. package/dist/frontend/components/code_mirror/Extensions.js.map +1 -0
  89. package/dist/frontend/components/code_mirror/MaterialTheme.d.ts +5 -0
  90. package/dist/frontend/components/code_mirror/MaterialTheme.js +115 -0
  91. package/dist/frontend/components/code_mirror/MaterialTheme.js.map +1 -0
  92. package/dist/frontend/components/code_runner/ButtonLint.d.ts +9 -0
  93. package/dist/frontend/components/code_runner/ButtonLint.js +72 -0
  94. package/dist/frontend/components/code_runner/ButtonLint.js.map +1 -0
  95. package/dist/frontend/components/code_runner/Code.d.ts +7 -0
  96. package/dist/frontend/components/code_runner/Code.js +48 -0
  97. package/dist/frontend/components/code_runner/Code.js.map +1 -0
  98. package/dist/frontend/components/code_runner/RunState.d.ts +7 -0
  99. package/dist/frontend/components/code_runner/RunState.js +41 -0
  100. package/dist/frontend/components/code_runner/RunState.js.map +1 -0
  101. package/dist/frontend/components/input/BatchInput.d.ts +9 -0
  102. package/dist/frontend/components/input/BatchInput.js +53 -0
  103. package/dist/frontend/components/input/BatchInput.js.map +1 -0
  104. package/dist/frontend/components/input/InteractiveInput.d.ts +13 -0
  105. package/dist/frontend/components/input/InteractiveInput.js +71 -0
  106. package/dist/frontend/components/input/InteractiveInput.js.map +1 -0
  107. package/dist/frontend/state/Constants.d.ts +38 -0
  108. package/dist/frontend/state/Constants.js +111 -0
  109. package/dist/frontend/state/Constants.js.map +1 -0
  110. package/dist/frontend/state/Debugger.d.ts +23 -0
  111. package/dist/frontend/state/Debugger.js +86 -0
  112. package/dist/frontend/state/Debugger.js.map +1 -0
  113. package/dist/frontend/state/Examples.d.ts +11 -0
  114. package/dist/frontend/state/Examples.js +36 -0
  115. package/dist/frontend/state/Examples.js.map +1 -0
  116. package/dist/frontend/state/I18n.d.ts +16 -0
  117. package/dist/frontend/state/I18n.js +75 -0
  118. package/dist/frontend/state/I18n.js.map +1 -0
  119. package/dist/frontend/state/InputOutput.d.ts +64 -0
  120. package/dist/frontend/state/InputOutput.js +146 -0
  121. package/dist/frontend/state/InputOutput.js.map +1 -0
  122. package/dist/frontend/state/Papyros.d.ts +40 -0
  123. package/dist/frontend/state/Papyros.js +115 -0
  124. package/dist/frontend/state/Papyros.js.map +1 -0
  125. package/dist/frontend/state/Runner.d.ts +123 -0
  126. package/dist/frontend/state/Runner.js +372 -0
  127. package/dist/frontend/state/Runner.js.map +1 -0
  128. package/dist/frontend/state/Test.d.ts +10 -0
  129. package/dist/frontend/state/Test.js +43 -0
  130. package/dist/frontend/state/Test.js.map +1 -0
  131. package/dist/frontend/state/Translations.d.ts +178 -0
  132. package/dist/frontend/state/Translations.js +187 -0
  133. package/dist/frontend/state/Translations.js.map +1 -0
  134. package/dist/frontend/state/themes/blue-dark.d.ts +2 -0
  135. package/dist/frontend/state/themes/blue-dark.js +56 -0
  136. package/dist/frontend/state/themes/blue-dark.js.map +1 -0
  137. package/dist/frontend/state/themes/blue-light.d.ts +2 -0
  138. package/dist/frontend/state/themes/blue-light.js +56 -0
  139. package/dist/frontend/state/themes/blue-light.js.map +1 -0
  140. package/dist/frontend/state/themes/green-dark.d.ts +2 -0
  141. package/dist/frontend/state/themes/green-dark.js +56 -0
  142. package/dist/frontend/state/themes/green-dark.js.map +1 -0
  143. package/dist/frontend/state/themes/green-light.d.ts +2 -0
  144. package/dist/frontend/state/themes/green-light.js +56 -0
  145. package/dist/frontend/state/themes/green-light.js.map +1 -0
  146. package/dist/frontend/state/themes/red-dark.d.ts +2 -0
  147. package/dist/frontend/state/themes/red-dark.js +56 -0
  148. package/dist/frontend/state/themes/red-dark.js.map +1 -0
  149. package/dist/frontend/state/themes/red-light.d.ts +2 -0
  150. package/dist/frontend/state/themes/red-light.js +56 -0
  151. package/dist/frontend/state/themes/red-light.js.map +1 -0
  152. package/dist/util/Logging.d.ts +15 -0
  153. package/dist/util/Logging.js +30 -0
  154. package/dist/util/Logging.js.map +1 -0
  155. package/dist/util/Util.d.ts +8 -0
  156. package/dist/util/Util.js +48 -0
  157. package/dist/util/Util.js.map +1 -0
  158. package/package.json +1 -1
  159. package/dist/assets/__vite-browser-external-9wXp6ZBx.js +0 -1
  160. package/dist/assets/__vite-browser-external-BIHI7g3E.js +0 -1
  161. package/dist/assets/index-C1AWjGcU.js +0 -2202
  162. package/dist/assets/manifest-BaVmi6rC.json +0 -15
  163. package/dist/assets/python_package.tar.gz-B8aMWvGt.load_by_url +0 -0
  164. package/dist/assets/worker-BhABRh01.js +0 -5
  165. package/dist/assets/worker-C2Ju1j5g.js +0 -110
  166. package/dist/index.html +0 -26
  167. package/dist/manifest.json +0 -15
  168. package/dist/robots.txt +0 -3
@@ -0,0 +1,56 @@
1
+ import { css } from "lit";
2
+ export default css `
3
+ :root,
4
+ :host {
5
+ --md-sys-color-primary: rgb(255 181 160);
6
+ --md-sys-color-surface-tint: rgb(255 181 160);
7
+ --md-sys-color-on-primary: rgb(86 31 15);
8
+ --md-sys-color-primary-container: rgb(114 53 35);
9
+ --md-sys-color-on-primary-container: rgb(255 219 209);
10
+ --md-sys-color-secondary: rgb(231 189 178);
11
+ --md-sys-color-on-secondary: rgb(68 42 34);
12
+ --md-sys-color-secondary-container: rgb(93 64 55);
13
+ --md-sys-color-on-secondary-container: rgb(255 219 209);
14
+ --md-sys-color-tertiary: rgb(216 197 141);
15
+ --md-sys-color-on-tertiary: rgb(59 47 5);
16
+ --md-sys-color-tertiary-container: rgb(83 70 25);
17
+ --md-sys-color-on-tertiary-container: rgb(245 225 167);
18
+ --md-sys-color-error: rgb(255 180 171);
19
+ --md-sys-color-on-error: rgb(105 0 5);
20
+ --md-sys-color-error-container: rgb(147 0 10);
21
+ --md-sys-color-on-error-container: rgb(255 218 214);
22
+ --md-sys-color-background: rgb(26 17 15);
23
+ --md-sys-color-on-background: rgb(241 223 218);
24
+ --md-sys-color-surface: rgb(26 17 15);
25
+ --md-sys-color-on-surface: rgb(241 223 218);
26
+ --md-sys-color-surface-variant: rgb(83 67 63);
27
+ --md-sys-color-on-surface-variant: rgb(216 194 188);
28
+ --md-sys-color-outline: rgb(160 140 135);
29
+ --md-sys-color-outline-variant: rgb(83 67 63);
30
+ --md-sys-color-shadow: rgb(0 0 0);
31
+ --md-sys-color-scrim: rgb(0 0 0);
32
+ --md-sys-color-inverse-surface: rgb(241 223 218);
33
+ --md-sys-color-inverse-on-surface: rgb(57 46 43);
34
+ --md-sys-color-inverse-primary: rgb(143 76 56);
35
+ --md-sys-color-primary-fixed: rgb(255 219 209);
36
+ --md-sys-color-on-primary-fixed: rgb(58 11 1);
37
+ --md-sys-color-primary-fixed-dim: rgb(255 181 160);
38
+ --md-sys-color-on-primary-fixed-variant: rgb(114 53 35);
39
+ --md-sys-color-secondary-fixed: rgb(255 219 209);
40
+ --md-sys-color-on-secondary-fixed: rgb(44 21 15);
41
+ --md-sys-color-secondary-fixed-dim: rgb(231 189 178);
42
+ --md-sys-color-on-secondary-fixed-variant: rgb(93 64 55);
43
+ --md-sys-color-tertiary-fixed: rgb(245 225 167);
44
+ --md-sys-color-on-tertiary-fixed: rgb(35 27 0);
45
+ --md-sys-color-tertiary-fixed-dim: rgb(216 197 141);
46
+ --md-sys-color-on-tertiary-fixed-variant: rgb(83 70 25);
47
+ --md-sys-color-surface-dim: rgb(26 17 15);
48
+ --md-sys-color-surface-bright: rgb(66 55 52);
49
+ --md-sys-color-surface-container-lowest: rgb(20 12 10);
50
+ --md-sys-color-surface-container-low: rgb(35 25 23);
51
+ --md-sys-color-surface-container: rgb(39 29 27);
52
+ --md-sys-color-surface-container-high: rgb(50 40 37);
53
+ --md-sys-color-surface-container-highest: rgb(61 50 47);
54
+ }
55
+ `;
56
+ //# sourceMappingURL=red-dark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"red-dark.js","sourceRoot":"","sources":["../../../../src/frontend/state/themes/red-dark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,56 @@
1
+ import { css } from "lit";
2
+ export default css `
3
+ :root,
4
+ :host {
5
+ --md-sys-color-primary: rgb(143 76 56);
6
+ --md-sys-color-surface-tint: rgb(143 76 56);
7
+ --md-sys-color-on-primary: rgb(255 255 255);
8
+ --md-sys-color-primary-container: rgb(255 219 209);
9
+ --md-sys-color-on-primary-container: rgb(114 53 35);
10
+ --md-sys-color-secondary: rgb(119 87 78);
11
+ --md-sys-color-on-secondary: rgb(255 255 255);
12
+ --md-sys-color-secondary-container: rgb(255 219 209);
13
+ --md-sys-color-on-secondary-container: rgb(93 64 55);
14
+ --md-sys-color-tertiary: rgb(108 93 47);
15
+ --md-sys-color-on-tertiary: rgb(255 255 255);
16
+ --md-sys-color-tertiary-container: rgb(245 225 167);
17
+ --md-sys-color-on-tertiary-container: rgb(83 70 25);
18
+ --md-sys-color-error: rgb(186 26 26);
19
+ --md-sys-color-on-error: rgb(255 255 255);
20
+ --md-sys-color-error-container: rgb(255 218 214);
21
+ --md-sys-color-on-error-container: rgb(147 0 10);
22
+ --md-sys-color-background: rgb(255 248 246);
23
+ --md-sys-color-on-background: rgb(35 25 23);
24
+ --md-sys-color-surface: rgb(255 248 246);
25
+ --md-sys-color-on-surface: rgb(35 25 23);
26
+ --md-sys-color-surface-variant: rgb(245 222 216);
27
+ --md-sys-color-on-surface-variant: rgb(83 67 63);
28
+ --md-sys-color-outline: rgb(133 115 110);
29
+ --md-sys-color-outline-variant: rgb(216 194 188);
30
+ --md-sys-color-shadow: rgb(0 0 0);
31
+ --md-sys-color-scrim: rgb(0 0 0);
32
+ --md-sys-color-inverse-surface: rgb(57 46 43);
33
+ --md-sys-color-inverse-on-surface: rgb(255 237 232);
34
+ --md-sys-color-inverse-primary: rgb(255 181 160);
35
+ --md-sys-color-primary-fixed: rgb(255 219 209);
36
+ --md-sys-color-on-primary-fixed: rgb(58 11 1);
37
+ --md-sys-color-primary-fixed-dim: rgb(255 181 160);
38
+ --md-sys-color-on-primary-fixed-variant: rgb(114 53 35);
39
+ --md-sys-color-secondary-fixed: rgb(255 219 209);
40
+ --md-sys-color-on-secondary-fixed: rgb(44 21 15);
41
+ --md-sys-color-secondary-fixed-dim: rgb(231 189 178);
42
+ --md-sys-color-on-secondary-fixed-variant: rgb(93 64 55);
43
+ --md-sys-color-tertiary-fixed: rgb(245 225 167);
44
+ --md-sys-color-on-tertiary-fixed: rgb(35 27 0);
45
+ --md-sys-color-tertiary-fixed-dim: rgb(216 197 141);
46
+ --md-sys-color-on-tertiary-fixed-variant: rgb(83 70 25);
47
+ --md-sys-color-surface-dim: rgb(232 214 210);
48
+ --md-sys-color-surface-bright: rgb(255 248 246);
49
+ --md-sys-color-surface-container-lowest: rgb(255 255 255);
50
+ --md-sys-color-surface-container-low: rgb(255 241 237);
51
+ --md-sys-color-surface-container: rgb(252 234 229);
52
+ --md-sys-color-surface-container-high: rgb(247 228 224);
53
+ --md-sys-color-surface-container-highest: rgb(241 223 218);
54
+ }
55
+ `;
56
+ //# sourceMappingURL=red-light.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"red-light.js","sourceRoot":"","sources":["../../../../src/frontend/state/themes/red-light.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDjB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Enum representing the importance of a log message
3
+ * This is helpful for debugging while allowing filtering in production
4
+ */
5
+ export declare enum LogType {
6
+ Debug = 0,
7
+ Error = 1,
8
+ Important = 2
9
+ }
10
+ /**
11
+ * Helper method to log useful information at runtime
12
+ * @param {LogType} logType The importance of this log message
13
+ * @param {any[]} args The data to log
14
+ */
15
+ export declare function papyrosLog(logType: LogType, ...args: any[]): void;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Enum representing the importance of a log message
3
+ * This is helpful for debugging while allowing filtering in production
4
+ */
5
+ export var LogType;
6
+ (function (LogType) {
7
+ LogType[LogType["Debug"] = 0] = "Debug";
8
+ LogType[LogType["Error"] = 1] = "Error";
9
+ LogType[LogType["Important"] = 2] = "Important";
10
+ })(LogType || (LogType = {}));
11
+ const ENVIRONMENT = process.env.NODE_ENV || "development";
12
+ // Log everything in development
13
+ const SHOULD_LOG = ENVIRONMENT !== "production";
14
+ /**
15
+ * Helper method to log useful information at runtime
16
+ * @param {LogType} logType The importance of this log message
17
+ * @param {any[]} args The data to log
18
+ */
19
+ export function papyrosLog(logType, ...args) {
20
+ const doLog = SHOULD_LOG || logType !== LogType.Debug;
21
+ if (doLog) {
22
+ if (logType === LogType.Error) {
23
+ console.error(...args);
24
+ }
25
+ else {
26
+ console.log(...args);
27
+ }
28
+ }
29
+ }
30
+ //# sourceMappingURL=Logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logging.js","sourceRoot":"","sources":["../../src/util/Logging.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACf,uCAAK,CAAA;IACL,uCAAK,CAAA;IACL,+CAAS,CAAA;AACb,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAED,MAAM,WAAW,GAAW,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC;AAClE,gCAAgC;AAChC,MAAM,UAAU,GAAG,WAAW,KAAK,YAAY,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,GAAG,IAAW;IACvD,MAAM,KAAK,GAAG,UAAU,IAAI,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC;IACtD,IAAI,KAAK,EAAE,CAAC;QACR,IAAI,OAAO,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Parse the data contained within a PapyrosEvent using its contentType
3
+ * Supported content types are: text/plain, text/json, img/png;base64
4
+ * @param {string} data The data to parse
5
+ * @param {string} contentType The content type of the data
6
+ * @return {any} The parsed data
7
+ */
8
+ export declare function parseData(data: string, contentType?: string): any;
@@ -0,0 +1,48 @@
1
+ import { LogType, papyrosLog } from "./Logging";
2
+ /**
3
+ * Parse the data contained within a PapyrosEvent using its contentType
4
+ * Supported content types are: text/plain, text/json, img/png;base64
5
+ * @param {string} data The data to parse
6
+ * @param {string} contentType The content type of the data
7
+ * @return {any} The parsed data
8
+ */
9
+ export function parseData(data, contentType) {
10
+ if (!contentType) {
11
+ return data;
12
+ }
13
+ const [baseType, specificType] = contentType.split("/");
14
+ switch (baseType) {
15
+ case "text": {
16
+ switch (specificType) {
17
+ case "plain": {
18
+ return data;
19
+ }
20
+ case "json": {
21
+ return JSON.parse(data);
22
+ }
23
+ case "integer": {
24
+ return parseInt(data);
25
+ }
26
+ case "float": {
27
+ return parseFloat(data);
28
+ }
29
+ }
30
+ break;
31
+ }
32
+ case "img": {
33
+ switch (specificType) {
34
+ case "png;base64": {
35
+ return data;
36
+ }
37
+ }
38
+ break;
39
+ }
40
+ case "application": {
41
+ // Content such as application/json does not need parsing as it is in the correct shape
42
+ return data;
43
+ }
44
+ }
45
+ papyrosLog(LogType.Important, `Unhandled content type: ${contentType}`);
46
+ return data;
47
+ }
48
+ //# sourceMappingURL=Util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../src/util/Util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,WAAoB;IACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,CAAC,CAAC;YACV,QAAQ,YAAY,EAAE,CAAC;gBACnB,KAAK,OAAO,CAAC,CAAC,CAAC;oBACX,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACb,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACX,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC;YACD,MAAM;QACV,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACT,QAAQ,YAAY,EAAE,CAAC;gBACnB,KAAK,YAAY,CAAC,CAAC,CAAC;oBAChB,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,MAAM;QACV,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACjB,uFAAuF;YACvF,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,2BAA2B,WAAW,EAAE,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dodona/papyros",
3
- "version": "4.1.1",
3
+ "version": "4.1.2",
4
4
  "private": false,
5
5
  "homepage": ".",
6
6
  "dependencies": {
@@ -1 +0,0 @@
1
- var e={};export{e as default};
@@ -1 +0,0 @@
1
- const e={};export{e as default};