@testgorilla/tgo-coding-test 0.0.1 → 1.0.0

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 (354) hide show
  1. package/README.md +49 -2
  2. package/esm2022/index.mjs +12 -0
  3. package/esm2022/lib/components/code-editor/code-editor.component.mjs +335 -0
  4. package/esm2022/lib/components/code-editor/code-editor.service.mjs +72 -0
  5. package/esm2022/lib/components/code-editor/helpers/c-helper.mjs +40 -0
  6. package/esm2022/lib/components/code-editor/helpers/code-editor-helper.base.mjs +11 -0
  7. package/esm2022/lib/components/code-editor/helpers/code-editor-helper.model.mjs +2 -0
  8. package/esm2022/lib/components/code-editor/helpers/cpp-helper.mjs +41 -0
  9. package/esm2022/lib/components/code-editor/helpers/csharp-helper.mjs +42 -0
  10. package/esm2022/lib/components/code-editor/helpers/go-helper.mjs +42 -0
  11. package/esm2022/lib/components/code-editor/helpers/index.mjs +16 -0
  12. package/esm2022/lib/components/code-editor/helpers/java-helper.mjs +42 -0
  13. package/esm2022/lib/components/code-editor/helpers/javascript-helper.mjs +26 -0
  14. package/esm2022/lib/components/code-editor/helpers/kotlin-helper.mjs +42 -0
  15. package/esm2022/lib/components/code-editor/helpers/php-helper.mjs +26 -0
  16. package/esm2022/lib/components/code-editor/helpers/python-helper.mjs +26 -0
  17. package/esm2022/lib/components/code-editor/helpers/r-helper.mjs +26 -0
  18. package/esm2022/lib/components/code-editor/helpers/ruby-helper.mjs +26 -0
  19. package/esm2022/lib/components/code-editor/helpers/scala-helper.mjs +41 -0
  20. package/esm2022/lib/components/code-editor/helpers/sql-helper.mjs +34 -0
  21. package/esm2022/lib/components/code-editor/helpers/swift-helper.mjs +40 -0
  22. package/esm2022/lib/components/code-editor/helpers/typescript-helper.mjs +41 -0
  23. package/esm2022/lib/components/code-editor/models/code-editor.model.mjs +2 -0
  24. package/esm2022/lib/components/code-editor/models/coding-snapshot.model.mjs +2 -0
  25. package/esm2022/lib/components/coding-question/coding-question.component.mjs +126 -0
  26. package/esm2022/lib/components/coding-section/coding-section.component.mjs +188 -0
  27. package/esm2022/lib/components/common/truncated-text/truncated-text.component.mjs +38 -0
  28. package/esm2022/lib/components/configurations/configurations.component.mjs +97 -0
  29. package/esm2022/lib/components/instructions/instructions.component.mjs +139 -0
  30. package/esm2022/lib/components/panel/panel.component.mjs +34 -0
  31. package/esm2022/lib/components/runnable-editor/runnable-editor.component.mjs +169 -0
  32. package/esm2022/lib/components/tests/test-cases/test-cases.component.mjs +198 -0
  33. package/esm2022/lib/components/tests/test-cases-content/test-cases-content.component.mjs +96 -0
  34. package/esm2022/lib/components/tests/test-cases-status/test-cases-status.component.mjs +21 -0
  35. package/esm2022/lib/components/tests/test-results.component.mjs +127 -0
  36. package/esm2022/lib/components/tgo-coding-test/tgo-coding-test.component.mjs +280 -0
  37. package/esm2022/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.mjs +476 -0
  38. package/esm2022/lib/config/index.mjs +2 -0
  39. package/esm2022/lib/config/tgo-coding-test.config.mjs +2 -0
  40. package/esm2022/lib/config/tgo-coding-test.provider.mjs +34 -0
  41. package/esm2022/lib/config/tgo-coding-test.token.mjs +14 -0
  42. package/esm2022/lib/models/auto-saved-data.mjs +2 -0
  43. package/esm2022/lib/models/code-event.mjs +2 -0
  44. package/esm2022/lib/models/coderunner-execution-results.mjs +2 -0
  45. package/esm2022/lib/models/configs.mjs +2 -0
  46. package/esm2022/lib/models/language-change-action.mjs +2 -0
  47. package/esm2022/lib/models/lat-languages.mjs +3 -0
  48. package/esm2022/lib/models/mixpanel-events.mjs +2 -0
  49. package/esm2022/lib/models/mode.mjs +2 -0
  50. package/esm2022/lib/models/paste-data.mjs +2 -0
  51. package/esm2022/lib/models/programming-language.mjs +2 -0
  52. package/esm2022/lib/models/test-cases.mjs +7 -0
  53. package/esm2022/lib/models/theme.mjs +2 -0
  54. package/esm2022/lib/models/translations.mjs +2 -0
  55. package/esm2022/lib/models/view-mode.mjs +8 -0
  56. package/esm2022/lib/pipes/memoize-func.pipe.mjs +39 -0
  57. package/esm2022/lib/services/candidate-coding-test-services/candidature-api.service.mjs +19 -0
  58. package/esm2022/lib/services/candidate-coding-test-services/coderunner-api.service.mjs +58 -0
  59. package/esm2022/lib/services/candidate-coding-test-services/coding-test-tour.service.mjs +89 -0
  60. package/esm2022/lib/services/candidate-coding-test-services/coding-test.service.mjs +490 -0
  61. package/esm2022/lib/services/candidate-coding-test-services/index.mjs +5 -0
  62. package/esm2022/lib/services/coding-test-config.service.mjs +51 -0
  63. package/esm2022/lib/services/configurations.service.mjs +89 -0
  64. package/esm2022/lib/services/lib-coding-test.service.mjs +106 -0
  65. package/esm2022/lib/services/storage.service.mjs +624 -0
  66. package/esm2022/lib/services/test-cases.service.mjs +30 -0
  67. package/esm2022/lib/services/theme.service.mjs +36 -0
  68. package/esm2022/lib/utils/additional-languages/erlang.mjs +103 -0
  69. package/esm2022/lib/utils/resize-element.mjs +13 -0
  70. package/esm2022/lib/utils/time-to-ms.util.mjs +11 -0
  71. package/esm2022/shared/index.mjs +5 -0
  72. package/esm2022/shared/lib/components/audio-animation/audio-animation.component.mjs +114 -0
  73. package/esm2022/shared/lib/components/audio-animation/index.mjs +2 -0
  74. package/esm2022/shared/lib/components/index.mjs +3 -0
  75. package/esm2022/shared/lib/components/vimeo-video/index.mjs +2 -0
  76. package/esm2022/shared/lib/components/vimeo-video/vimeo-video.component.mjs +101 -0
  77. package/esm2022/shared/lib/models/answer.mjs +2 -0
  78. package/esm2022/shared/lib/models/assessment.mjs +2 -0
  79. package/esm2022/shared/lib/models/environment.mjs +2 -0
  80. package/esm2022/shared/lib/models/index.mjs +9 -0
  81. package/esm2022/shared/lib/models/question-component.mjs +2 -0
  82. package/esm2022/shared/lib/models/question.mjs +2 -0
  83. package/esm2022/shared/lib/models/test.mjs +2 -0
  84. package/esm2022/shared/lib/models/translations.mjs +2 -0
  85. package/esm2022/shared/lib/models/window.mjs +2 -0
  86. package/esm2022/shared/lib/services/api/api.service.mjs +97 -0
  87. package/esm2022/shared/lib/services/api/mocked-api.service.mjs +131 -0
  88. package/esm2022/shared/lib/services/environment/environment.service.mjs +13 -0
  89. package/esm2022/shared/lib/services/index.mjs +10 -0
  90. package/esm2022/shared/lib/services/localization/languages.model.mjs +19 -0
  91. package/esm2022/shared/lib/services/localization/transloco-lazy-module-utils.mjs +27 -0
  92. package/esm2022/shared/lib/services/localization/transloco-testing.module.mjs +11 -0
  93. package/esm2022/shared/lib/services/media/media.service.mjs +129 -0
  94. package/esm2022/shared/lib/services/mixpanel/mixpanel.service.mjs +30 -0
  95. package/esm2022/shared/lib/services/theme/theme.service.mjs +24 -0
  96. package/esm2022/shared/test-mocks/assessment-test.mock.mjs +112 -0
  97. package/esm2022/shared/test-mocks/index.mjs +3 -0
  98. package/esm2022/shared/test-mocks/tgo-ui.mock.mjs +39 -0
  99. package/esm2022/testgorilla-tgo-coding-test.mjs +5 -0
  100. package/fesm2022/testgorilla-tgo-coding-test.mjs +4526 -0
  101. package/fesm2022/testgorilla-tgo-coding-test.mjs.map +1 -0
  102. package/{src/index.ts → index.d.ts} +2 -19
  103. package/lib/components/code-editor/code-editor.component.d.ts +54 -0
  104. package/lib/components/code-editor/code-editor.service.d.ts +12 -0
  105. package/lib/components/code-editor/helpers/c-helper.d.ts +11 -0
  106. package/lib/components/code-editor/helpers/code-editor-helper.base.d.ts +8 -0
  107. package/lib/components/code-editor/helpers/code-editor-helper.model.d.ts +62 -0
  108. package/lib/components/code-editor/helpers/cpp-helper.d.ts +11 -0
  109. package/lib/components/code-editor/helpers/csharp-helper.d.ts +12 -0
  110. package/lib/components/code-editor/helpers/go-helper.d.ts +12 -0
  111. package/lib/components/code-editor/helpers/java-helper.d.ts +12 -0
  112. package/lib/components/code-editor/helpers/javascript-helper.d.ts +10 -0
  113. package/lib/components/code-editor/helpers/kotlin-helper.d.ts +12 -0
  114. package/lib/components/code-editor/helpers/php-helper.d.ts +10 -0
  115. package/lib/components/code-editor/helpers/python-helper.d.ts +10 -0
  116. package/lib/components/code-editor/helpers/r-helper.d.ts +10 -0
  117. package/lib/components/code-editor/helpers/ruby-helper.d.ts +10 -0
  118. package/lib/components/code-editor/helpers/scala-helper.d.ts +12 -0
  119. package/lib/components/code-editor/helpers/sql-helper.d.ts +10 -0
  120. package/lib/components/code-editor/helpers/swift-helper.d.ts +11 -0
  121. package/lib/components/code-editor/helpers/typescript-helper.d.ts +11 -0
  122. package/lib/components/code-editor/models/code-editor.model.d.ts +8 -0
  123. package/lib/components/code-editor/models/coding-snapshot.model.d.ts +4 -0
  124. package/lib/components/coding-question/coding-question.component.d.ts +45 -0
  125. package/lib/components/coding-section/coding-section.component.d.ts +52 -0
  126. package/lib/components/common/truncated-text/truncated-text.component.d.ts +13 -0
  127. package/lib/components/configurations/configurations.component.d.ts +40 -0
  128. package/lib/components/instructions/instructions.component.d.ts +48 -0
  129. package/lib/components/panel/panel.component.d.ts +12 -0
  130. package/lib/components/runnable-editor/runnable-editor.component.d.ts +53 -0
  131. package/lib/components/tests/test-cases/test-cases.component.d.ts +46 -0
  132. package/lib/components/tests/test-cases-content/test-cases-content.component.d.ts +26 -0
  133. package/lib/components/tests/test-cases-status/test-cases-status.component.d.ts +9 -0
  134. package/lib/components/tests/test-results.component.d.ts +33 -0
  135. package/lib/components/tgo-coding-test/tgo-coding-test.component.d.ts +69 -0
  136. package/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.d.ts +101 -0
  137. package/{src/lib/config/index.ts → lib/config/index.d.ts} +0 -1
  138. package/lib/config/tgo-coding-test.config.d.ts +24 -0
  139. package/{src/lib/config/tgo-coding-test.provider.ts → lib/config/tgo-coding-test.provider.d.ts} +6 -18
  140. package/lib/config/tgo-coding-test.token.d.ts +9 -0
  141. package/lib/models/auto-saved-data.d.ts +42 -0
  142. package/lib/models/code-event.d.ts +15 -0
  143. package/lib/models/coderunner-execution-results.d.ts +51 -0
  144. package/lib/models/configs.d.ts +15 -0
  145. package/lib/models/language-change-action.d.ts +4 -0
  146. package/lib/models/lat-languages.d.ts +8 -0
  147. package/lib/models/mixpanel-events.d.ts +3 -0
  148. package/lib/models/mode.d.ts +5 -0
  149. package/lib/models/paste-data.d.ts +4 -0
  150. package/lib/models/programming-language.d.ts +8 -0
  151. package/lib/models/test-cases.d.ts +67 -0
  152. package/lib/models/theme.d.ts +4 -0
  153. package/lib/models/translations.d.ts +1 -0
  154. package/lib/models/view-mode.d.ts +6 -0
  155. package/{src/lib/pipes/memoize-func.pipe.ts → lib/pipes/memoize-func.pipe.d.ts} +6 -14
  156. package/lib/services/candidate-coding-test-services/candidature-api.service.d.ts +10 -0
  157. package/lib/services/candidate-coding-test-services/coderunner-api.service.d.ts +18 -0
  158. package/lib/services/candidate-coding-test-services/coding-test-tour.service.d.ts +22 -0
  159. package/lib/services/candidate-coding-test-services/coding-test.service.d.ts +68 -0
  160. package/{src/lib/services/candidate-coding-test-services/index.ts → lib/services/candidate-coding-test-services/index.d.ts} +1 -1
  161. package/lib/services/coding-test-config.service.d.ts +38 -0
  162. package/lib/services/configurations.service.d.ts +37 -0
  163. package/lib/services/lib-coding-test.service.d.ts +69 -0
  164. package/lib/services/storage.service.d.ts +83 -0
  165. package/lib/services/test-cases.service.d.ts +12 -0
  166. package/lib/services/theme.service.d.ts +17 -0
  167. package/lib/utils/additional-languages/erlang.d.ts +37 -0
  168. package/lib/utils/resize-element.d.ts +2 -0
  169. package/lib/utils/time-to-ms.util.d.ts +1 -0
  170. package/package.json +18 -7
  171. package/shared/index.d.ts +4 -0
  172. package/shared/lib/components/audio-animation/audio-animation.component.d.ts +27 -0
  173. package/shared/lib/components/audio-animation/index.d.ts +1 -0
  174. package/shared/lib/components/index.d.ts +2 -0
  175. package/shared/lib/components/vimeo-video/index.d.ts +1 -0
  176. package/shared/lib/components/vimeo-video/vimeo-video.component.d.ts +24 -0
  177. package/shared/lib/models/answer.d.ts +17 -0
  178. package/shared/lib/models/assessment.d.ts +80 -0
  179. package/shared/lib/models/environment.d.ts +1 -0
  180. package/shared/lib/models/index.d.ts +8 -0
  181. package/shared/lib/models/question-component.d.ts +54 -0
  182. package/shared/lib/models/question.d.ts +102 -0
  183. package/shared/lib/models/test.d.ts +81 -0
  184. package/shared/lib/models/translations.d.ts +1 -0
  185. package/shared/lib/models/window.d.ts +6 -0
  186. package/shared/lib/services/api/api.service.d.ts +25 -0
  187. package/shared/lib/services/api/mocked-api.service.d.ts +35 -0
  188. package/shared/lib/services/environment/environment.service.d.ts +6 -0
  189. package/shared/lib/services/index.d.ts +9 -0
  190. package/shared/lib/services/localization/languages.model.d.ts +15 -0
  191. package/shared/lib/services/localization/transloco-lazy-module-utils.d.ts +11 -0
  192. package/shared/lib/services/localization/transloco-testing.module.d.ts +2 -0
  193. package/shared/lib/services/media/media.service.d.ts +29 -0
  194. package/shared/lib/services/mixpanel/mixpanel.service.d.ts +10 -0
  195. package/shared/lib/services/theme/theme.service.d.ts +8 -0
  196. package/shared/test-mocks/assessment-test.mock.d.ts +21 -0
  197. package/shared/test-mocks/index.d.ts +2 -0
  198. package/shared/test-mocks/tgo-ui.mock.d.ts +21 -0
  199. package/.eslintrc.json +0 -45
  200. package/jest.config.ts +0 -21
  201. package/ng-package.json +0 -14
  202. package/project.json +0 -36
  203. package/src/lib/components/.gitkeep +0 -0
  204. package/src/lib/components/code-editor/code-editor.component.html +0 -10
  205. package/src/lib/components/code-editor/code-editor.component.scss +0 -21
  206. package/src/lib/components/code-editor/code-editor.component.spec.ts +0 -136
  207. package/src/lib/components/code-editor/code-editor.component.ts +0 -369
  208. package/src/lib/components/code-editor/code-editor.mocks.ts +0 -28
  209. package/src/lib/components/code-editor/code-editor.service.spec.ts +0 -160
  210. package/src/lib/components/code-editor/code-editor.service.ts +0 -94
  211. package/src/lib/components/code-editor/helpers/c-helper.spec.ts +0 -39
  212. package/src/lib/components/code-editor/helpers/c-helper.ts +0 -51
  213. package/src/lib/components/code-editor/helpers/code-editor-helper.base.spec.ts +0 -30
  214. package/src/lib/components/code-editor/helpers/code-editor-helper.base.ts +0 -16
  215. package/src/lib/components/code-editor/helpers/code-editor-helper.mocks.ts +0 -24
  216. package/src/lib/components/code-editor/helpers/code-editor-helper.model.ts +0 -67
  217. package/src/lib/components/code-editor/helpers/cpp-helper.spec.ts +0 -40
  218. package/src/lib/components/code-editor/helpers/cpp-helper.ts +0 -52
  219. package/src/lib/components/code-editor/helpers/csharp-helper.spec.ts +0 -42
  220. package/src/lib/components/code-editor/helpers/csharp-helper.ts +0 -55
  221. package/src/lib/components/code-editor/helpers/go-helper.spec.ts +0 -41
  222. package/src/lib/components/code-editor/helpers/go-helper.ts +0 -54
  223. package/src/lib/components/code-editor/helpers/java-helper.spec.ts +0 -41
  224. package/src/lib/components/code-editor/helpers/java-helper.ts +0 -54
  225. package/src/lib/components/code-editor/helpers/javascript-helper.spec.ts +0 -39
  226. package/src/lib/components/code-editor/helpers/javascript-helper.ts +0 -32
  227. package/src/lib/components/code-editor/helpers/kotlin-helper.spec.ts +0 -41
  228. package/src/lib/components/code-editor/helpers/kotlin-helper.ts +0 -54
  229. package/src/lib/components/code-editor/helpers/php-helper.spec.ts +0 -39
  230. package/src/lib/components/code-editor/helpers/php-helper.ts +0 -32
  231. package/src/lib/components/code-editor/helpers/python-helper.spec.ts +0 -39
  232. package/src/lib/components/code-editor/helpers/python-helper.ts +0 -32
  233. package/src/lib/components/code-editor/helpers/r-helper.spec.ts +0 -39
  234. package/src/lib/components/code-editor/helpers/r-helper.ts +0 -32
  235. package/src/lib/components/code-editor/helpers/ruby-helper.spec.ts +0 -39
  236. package/src/lib/components/code-editor/helpers/ruby-helper.ts +0 -32
  237. package/src/lib/components/code-editor/helpers/scala-helper.spec.ts +0 -41
  238. package/src/lib/components/code-editor/helpers/scala-helper.ts +0 -53
  239. package/src/lib/components/code-editor/helpers/sql-helper.spec.ts +0 -87
  240. package/src/lib/components/code-editor/helpers/sql-helper.ts +0 -44
  241. package/src/lib/components/code-editor/helpers/swift-helper.spec.ts +0 -40
  242. package/src/lib/components/code-editor/helpers/swift-helper.ts +0 -51
  243. package/src/lib/components/code-editor/helpers/typescript-helper.spec.ts +0 -40
  244. package/src/lib/components/code-editor/helpers/typescript-helper.ts +0 -52
  245. package/src/lib/components/code-editor/models/code-editor.model.ts +0 -9
  246. package/src/lib/components/code-editor/models/coding-snapshot.model.ts +0 -4
  247. package/src/lib/components/coding-question/coding-question.component.html +0 -78
  248. package/src/lib/components/coding-question/coding-question.component.scss +0 -76
  249. package/src/lib/components/coding-question/coding-question.component.spec.ts +0 -85
  250. package/src/lib/components/coding-question/coding-question.component.ts +0 -102
  251. package/src/lib/components/coding-section/coding-section.component.html +0 -82
  252. package/src/lib/components/coding-section/coding-section.component.scss +0 -64
  253. package/src/lib/components/coding-section/coding-section.component.spec.ts +0 -257
  254. package/src/lib/components/coding-section/coding-section.component.ts +0 -187
  255. package/src/lib/components/coding-test.module.ts +0 -124
  256. package/src/lib/components/common/truncated-text/truncated-text.component.html +0 -6
  257. package/src/lib/components/common/truncated-text/truncated-text.component.scss +0 -18
  258. package/src/lib/components/common/truncated-text/truncated-text.component.spec.ts +0 -84
  259. package/src/lib/components/common/truncated-text/truncated-text.component.ts +0 -37
  260. package/src/lib/components/configurations/configurations.component.html +0 -57
  261. package/src/lib/components/configurations/configurations.component.scss +0 -42
  262. package/src/lib/components/configurations/configurations.component.spec.ts +0 -186
  263. package/src/lib/components/configurations/configurations.component.ts +0 -98
  264. package/src/lib/components/instructions/instructions.component.html +0 -41
  265. package/src/lib/components/instructions/instructions.component.scss +0 -167
  266. package/src/lib/components/instructions/instructions.component.spec.ts +0 -106
  267. package/src/lib/components/instructions/instructions.component.ts +0 -138
  268. package/src/lib/components/panel/panel.component.html +0 -19
  269. package/src/lib/components/panel/panel.component.scss +0 -41
  270. package/src/lib/components/panel/panel.component.spec.ts +0 -40
  271. package/src/lib/components/panel/panel.component.ts +0 -34
  272. package/src/lib/components/runnable-editor/runnable-editor.component.html +0 -75
  273. package/src/lib/components/runnable-editor/runnable-editor.component.scss +0 -55
  274. package/src/lib/components/runnable-editor/runnable-editor.component.spec.ts +0 -124
  275. package/src/lib/components/runnable-editor/runnable-editor.component.ts +0 -155
  276. package/src/lib/components/tests/test-cases/test-cases.component.html +0 -135
  277. package/src/lib/components/tests/test-cases/test-cases.component.scss +0 -220
  278. package/src/lib/components/tests/test-cases/test-cases.component.spec.ts +0 -401
  279. package/src/lib/components/tests/test-cases/test-cases.component.ts +0 -205
  280. package/src/lib/components/tests/test-cases-content/test-cases-content.component.html +0 -94
  281. package/src/lib/components/tests/test-cases-content/test-cases-content.component.scss +0 -103
  282. package/src/lib/components/tests/test-cases-content/test-cases-content.component.spec.ts +0 -122
  283. package/src/lib/components/tests/test-cases-content/test-cases-content.component.ts +0 -102
  284. package/src/lib/components/tests/test-cases-status/test-cases-status.component.html +0 -16
  285. package/src/lib/components/tests/test-cases-status/test-cases-status.component.scss +0 -49
  286. package/src/lib/components/tests/test-cases-status/test-cases-status.component.spec.ts +0 -22
  287. package/src/lib/components/tests/test-cases-status/test-cases-status.component.ts +0 -18
  288. package/src/lib/components/tests/test-results.component.html +0 -119
  289. package/src/lib/components/tests/test-results.component.scss +0 -189
  290. package/src/lib/components/tests/test-results.component.spec.ts +0 -140
  291. package/src/lib/components/tests/test-results.component.ts +0 -98
  292. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.html +0 -96
  293. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.scss +0 -6
  294. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.spec.ts +0 -599
  295. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.ts +0 -279
  296. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.html +0 -36
  297. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.scss +0 -183
  298. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.spec.ts +0 -883
  299. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.ts +0 -575
  300. package/src/lib/config/tgo-coding-test.config.ts +0 -26
  301. package/src/lib/config/tgo-coding-test.token.ts +0 -21
  302. package/src/lib/models/.gitkeep +0 -0
  303. package/src/lib/models/auto-saved-data.ts +0 -51
  304. package/src/lib/models/code-event.ts +0 -17
  305. package/src/lib/models/coderunner-execution-results.ts +0 -58
  306. package/src/lib/models/coding-lib.mocks.ts +0 -246
  307. package/src/lib/models/configs.ts +0 -18
  308. package/src/lib/models/language-change-action.ts +0 -4
  309. package/src/lib/models/lat-languages.ts +0 -12
  310. package/src/lib/models/mixpanel-events.ts +0 -3
  311. package/src/lib/models/mode.ts +0 -5
  312. package/src/lib/models/paste-data.ts +0 -4
  313. package/src/lib/models/programming-language.ts +0 -9
  314. package/src/lib/models/test-cases.ts +0 -74
  315. package/src/lib/models/theme.ts +0 -5
  316. package/src/lib/models/translations.ts +0 -1
  317. package/src/lib/models/view-mode.ts +0 -6
  318. package/src/lib/services/.gitkeep +0 -0
  319. package/src/lib/services/candidate-coding-test-services/candidature-api.service.spec.ts +0 -40
  320. package/src/lib/services/candidate-coding-test-services/candidature-api.service.ts +0 -15
  321. package/src/lib/services/candidate-coding-test-services/coderunner-api.service.spec.ts +0 -134
  322. package/src/lib/services/candidate-coding-test-services/coderunner-api.service.ts +0 -105
  323. package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.spec.ts +0 -161
  324. package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.ts +0 -100
  325. package/src/lib/services/candidate-coding-test-services/coding-test.service.spec.ts +0 -1524
  326. package/src/lib/services/candidate-coding-test-services/coding-test.service.ts +0 -843
  327. package/src/lib/services/coding-test-config.service.ts +0 -48
  328. package/src/lib/services/configurations.service.mocks.ts +0 -77
  329. package/src/lib/services/configurations.service.spec.ts +0 -79
  330. package/src/lib/services/configurations.service.ts +0 -111
  331. package/src/lib/services/index.ts +0 -0
  332. package/src/lib/services/lib-coding-test.service.spec.ts +0 -265
  333. package/src/lib/services/lib-coding-test.service.ts +0 -157
  334. package/src/lib/services/local-storage.service.mocks.ts +0 -22
  335. package/src/lib/services/storage.service.spec.ts +0 -1120
  336. package/src/lib/services/storage.service.ts +0 -729
  337. package/src/lib/services/test-cases.service.spec.ts +0 -53
  338. package/src/lib/services/test-cases.service.ts +0 -29
  339. package/src/lib/services/theme.service.spec.ts +0 -76
  340. package/src/lib/services/theme.service.ts +0 -34
  341. package/src/lib/styles/mixins.scss +0 -86
  342. package/src/lib/styles/styles.scss +0 -112
  343. package/src/lib/styles/variables.scss +0 -105
  344. package/src/lib/utils/.gitkeep +0 -0
  345. package/src/lib/utils/additional-languages/erlang.ts +0 -115
  346. package/src/lib/utils/resize-element.ts +0 -15
  347. package/src/lib/utils/time-to-ms.util.ts +0 -10
  348. package/src/test-setup.ts +0 -1
  349. package/tsconfig.json +0 -16
  350. package/tsconfig.lib.json +0 -12
  351. package/tsconfig.lib.prod.json +0 -9
  352. package/tsconfig.spec.json +0 -13
  353. /package/{src/assets → assets}/i18n/en.json +0 -0
  354. /package/{src/lib/components/code-editor/helpers/index.ts → lib/components/code-editor/helpers/index.d.ts} +0 -0
@@ -0,0 +1,67 @@
1
+ export type CustomTestCase = {
2
+ localId?: number;
3
+ name: string;
4
+ input?: string;
5
+ expectedOutput: string;
6
+ preloaded: boolean;
7
+ };
8
+ export type ExampleTestCase = CustomTestCase & {
9
+ id: number;
10
+ };
11
+ export type TestCaseResult = {
12
+ actualOutput: string;
13
+ logs: string;
14
+ status: TestCaseStatus;
15
+ };
16
+ export type AllowedModificationFields = {
17
+ input: string;
18
+ expectedOutput: string;
19
+ };
20
+ export declare enum TestCaseStatus {
21
+ Passed = "passed",
22
+ Error = "error",
23
+ Empty = "empty"
24
+ }
25
+ export interface TestCaseDeletionData {
26
+ index: number;
27
+ action: TestCaseDeletionAction;
28
+ }
29
+ export declare const enum TestCaseDeletionAction {
30
+ Try = "try",
31
+ Confirm = "confirm"
32
+ }
33
+ export interface LATFormattedTestCases {
34
+ input: string;
35
+ solution: string;
36
+ }
37
+ export interface SqlTestCase {
38
+ id?: number;
39
+ name: string;
40
+ category: CategorySqlTestCaseEnum;
41
+ /** Expected test case result */
42
+ result?: string;
43
+ initial_sql?: string;
44
+ /** Previous sql query for checking */
45
+ pre_sql?: string;
46
+ /** Post sql query for checking */
47
+ post_sql?: string;
48
+ }
49
+ export interface Testcase {
50
+ id?: number;
51
+ name: string;
52
+ input?: string;
53
+ solution?: string;
54
+ points?: number;
55
+ }
56
+ export interface GroupedTestCasesResult {
57
+ custom: {
58
+ failed: number;
59
+ passed: number;
60
+ };
61
+ example: {
62
+ failed: number;
63
+ passed: number;
64
+ };
65
+ }
66
+ type CategorySqlTestCaseEnum = 'user' | 'validation';
67
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare const enum Themes {
2
+ Default = "theme-default",
3
+ Dark = "theme-dark"
4
+ }
@@ -0,0 +1 @@
1
+ export declare const ROOT_TRANSLATIONS_SCOPE = "CODING_QUESTION";
@@ -0,0 +1,6 @@
1
+ export declare enum ViewMode {
2
+ Full = "full",
3
+ IDEOnly = "ide",
4
+ RunnableIde = "runnable-ide",
5
+ RunnableIdeWithLangSelector = "runnable-ide-w-lang-selector"
6
+ }
@@ -1,5 +1,5 @@
1
- import { Pipe, PipeTransform } from '@angular/core';
2
-
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
3
  /**
4
4
  * USAGE:
5
5
  * {{ argument | memoizeFunc : method [: context] }}
@@ -19,16 +19,8 @@ import { Pipe, PipeTransform } from '@angular/core';
19
19
  * {{ argument | memoizeFunc : method.bind(this) }}
20
20
  *
21
21
  * */
22
- @Pipe({
23
- name: 'memoizeFunc',
24
- standalone: true,
25
- })
26
- export class MemoizeFuncPipe implements PipeTransform {
27
- transform<T, K>(value: T, handler: (value: T) => K, context?: any): K {
28
- if (context) {
29
- return handler.call(context, value);
30
- }
31
-
32
- return handler(value);
33
- }
22
+ export declare class MemoizeFuncPipe implements PipeTransform {
23
+ transform<T, K>(value: T, handler: (value: T) => K, context?: any): K;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<MemoizeFuncPipe, never>;
25
+ static ɵpipe: i0.ɵɵPipeDeclaration<MemoizeFuncPipe, "memoizeFunc", true>;
34
26
  }
@@ -0,0 +1,10 @@
1
+ import { ApiService } from '../../../shared/index';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CandidatureApiService {
5
+ private apiService;
6
+ constructor(apiService: ApiService);
7
+ getAvailableLanguages$(): Observable<number[]>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<CandidatureApiService, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<CandidatureApiService>;
10
+ }
@@ -0,0 +1,18 @@
1
+ import { Observable } from 'rxjs';
2
+ import { LATFormattedTestCases, SqlTestCase } from '../../models/test-cases';
3
+ import { CoderunnerAttemptModel } from '../../models/coderunner-execution-results';
4
+ import { CodeEvent, CodeEventResponse } from '../../models/code-event';
5
+ import * as i0 from "@angular/core";
6
+ export declare class CoderunnerApiService {
7
+ private readonly snackbarService;
8
+ private readonly apiService;
9
+ private readonly configService;
10
+ private readonly CR2Url;
11
+ runPublicTest$(code: string, testcases: LATFormattedTestCases[] | SqlTestCase[], language: string): Observable<CoderunnerAttemptModel>;
12
+ runPreviewTest$(test_result_id: number, code: string, testcases: LATFormattedTestCases[] | SqlTestCase[], language: string): Observable<CoderunnerAttemptModel>;
13
+ runNonPreviewTest$(question_id: number, question_result_id: number, code: string, testcases: LATFormattedTestCases[] | SqlTestCase[], language: string): Observable<CoderunnerAttemptModel>;
14
+ sendCodeEvent$(event: CodeEvent): Observable<CodeEventResponse>;
15
+ private handleError;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoderunnerApiService, never>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<CoderunnerApiService>;
18
+ }
@@ -0,0 +1,22 @@
1
+ import { GuidedTourService } from 'ngx-guided-tour';
2
+ import * as i0 from "@angular/core";
3
+ export declare const enum CodingTestTourMode {
4
+ PracticeQuestion = "practice",
5
+ RealQuestion = "real"
6
+ }
7
+ export declare class CodingTestTourService {
8
+ private guidedTourService;
9
+ private readonly translationContext;
10
+ private readonly guidedTourId;
11
+ private readonly MINIMUM_SCREEN_SIZE;
12
+ private activeGuidedTourIdSub$;
13
+ activeGuidedTourId$: import("rxjs").Observable<string>;
14
+ constructor(guidedTourService: GuidedTourService);
15
+ init(mode: CodingTestTourMode): void;
16
+ skipTour(): void;
17
+ private start;
18
+ private publishActiveGuidedTourId;
19
+ private getTour;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<CodingTestTourService, never>;
21
+ static ɵprov: i0.ɵɵInjectableDeclaration<CodingTestTourService>;
22
+ }
@@ -0,0 +1,68 @@
1
+ import { ApplicationTheme, DialogService, SnackbarService } from '@testgorilla/tgo-ui';
2
+ import { MixpanelService, TestResultRead } from '../../../shared/index';
3
+ import { ExampleTestCase, TestCaseDeletionData } from '../../models/test-cases';
4
+ import { LibCodingTestService, ResetCodeAction } from '../lib-coding-test.service';
5
+ import { Observable } from 'rxjs';
6
+ import { CodeEventResponse } from '../../models/code-event';
7
+ import { CodingTestsResultsModel } from '../../models/coderunner-execution-results';
8
+ import { ProgrammingLanguage } from '../../models/programming-language';
9
+ import { SqlTestCase, Testcase } from '../../models/test-cases';
10
+ import { CoderunnerApiService } from './coderunner-api.service';
11
+ import * as i0 from "@angular/core";
12
+ export declare class CodingTestService {
13
+ private coderunnerApiService;
14
+ private libCodingTestService;
15
+ private mixpanel;
16
+ private snackBar;
17
+ private dialog;
18
+ readonly translationContext = "CODING_QUESTION.CODING_LIB.";
19
+ private codingTestResults;
20
+ private currentLanguage;
21
+ private codingTestResutsSubj$;
22
+ codingTestResults$: Observable<CodingTestsResultsModel>;
23
+ isTestResultsLoading: import("@angular/core").WritableSignal<boolean>;
24
+ private unsubscribe$;
25
+ private sqlTestCases;
26
+ private isSQLTest;
27
+ constructor(coderunnerApiService: CoderunnerApiService, libCodingTestService: LibCodingTestService, mixpanel: MixpanelService, snackBar: SnackbarService, dialog: DialogService);
28
+ private getBaseExampleTestCase;
29
+ transformToExampleLATtestCase: (testcase: Testcase, index: number) => ExampleTestCase;
30
+ transformToExampleSQLTestCase: (testcase: SqlTestCase, index: number) => ExampleTestCase;
31
+ setSqlTestCases(sqlTestCases: SqlTestCase[]): void;
32
+ getSqlTestCases(): SqlTestCase[];
33
+ handleResetCodeModal(applicationTheme: ApplicationTheme, companyColor: string): void;
34
+ listenDeleteCustomTestCases(): Observable<TestCaseDeletionData>;
35
+ handleDeleteTestCaseModal(index: number, applicationTheme: ApplicationTheme, companyColor: string): void;
36
+ handleLanguageChangeModal(questionResultId: number, selectedLanguage?: ProgrammingLanguage, applicationTheme?: ApplicationTheme, companyColor?: string): void;
37
+ setCurrentLanguageLAT(language: ProgrammingLanguage): void;
38
+ listenCodingTestChanges(): Observable<ResetCodeAction>;
39
+ runTest(resultId: number, code: string, isLAT?: boolean, isSQL?: boolean, publicPreview?: boolean, preview?: boolean, id?: number, testResultId?: number, testData?: TestResultRead): void;
40
+ sendCopypasteEvent$(code: string, copiedText: string, questionResultId: number): Observable<CodeEventResponse>;
41
+ sendAutosaveEvent$(code: string, questionResultId: number): Observable<CodeEventResponse>;
42
+ private sendLanguageChangeEvent$;
43
+ private getBaseEvent;
44
+ private sendCodeEvent$;
45
+ private countTestResults;
46
+ private handleTestCasesResult;
47
+ private getSQLrequest;
48
+ private runSql;
49
+ private getLATrequest;
50
+ setIsSQLTest(isSQL: boolean): void;
51
+ private runLAT;
52
+ private finalizeReq;
53
+ private getNoOutputCopies;
54
+ private getSendCodeEventStream$;
55
+ unsubscribeAll(): void;
56
+ resetRunTestSummary(): void;
57
+ trackConfigChanged(isPracticeQuestion?: boolean): void;
58
+ private getCoderunnerLogs;
59
+ private trackTestcasesRun;
60
+ private preRunTests;
61
+ private getMixpanelTestCasesData;
62
+ private getGroupedTestCaseResult;
63
+ private getMixpanelSettingsData;
64
+ private getMixpanelInstanceValue;
65
+ private publishTestResults;
66
+ static ɵfac: i0.ɵɵFactoryDeclaration<CodingTestService, never>;
67
+ static ɵprov: i0.ɵɵInjectableDeclaration<CodingTestService>;
68
+ }
@@ -1,4 +1,4 @@
1
1
  export * from './coding-test.service';
2
2
  export * from './coding-test-tour.service';
3
3
  export * from './candidature-api.service';
4
- export * from './coderunner-api.service';
4
+ export * from './coderunner-api.service';
@@ -0,0 +1,38 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Service for accessing TGO Coding Test library configuration.
4
+ *
5
+ * This service provides a clean abstraction layer over the configuration
6
+ * injection token, allowing services to access configuration values
7
+ * without directly injecting the token.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * @Injectable()
12
+ * export class MyService {
13
+ * private readonly configService = inject(CodingTestConfigService);
14
+ *
15
+ * doSomething() {
16
+ * const endpoint = this.configService.getCoderunnerV2Endpoint();
17
+ * // Use endpoint...
18
+ * }
19
+ * }
20
+ * ```
21
+ */
22
+ export declare class CodingTestConfigService {
23
+ private readonly config;
24
+ /**
25
+ * Gets the main API endpoint URL.
26
+ *
27
+ * @returns The base URL for the main API endpoint
28
+ */
29
+ getApiUrl(): string;
30
+ /**
31
+ * Gets the CodeRunner V2 API endpoint URL.
32
+ *
33
+ * @returns The base URL for the CodeRunner V2 API endpoint
34
+ */
35
+ getCoderunnerV2Endpoint(): string;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<CodingTestConfigService, never>;
37
+ static ɵprov: i0.ɵɵInjectableDeclaration<CodingTestConfigService>;
38
+ }
@@ -0,0 +1,37 @@
1
+ import { Observable } from 'rxjs';
2
+ import { Config } from '../models/configs';
3
+ import { Themes } from '../models/theme';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ConfigurationsService {
6
+ private defaultConfigs;
7
+ private formattingOptions;
8
+ private codingAssistanceOptions;
9
+ private configSubj$;
10
+ config$: Observable<Config>;
11
+ private configFieldChangedSubj$;
12
+ configFieldChanged$: Observable<Partial<Config>>;
13
+ private currentConfig;
14
+ colorTheme$: Observable<Themes>;
15
+ private codeComponentDestroyed;
16
+ private configurationsPanelOpenSubj$;
17
+ configurationsPanelOpen$: Observable<boolean>;
18
+ setColorTheme(value: Themes): void;
19
+ setConfig(config: Config): void;
20
+ trackConfigChanged(changedField: Partial<Config>): void;
21
+ getInitialConfig(): Config;
22
+ openConfigPanel(): void;
23
+ closeConfigPanel(): void;
24
+ getFormattingOptions(): {
25
+ [key: string]: {
26
+ label: string;
27
+ value: Themes | number;
28
+ }[];
29
+ };
30
+ getCodingAssistanceOptions(): {
31
+ [key: string]: boolean;
32
+ };
33
+ getCodeComponentDestroyed(): boolean;
34
+ setCodeComponentDestroyed(value: boolean): void;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationsService, never>;
36
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationsService>;
37
+ }
@@ -0,0 +1,69 @@
1
+ import { Observable } from 'rxjs';
2
+ import { CodeEditorLanguages } from '../components/code-editor/helpers/code-editor-helper.model';
3
+ import { LanguageChangeAction } from '../models/language-change-action';
4
+ import { CustomTestCase, ExampleTestCase, TestCaseDeletionData } from '../models/test-cases';
5
+ import { Themes } from '../models/theme';
6
+ import * as i0 from "@angular/core";
7
+ export declare const enum ResetCodeAction {
8
+ Try = "try",
9
+ Confirm = "confirm"
10
+ }
11
+ declare global {
12
+ interface Window {
13
+ monaco: any;
14
+ hljs: any;
15
+ }
16
+ }
17
+ export declare class LibCodingTestService {
18
+ private readonly configurationsService;
19
+ private codeResetSubj$;
20
+ codeReset$: Observable<ResetCodeAction>;
21
+ private codeChangeSubj$;
22
+ codeChange$: Observable<string>;
23
+ private isFullscreenSubj$;
24
+ isFullscreen$: Observable<boolean>;
25
+ private isBoilerplateLoadingSub$;
26
+ isBoilerplateLoading$: Observable<boolean>;
27
+ themeChanged$: Observable<Themes>;
28
+ private languageChangeSub$;
29
+ languageChange$: Observable<LanguageChangeAction>;
30
+ private testCaseDeletionSub$;
31
+ testCaseDeletion$: Observable<TestCaseDeletionData>;
32
+ private currentLanguageSub$;
33
+ currentLanguage$: Observable<CodeEditorLanguages>;
34
+ private clearSavedCodeSub$;
35
+ clearSavedCode$: Observable<boolean>;
36
+ private clearLastLangSub$;
37
+ clearLastLang$: Observable<boolean>;
38
+ private startGuidedTourSubj$;
39
+ startGuidedTour$: Observable<void>;
40
+ private testCases;
41
+ initCode: string;
42
+ private version;
43
+ configFieldChanged$: Observable<Partial<import("@testgorilla/tgo-coding-test").LibCodingConfig> | {
44
+ 'Full screen': boolean;
45
+ }>;
46
+ setFullscreen(isEnabled: boolean): void;
47
+ resetCode(): void;
48
+ startGuidedTour(): void;
49
+ confirmReset(): void;
50
+ changeCurrentCode(code: string): void;
51
+ cancelLanguageChange(): void;
52
+ confirmLanguageChange(): void;
53
+ handleTestCaseDeletion(index: number): void;
54
+ confirmTestCaseDeletion(index: number): void;
55
+ changeCurrentLanguage(value: CodeEditorLanguages): void;
56
+ updateTestCases(testCases: (ExampleTestCase | CustomTestCase)[]): void;
57
+ getTestCases(): (ExampleTestCase | CustomTestCase)[];
58
+ getValidTestCases(): (ExampleTestCase | CustomTestCase)[];
59
+ getTestCasesCount(): number;
60
+ setVersion(version: string): void;
61
+ getVersion(): string;
62
+ setInitCode(code: string): void;
63
+ getInitCode(): string;
64
+ setBoilerplateLoadingStatus(value: boolean): void;
65
+ triggerClearSavedCode(): void;
66
+ clearLastLanguageSelected(): void;
67
+ static ɵfac: i0.ɵɵFactoryDeclaration<LibCodingTestService, never>;
68
+ static ɵprov: i0.ɵɵInjectableDeclaration<LibCodingTestService>;
69
+ }
@@ -0,0 +1,83 @@
1
+ import { LocalStorageService } from 'ngx-webstorage';
2
+ import { CodeEditorLanguages } from '../components/code-editor/helpers/code-editor-helper.model';
3
+ import { Config } from '../models/configs';
4
+ import { Modes } from '../models/mode';
5
+ import { CustomTestCase, ExampleTestCase } from '../models/test-cases';
6
+ import { ConfigurationsService } from './configurations.service';
7
+ import { LibCodingTestService } from './lib-coding-test.service';
8
+ import * as i0 from "@angular/core";
9
+ export declare class StorageCodingService {
10
+ private storage;
11
+ private libCodingTestService;
12
+ private configurationsService;
13
+ private readonly CURRENT_STORAGE_VERSION;
14
+ private autoSavedData;
15
+ private readonly key;
16
+ private assessmentId;
17
+ private questionId;
18
+ private language;
19
+ private codeSaveEnabled;
20
+ private testCasesSaveEnabled;
21
+ private isLAT;
22
+ private currentMode;
23
+ private isPreview;
24
+ private codeChangeSubscription;
25
+ private configSubscription;
26
+ private isFullscreenSubscription;
27
+ private currentLanguageSubscription;
28
+ private isCodeComponentAlive;
29
+ private readonly MAX_STORAGE_AGE_DAYS;
30
+ private readonly MAX_QUESTION_DATA_AGE_DAYS;
31
+ private readonly MAX_ASSESSMENTS;
32
+ private readonly DEFAULT_MIGRATION_QUESTION_ID;
33
+ constructor(storage: LocalStorageService, libCodingTestService: LibCodingTestService, configurationsService: ConfigurationsService);
34
+ /**
35
+ * Performs a safety check on localStorage data.
36
+ * This is called at service initialization to ensure data integrity.
37
+ */
38
+ private performStorageSafetyCheck;
39
+ initializeSaving(): void;
40
+ setupAutoSavedData(language: CodeEditorLanguages, assessmentId: string, questionId: string, codeSaveEnabled: boolean, testCasesSaveEnabled: boolean, isLAT: boolean, mode: Modes): void;
41
+ private migrateFromV1ToV2;
42
+ private ensureDataStructure;
43
+ private updateLastModified;
44
+ /**
45
+ * Cleanup with a temporary age threshold
46
+ * @param maxAgeDays Maximum age in days for data to be considered valid
47
+ */
48
+ private cleanupWithReducedThreshold;
49
+ /**
50
+ * Unified method to clean up localStorage data with configurable intensity
51
+ * @param options Cleanup options to control the aggressiveness of the cleanup
52
+ */
53
+ private cleanupStorageData;
54
+ changeLanguage(language: CodeEditorLanguages): void;
55
+ /**
56
+ * Gets data from v1 schema format
57
+ * Used for backward compatibility when retrieving data
58
+ */
59
+ private getDataFromV1Schema;
60
+ getSavedCode(): string | null | undefined;
61
+ getLastLanguageLAT(): {
62
+ value: CodeEditorLanguages;
63
+ version: string;
64
+ } | null;
65
+ getSavedTestCases(): (ExampleTestCase | CustomTestCase)[] | null | undefined;
66
+ getSavedConfig(): Config | null;
67
+ getSavedFullScreenMode(): boolean | null;
68
+ clearSavedCode(): void;
69
+ clearLastLang(): void;
70
+ clearSavedTestCases(): void;
71
+ updateVersion(version: string): void;
72
+ updateTestCases(testCases: (ExampleTestCase | CustomTestCase)[]): void;
73
+ private storeData;
74
+ private retrieveData;
75
+ /**
76
+ * Manually triggers data cleanup and migration.
77
+ * Useful for handling large localStorage or migration when needed.
78
+ * This can be called from application startup or after major events.
79
+ */
80
+ performMaintenanceAndCleanup(): void;
81
+ static ɵfac: i0.ɵɵFactoryDeclaration<StorageCodingService, never>;
82
+ static ɵprov: i0.ɵɵInjectableDeclaration<StorageCodingService>;
83
+ }
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TestCasesService {
3
+ private lastTestCaseLocalId;
4
+ private activeTestCaseIndexSubj$;
5
+ activeTestCaseIndex$: import("rxjs").Observable<number>;
6
+ setActiveTestCase(index: number | null): void;
7
+ createTestCaseLocalId(): number;
8
+ updateTestCaseLocalId(value: number): void;
9
+ resetLastTestCaseLocalId(): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<TestCasesService, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<TestCasesService>;
12
+ }
@@ -0,0 +1,17 @@
1
+ import { LibCodingTestService } from './lib-coding-test.service';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ThemeService {
4
+ private libCodingService;
5
+ private defaultCompanyColor;
6
+ private companyColorSubject;
7
+ private themeSubject;
8
+ themeColors$: import("rxjs").Observable<{
9
+ companyColor: string;
10
+ themeSpecificColor: string;
11
+ }>;
12
+ constructor(libCodingService: LibCodingTestService);
13
+ set companyColor(color: string);
14
+ private getAdjustedColorForTheme;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<ThemeService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<ThemeService>;
17
+ }
@@ -0,0 +1,37 @@
1
+ export declare const erlangLanguage: {
2
+ defaultToken: string;
3
+ keywords: string[];
4
+ typeKeywords: string[];
5
+ operators: string[];
6
+ symbols: RegExp;
7
+ tokenizer: {
8
+ root: ((string | RegExp)[] | (RegExp | {
9
+ cases: {
10
+ '@keywords': string;
11
+ '@default': string;
12
+ };
13
+ })[] | {
14
+ include: string;
15
+ } | (RegExp | {
16
+ cases: {
17
+ '@operators': string;
18
+ '@default': string;
19
+ };
20
+ })[] | (RegExp | {
21
+ token: string;
22
+ bracket: string;
23
+ next: string;
24
+ })[])[];
25
+ string: ((string | RegExp)[] | (RegExp | {
26
+ token: string;
27
+ bracket: string;
28
+ next: string;
29
+ })[])[];
30
+ atom: ((string | RegExp)[] | (RegExp | {
31
+ token: string;
32
+ bracket: string;
33
+ next: string;
34
+ })[])[];
35
+ whitespace: (string | RegExp)[][];
36
+ };
37
+ };
@@ -0,0 +1,2 @@
1
+ import { Observable } from 'rxjs';
2
+ export declare function resizeElement(element: Element): Observable<ResizeObserverEntry>;
@@ -0,0 +1 @@
1
+ export declare function timeToMs(time: number, type?: 'days' | 'hours'): number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@testgorilla/tgo-coding-test",
3
- "version": "0.0.1",
3
+ "version": "1.0.0",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "^18.2.13",
6
6
  "@angular/common": "^18.2.13",
@@ -10,7 +10,6 @@
10
10
  "@angular/router": "^18.2.13",
11
11
  "@ngneat/transloco": "~4.3.0",
12
12
  "@ngneat/until-destroy": "10.0.0",
13
- "@testgorilla/tgo-test-shared": "^0.0.1",
14
13
  "@testgorilla/tgo-ui": "^3.0.0",
15
14
  "angular-split": "^18.0.0",
16
15
  "jest-preset-angular": "~14.2.4",
@@ -24,10 +23,22 @@
24
23
  },
25
24
  "sideEffects": false,
26
25
  "license": "PROPRIETARY",
27
- "publishConfig": {
28
- "access": "restricted",
29
- "registry": "https://registry.npmjs.org/"
30
- },
31
26
  "displayName": "Coding test",
32
- "description": "Coding test component"
27
+ "description": "Coding test component",
28
+ "module": "fesm2022/testgorilla-tgo-coding-test.mjs",
29
+ "typings": "index.d.ts",
30
+ "exports": {
31
+ "./package.json": {
32
+ "default": "./package.json"
33
+ },
34
+ ".": {
35
+ "types": "./index.d.ts",
36
+ "esm2022": "./esm2022/testgorilla-tgo-coding-test.mjs",
37
+ "esm": "./esm2022/testgorilla-tgo-coding-test.mjs",
38
+ "default": "./fesm2022/testgorilla-tgo-coding-test.mjs"
39
+ }
40
+ },
41
+ "dependencies": {
42
+ "tslib": "^2.3.0"
43
+ }
33
44
  }
@@ -0,0 +1,4 @@
1
+ export * from './lib/components';
2
+ export * from './lib/models';
3
+ export * from './lib/services';
4
+ export * from './test-mocks';
@@ -0,0 +1,27 @@
1
+ import { OnChanges, OnDestroy, WritableSignal } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AudioAnimationComponent implements OnChanges, OnDestroy {
4
+ volume: number;
5
+ fakeData: boolean;
6
+ private isAnimationRunning;
7
+ private animationFrameId;
8
+ private lastAnimationUpdate;
9
+ volumeSignal: WritableSignal<number>;
10
+ barHeightsSignal: import("@angular/core").Signal<{
11
+ 'first-bar': string;
12
+ 'second-bar': string;
13
+ 'third-bar': string;
14
+ }>;
15
+ constructor();
16
+ ngOnChanges(): void;
17
+ private normalizeRealVolume;
18
+ private startAnimation;
19
+ private stopAnimation;
20
+ private getBarHeights;
21
+ private getFakeVolumeRange;
22
+ private getRealVolumeRange;
23
+ private getRandomHeight;
24
+ ngOnDestroy(): void;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<AudioAnimationComponent, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<AudioAnimationComponent, "tgo-audio-animation", never, { "volume": { "alias": "volume"; "required": false; }; "fakeData": { "alias": "fakeData"; "required": false; }; }, {}, never, never, true, never>;
27
+ }
@@ -0,0 +1 @@
1
+ export * from './audio-animation.component';
@@ -0,0 +1,2 @@
1
+ export * from './audio-animation';
2
+ export * from './vimeo-video';
@@ -0,0 +1 @@
1
+ export * from './vimeo-video.component';
@@ -0,0 +1,24 @@
1
+ import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import Player from '@vimeo/player';
3
+ import type { VimeoEmbedParameters } from '@vimeo/player/types/formats';
4
+ import * as i0 from "@angular/core";
5
+ type Options = VimeoEmbedParameters;
6
+ export declare class VimeoVideoComponent implements OnInit, OnDestroy, OnChanges {
7
+ class: string;
8
+ videoUrl: string;
9
+ isPlaying: boolean;
10
+ options: Options;
11
+ videoEnded: EventEmitter<void>;
12
+ videoStarted: EventEmitter<void>;
13
+ vimeoPlayer?: Player;
14
+ private elRef;
15
+ ngOnInit(): Promise<void>;
16
+ ngOnDestroy(): Promise<void>;
17
+ ngOnChanges(simpleChanges: SimpleChanges): Promise<void>;
18
+ private removeVimeoPlayer;
19
+ private configureVimeoPlayer;
20
+ private playVideo;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<VimeoVideoComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<VimeoVideoComponent, "tgo-vimeo-video", never, { "videoUrl": { "alias": "videoUrl"; "required": false; }; "isPlaying": { "alias": "isPlaying"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "videoEnded": "videoEnded"; "videoStarted": "videoStarted"; }, never, never, true, never>;
23
+ }
24
+ export {};