@testgorilla/tgo-coding-test 1.0.0 → 2.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 (353) hide show
  1. package/.eslintrc.json +46 -0
  2. package/jest.config.ts +26 -0
  3. package/ng-package.json +14 -0
  4. package/package.json +15 -31
  5. package/project.json +48 -0
  6. package/{index.d.ts → src/index.ts} +19 -2
  7. package/src/lib/components/.gitkeep +0 -0
  8. package/src/lib/components/code-editor/code-editor.component.html +10 -0
  9. package/src/lib/components/code-editor/code-editor.component.scss +21 -0
  10. package/src/lib/components/code-editor/code-editor.component.spec.ts +136 -0
  11. package/src/lib/components/code-editor/code-editor.component.ts +368 -0
  12. package/src/lib/components/code-editor/code-editor.mocks.ts +28 -0
  13. package/src/lib/components/code-editor/code-editor.service.spec.ts +160 -0
  14. package/src/lib/components/code-editor/code-editor.service.ts +94 -0
  15. package/src/lib/components/code-editor/helpers/c-helper.spec.ts +39 -0
  16. package/src/lib/components/code-editor/helpers/c-helper.ts +51 -0
  17. package/src/lib/components/code-editor/helpers/code-editor-helper.base.spec.ts +30 -0
  18. package/src/lib/components/code-editor/helpers/code-editor-helper.base.ts +16 -0
  19. package/src/lib/components/code-editor/helpers/code-editor-helper.mocks.ts +24 -0
  20. package/src/lib/components/code-editor/helpers/code-editor-helper.model.ts +67 -0
  21. package/src/lib/components/code-editor/helpers/cpp-helper.spec.ts +40 -0
  22. package/src/lib/components/code-editor/helpers/cpp-helper.ts +52 -0
  23. package/src/lib/components/code-editor/helpers/csharp-helper.spec.ts +42 -0
  24. package/src/lib/components/code-editor/helpers/csharp-helper.ts +55 -0
  25. package/src/lib/components/code-editor/helpers/go-helper.spec.ts +41 -0
  26. package/src/lib/components/code-editor/helpers/go-helper.ts +54 -0
  27. package/src/lib/components/code-editor/helpers/java-helper.spec.ts +41 -0
  28. package/src/lib/components/code-editor/helpers/java-helper.ts +54 -0
  29. package/src/lib/components/code-editor/helpers/javascript-helper.spec.ts +39 -0
  30. package/src/lib/components/code-editor/helpers/javascript-helper.ts +32 -0
  31. package/src/lib/components/code-editor/helpers/kotlin-helper.spec.ts +41 -0
  32. package/src/lib/components/code-editor/helpers/kotlin-helper.ts +54 -0
  33. package/src/lib/components/code-editor/helpers/php-helper.spec.ts +39 -0
  34. package/src/lib/components/code-editor/helpers/php-helper.ts +32 -0
  35. package/src/lib/components/code-editor/helpers/python-helper.spec.ts +39 -0
  36. package/src/lib/components/code-editor/helpers/python-helper.ts +32 -0
  37. package/src/lib/components/code-editor/helpers/r-helper.spec.ts +39 -0
  38. package/src/lib/components/code-editor/helpers/r-helper.ts +32 -0
  39. package/src/lib/components/code-editor/helpers/ruby-helper.spec.ts +39 -0
  40. package/src/lib/components/code-editor/helpers/ruby-helper.ts +32 -0
  41. package/src/lib/components/code-editor/helpers/scala-helper.spec.ts +41 -0
  42. package/src/lib/components/code-editor/helpers/scala-helper.ts +53 -0
  43. package/src/lib/components/code-editor/helpers/sql-helper.spec.ts +87 -0
  44. package/src/lib/components/code-editor/helpers/sql-helper.ts +44 -0
  45. package/src/lib/components/code-editor/helpers/swift-helper.spec.ts +40 -0
  46. package/src/lib/components/code-editor/helpers/swift-helper.ts +51 -0
  47. package/src/lib/components/code-editor/helpers/typescript-helper.spec.ts +40 -0
  48. package/src/lib/components/code-editor/helpers/typescript-helper.ts +52 -0
  49. package/src/lib/components/code-editor/models/code-editor.model.ts +9 -0
  50. package/src/lib/components/code-editor/models/coding-snapshot.model.ts +4 -0
  51. package/src/lib/components/coding-question/coding-question.component.html +78 -0
  52. package/src/lib/components/coding-question/coding-question.component.scss +75 -0
  53. package/src/lib/components/coding-question/coding-question.component.spec.ts +85 -0
  54. package/src/lib/components/coding-question/coding-question.component.ts +101 -0
  55. package/src/lib/components/coding-section/coding-section.component.html +82 -0
  56. package/src/lib/components/coding-section/coding-section.component.scss +64 -0
  57. package/src/lib/components/coding-section/coding-section.component.spec.ts +257 -0
  58. package/src/lib/components/coding-section/coding-section.component.ts +186 -0
  59. package/src/lib/components/coding-test.module.ts +124 -0
  60. package/src/lib/components/common/truncated-text/truncated-text.component.html +6 -0
  61. package/src/lib/components/common/truncated-text/truncated-text.component.scss +18 -0
  62. package/src/lib/components/common/truncated-text/truncated-text.component.spec.ts +84 -0
  63. package/src/lib/components/common/truncated-text/truncated-text.component.ts +36 -0
  64. package/src/lib/components/configurations/configurations.component.html +57 -0
  65. package/src/lib/components/configurations/configurations.component.scss +42 -0
  66. package/src/lib/components/configurations/configurations.component.spec.ts +186 -0
  67. package/src/lib/components/configurations/configurations.component.ts +97 -0
  68. package/src/lib/components/instructions/instructions.component.html +41 -0
  69. package/src/lib/components/instructions/instructions.component.scss +173 -0
  70. package/src/lib/components/instructions/instructions.component.spec.ts +106 -0
  71. package/src/lib/components/instructions/instructions.component.ts +137 -0
  72. package/src/lib/components/panel/panel.component.html +19 -0
  73. package/src/lib/components/panel/panel.component.scss +41 -0
  74. package/src/lib/components/panel/panel.component.spec.ts +40 -0
  75. package/src/lib/components/panel/panel.component.ts +33 -0
  76. package/src/lib/components/runnable-editor/runnable-editor.component.html +75 -0
  77. package/src/lib/components/runnable-editor/runnable-editor.component.scss +55 -0
  78. package/src/lib/components/runnable-editor/runnable-editor.component.spec.ts +124 -0
  79. package/src/lib/components/runnable-editor/runnable-editor.component.ts +154 -0
  80. package/src/lib/components/tests/test-cases/test-cases.component.html +135 -0
  81. package/src/lib/components/tests/test-cases/test-cases.component.scss +220 -0
  82. package/src/lib/components/tests/test-cases/test-cases.component.spec.ts +401 -0
  83. package/src/lib/components/tests/test-cases/test-cases.component.ts +204 -0
  84. package/src/lib/components/tests/test-cases-content/test-cases-content.component.html +94 -0
  85. package/src/lib/components/tests/test-cases-content/test-cases-content.component.scss +103 -0
  86. package/src/lib/components/tests/test-cases-content/test-cases-content.component.spec.ts +122 -0
  87. package/src/lib/components/tests/test-cases-content/test-cases-content.component.ts +101 -0
  88. package/src/lib/components/tests/test-cases-status/test-cases-status.component.html +16 -0
  89. package/src/lib/components/tests/test-cases-status/test-cases-status.component.scss +49 -0
  90. package/src/lib/components/tests/test-cases-status/test-cases-status.component.spec.ts +22 -0
  91. package/src/lib/components/tests/test-cases-status/test-cases-status.component.ts +17 -0
  92. package/src/lib/components/tests/test-results.component.html +119 -0
  93. package/src/lib/components/tests/test-results.component.scss +189 -0
  94. package/src/lib/components/tests/test-results.component.spec.ts +140 -0
  95. package/src/lib/components/tests/test-results.component.ts +97 -0
  96. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.html +96 -0
  97. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.scss +6 -0
  98. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.spec.ts +599 -0
  99. package/src/lib/components/tgo-coding-test/tgo-coding-test.component.ts +278 -0
  100. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.html +36 -0
  101. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.scss +183 -0
  102. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.spec.ts +883 -0
  103. package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.ts +578 -0
  104. package/{lib/config/index.d.ts → src/lib/config/index.ts} +1 -0
  105. package/src/lib/config/tgo-coding-test.config.ts +26 -0
  106. package/{lib/config/tgo-coding-test.provider.d.ts → src/lib/config/tgo-coding-test.provider.ts} +18 -6
  107. package/src/lib/config/tgo-coding-test.token.ts +21 -0
  108. package/src/lib/models/.gitkeep +0 -0
  109. package/src/lib/models/auto-saved-data.ts +51 -0
  110. package/src/lib/models/code-event.ts +17 -0
  111. package/src/lib/models/coderunner-execution-results.ts +58 -0
  112. package/src/lib/models/coding-lib.mocks.ts +246 -0
  113. package/src/lib/models/configs.ts +18 -0
  114. package/src/lib/models/language-change-action.ts +4 -0
  115. package/src/lib/models/lat-languages.ts +12 -0
  116. package/src/lib/models/mixpanel-events.ts +3 -0
  117. package/src/lib/models/mode.ts +5 -0
  118. package/src/lib/models/paste-data.ts +4 -0
  119. package/src/lib/models/programming-language.ts +9 -0
  120. package/src/lib/models/test-cases.ts +74 -0
  121. package/src/lib/models/theme.ts +5 -0
  122. package/src/lib/models/translations.ts +1 -0
  123. package/src/lib/models/view-mode.ts +6 -0
  124. package/{lib/pipes/memoize-func.pipe.d.ts → src/lib/pipes/memoize-func.pipe.ts} +14 -6
  125. package/src/lib/services/.gitkeep +0 -0
  126. package/src/lib/services/candidate-coding-test-services/candidature-api.service.spec.ts +40 -0
  127. package/src/lib/services/candidate-coding-test-services/candidature-api.service.ts +15 -0
  128. package/src/lib/services/candidate-coding-test-services/coderunner-api.service.spec.ts +134 -0
  129. package/src/lib/services/candidate-coding-test-services/coderunner-api.service.ts +105 -0
  130. package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.spec.ts +161 -0
  131. package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.ts +100 -0
  132. package/src/lib/services/candidate-coding-test-services/coding-test.service.spec.ts +1524 -0
  133. package/src/lib/services/candidate-coding-test-services/coding-test.service.ts +843 -0
  134. package/{lib/services/candidate-coding-test-services/index.d.ts → src/lib/services/candidate-coding-test-services/index.ts} +1 -1
  135. package/src/lib/services/coding-test-config.service.ts +48 -0
  136. package/src/lib/services/configurations.service.mocks.ts +77 -0
  137. package/src/lib/services/configurations.service.spec.ts +79 -0
  138. package/src/lib/services/configurations.service.ts +111 -0
  139. package/src/lib/services/index.ts +0 -0
  140. package/src/lib/services/lib-coding-test.service.spec.ts +265 -0
  141. package/src/lib/services/lib-coding-test.service.ts +157 -0
  142. package/src/lib/services/local-storage.service.mocks.ts +22 -0
  143. package/src/lib/services/storage.service.spec.ts +1119 -0
  144. package/src/lib/services/storage.service.ts +729 -0
  145. package/src/lib/services/test-cases.service.spec.ts +53 -0
  146. package/src/lib/services/test-cases.service.ts +29 -0
  147. package/src/lib/services/theme.service.spec.ts +76 -0
  148. package/src/lib/services/theme.service.ts +34 -0
  149. package/src/lib/styles/mixins.scss +86 -0
  150. package/src/lib/styles/styles.scss +112 -0
  151. package/src/lib/styles/variables.scss +105 -0
  152. package/src/lib/utils/.gitkeep +0 -0
  153. package/src/lib/utils/additional-languages/erlang.ts +115 -0
  154. package/src/lib/utils/resize-element.ts +15 -0
  155. package/src/lib/utils/time-to-ms.util.ts +10 -0
  156. package/src/test-setup.ts +3 -0
  157. package/tsconfig.json +19 -0
  158. package/tsconfig.lib.json +19 -0
  159. package/tsconfig.lib.prod.json +10 -0
  160. package/tsconfig.spec.json +17 -0
  161. package/esm2022/index.mjs +0 -12
  162. package/esm2022/lib/components/code-editor/code-editor.component.mjs +0 -335
  163. package/esm2022/lib/components/code-editor/code-editor.service.mjs +0 -72
  164. package/esm2022/lib/components/code-editor/helpers/c-helper.mjs +0 -40
  165. package/esm2022/lib/components/code-editor/helpers/code-editor-helper.base.mjs +0 -11
  166. package/esm2022/lib/components/code-editor/helpers/code-editor-helper.model.mjs +0 -2
  167. package/esm2022/lib/components/code-editor/helpers/cpp-helper.mjs +0 -41
  168. package/esm2022/lib/components/code-editor/helpers/csharp-helper.mjs +0 -42
  169. package/esm2022/lib/components/code-editor/helpers/go-helper.mjs +0 -42
  170. package/esm2022/lib/components/code-editor/helpers/index.mjs +0 -16
  171. package/esm2022/lib/components/code-editor/helpers/java-helper.mjs +0 -42
  172. package/esm2022/lib/components/code-editor/helpers/javascript-helper.mjs +0 -26
  173. package/esm2022/lib/components/code-editor/helpers/kotlin-helper.mjs +0 -42
  174. package/esm2022/lib/components/code-editor/helpers/php-helper.mjs +0 -26
  175. package/esm2022/lib/components/code-editor/helpers/python-helper.mjs +0 -26
  176. package/esm2022/lib/components/code-editor/helpers/r-helper.mjs +0 -26
  177. package/esm2022/lib/components/code-editor/helpers/ruby-helper.mjs +0 -26
  178. package/esm2022/lib/components/code-editor/helpers/scala-helper.mjs +0 -41
  179. package/esm2022/lib/components/code-editor/helpers/sql-helper.mjs +0 -34
  180. package/esm2022/lib/components/code-editor/helpers/swift-helper.mjs +0 -40
  181. package/esm2022/lib/components/code-editor/helpers/typescript-helper.mjs +0 -41
  182. package/esm2022/lib/components/code-editor/models/code-editor.model.mjs +0 -2
  183. package/esm2022/lib/components/code-editor/models/coding-snapshot.model.mjs +0 -2
  184. package/esm2022/lib/components/coding-question/coding-question.component.mjs +0 -126
  185. package/esm2022/lib/components/coding-section/coding-section.component.mjs +0 -188
  186. package/esm2022/lib/components/common/truncated-text/truncated-text.component.mjs +0 -38
  187. package/esm2022/lib/components/configurations/configurations.component.mjs +0 -97
  188. package/esm2022/lib/components/instructions/instructions.component.mjs +0 -139
  189. package/esm2022/lib/components/panel/panel.component.mjs +0 -34
  190. package/esm2022/lib/components/runnable-editor/runnable-editor.component.mjs +0 -169
  191. package/esm2022/lib/components/tests/test-cases/test-cases.component.mjs +0 -198
  192. package/esm2022/lib/components/tests/test-cases-content/test-cases-content.component.mjs +0 -96
  193. package/esm2022/lib/components/tests/test-cases-status/test-cases-status.component.mjs +0 -21
  194. package/esm2022/lib/components/tests/test-results.component.mjs +0 -127
  195. package/esm2022/lib/components/tgo-coding-test/tgo-coding-test.component.mjs +0 -280
  196. package/esm2022/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.mjs +0 -476
  197. package/esm2022/lib/config/index.mjs +0 -2
  198. package/esm2022/lib/config/tgo-coding-test.config.mjs +0 -2
  199. package/esm2022/lib/config/tgo-coding-test.provider.mjs +0 -34
  200. package/esm2022/lib/config/tgo-coding-test.token.mjs +0 -14
  201. package/esm2022/lib/models/auto-saved-data.mjs +0 -2
  202. package/esm2022/lib/models/code-event.mjs +0 -2
  203. package/esm2022/lib/models/coderunner-execution-results.mjs +0 -2
  204. package/esm2022/lib/models/configs.mjs +0 -2
  205. package/esm2022/lib/models/language-change-action.mjs +0 -2
  206. package/esm2022/lib/models/lat-languages.mjs +0 -3
  207. package/esm2022/lib/models/mixpanel-events.mjs +0 -2
  208. package/esm2022/lib/models/mode.mjs +0 -2
  209. package/esm2022/lib/models/paste-data.mjs +0 -2
  210. package/esm2022/lib/models/programming-language.mjs +0 -2
  211. package/esm2022/lib/models/test-cases.mjs +0 -7
  212. package/esm2022/lib/models/theme.mjs +0 -2
  213. package/esm2022/lib/models/translations.mjs +0 -2
  214. package/esm2022/lib/models/view-mode.mjs +0 -8
  215. package/esm2022/lib/pipes/memoize-func.pipe.mjs +0 -39
  216. package/esm2022/lib/services/candidate-coding-test-services/candidature-api.service.mjs +0 -19
  217. package/esm2022/lib/services/candidate-coding-test-services/coderunner-api.service.mjs +0 -58
  218. package/esm2022/lib/services/candidate-coding-test-services/coding-test-tour.service.mjs +0 -89
  219. package/esm2022/lib/services/candidate-coding-test-services/coding-test.service.mjs +0 -490
  220. package/esm2022/lib/services/candidate-coding-test-services/index.mjs +0 -5
  221. package/esm2022/lib/services/coding-test-config.service.mjs +0 -51
  222. package/esm2022/lib/services/configurations.service.mjs +0 -89
  223. package/esm2022/lib/services/lib-coding-test.service.mjs +0 -106
  224. package/esm2022/lib/services/storage.service.mjs +0 -624
  225. package/esm2022/lib/services/test-cases.service.mjs +0 -30
  226. package/esm2022/lib/services/theme.service.mjs +0 -36
  227. package/esm2022/lib/utils/additional-languages/erlang.mjs +0 -103
  228. package/esm2022/lib/utils/resize-element.mjs +0 -13
  229. package/esm2022/lib/utils/time-to-ms.util.mjs +0 -11
  230. package/esm2022/shared/index.mjs +0 -5
  231. package/esm2022/shared/lib/components/audio-animation/audio-animation.component.mjs +0 -114
  232. package/esm2022/shared/lib/components/audio-animation/index.mjs +0 -2
  233. package/esm2022/shared/lib/components/index.mjs +0 -3
  234. package/esm2022/shared/lib/components/vimeo-video/index.mjs +0 -2
  235. package/esm2022/shared/lib/components/vimeo-video/vimeo-video.component.mjs +0 -101
  236. package/esm2022/shared/lib/models/answer.mjs +0 -2
  237. package/esm2022/shared/lib/models/assessment.mjs +0 -2
  238. package/esm2022/shared/lib/models/environment.mjs +0 -2
  239. package/esm2022/shared/lib/models/index.mjs +0 -9
  240. package/esm2022/shared/lib/models/question-component.mjs +0 -2
  241. package/esm2022/shared/lib/models/question.mjs +0 -2
  242. package/esm2022/shared/lib/models/test.mjs +0 -2
  243. package/esm2022/shared/lib/models/translations.mjs +0 -2
  244. package/esm2022/shared/lib/models/window.mjs +0 -2
  245. package/esm2022/shared/lib/services/api/api.service.mjs +0 -97
  246. package/esm2022/shared/lib/services/api/mocked-api.service.mjs +0 -131
  247. package/esm2022/shared/lib/services/environment/environment.service.mjs +0 -13
  248. package/esm2022/shared/lib/services/index.mjs +0 -10
  249. package/esm2022/shared/lib/services/localization/languages.model.mjs +0 -19
  250. package/esm2022/shared/lib/services/localization/transloco-lazy-module-utils.mjs +0 -27
  251. package/esm2022/shared/lib/services/localization/transloco-testing.module.mjs +0 -11
  252. package/esm2022/shared/lib/services/media/media.service.mjs +0 -129
  253. package/esm2022/shared/lib/services/mixpanel/mixpanel.service.mjs +0 -30
  254. package/esm2022/shared/lib/services/theme/theme.service.mjs +0 -24
  255. package/esm2022/shared/test-mocks/assessment-test.mock.mjs +0 -112
  256. package/esm2022/shared/test-mocks/index.mjs +0 -3
  257. package/esm2022/shared/test-mocks/tgo-ui.mock.mjs +0 -39
  258. package/esm2022/testgorilla-tgo-coding-test.mjs +0 -5
  259. package/fesm2022/testgorilla-tgo-coding-test.mjs +0 -4526
  260. package/fesm2022/testgorilla-tgo-coding-test.mjs.map +0 -1
  261. package/lib/components/code-editor/code-editor.component.d.ts +0 -54
  262. package/lib/components/code-editor/code-editor.service.d.ts +0 -12
  263. package/lib/components/code-editor/helpers/c-helper.d.ts +0 -11
  264. package/lib/components/code-editor/helpers/code-editor-helper.base.d.ts +0 -8
  265. package/lib/components/code-editor/helpers/code-editor-helper.model.d.ts +0 -62
  266. package/lib/components/code-editor/helpers/cpp-helper.d.ts +0 -11
  267. package/lib/components/code-editor/helpers/csharp-helper.d.ts +0 -12
  268. package/lib/components/code-editor/helpers/go-helper.d.ts +0 -12
  269. package/lib/components/code-editor/helpers/java-helper.d.ts +0 -12
  270. package/lib/components/code-editor/helpers/javascript-helper.d.ts +0 -10
  271. package/lib/components/code-editor/helpers/kotlin-helper.d.ts +0 -12
  272. package/lib/components/code-editor/helpers/php-helper.d.ts +0 -10
  273. package/lib/components/code-editor/helpers/python-helper.d.ts +0 -10
  274. package/lib/components/code-editor/helpers/r-helper.d.ts +0 -10
  275. package/lib/components/code-editor/helpers/ruby-helper.d.ts +0 -10
  276. package/lib/components/code-editor/helpers/scala-helper.d.ts +0 -12
  277. package/lib/components/code-editor/helpers/sql-helper.d.ts +0 -10
  278. package/lib/components/code-editor/helpers/swift-helper.d.ts +0 -11
  279. package/lib/components/code-editor/helpers/typescript-helper.d.ts +0 -11
  280. package/lib/components/code-editor/models/code-editor.model.d.ts +0 -8
  281. package/lib/components/code-editor/models/coding-snapshot.model.d.ts +0 -4
  282. package/lib/components/coding-question/coding-question.component.d.ts +0 -45
  283. package/lib/components/coding-section/coding-section.component.d.ts +0 -52
  284. package/lib/components/common/truncated-text/truncated-text.component.d.ts +0 -13
  285. package/lib/components/configurations/configurations.component.d.ts +0 -40
  286. package/lib/components/instructions/instructions.component.d.ts +0 -48
  287. package/lib/components/panel/panel.component.d.ts +0 -12
  288. package/lib/components/runnable-editor/runnable-editor.component.d.ts +0 -53
  289. package/lib/components/tests/test-cases/test-cases.component.d.ts +0 -46
  290. package/lib/components/tests/test-cases-content/test-cases-content.component.d.ts +0 -26
  291. package/lib/components/tests/test-cases-status/test-cases-status.component.d.ts +0 -9
  292. package/lib/components/tests/test-results.component.d.ts +0 -33
  293. package/lib/components/tgo-coding-test/tgo-coding-test.component.d.ts +0 -69
  294. package/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.d.ts +0 -101
  295. package/lib/config/tgo-coding-test.config.d.ts +0 -24
  296. package/lib/config/tgo-coding-test.token.d.ts +0 -9
  297. package/lib/models/auto-saved-data.d.ts +0 -42
  298. package/lib/models/code-event.d.ts +0 -15
  299. package/lib/models/coderunner-execution-results.d.ts +0 -51
  300. package/lib/models/configs.d.ts +0 -15
  301. package/lib/models/language-change-action.d.ts +0 -4
  302. package/lib/models/lat-languages.d.ts +0 -8
  303. package/lib/models/mixpanel-events.d.ts +0 -3
  304. package/lib/models/mode.d.ts +0 -5
  305. package/lib/models/paste-data.d.ts +0 -4
  306. package/lib/models/programming-language.d.ts +0 -8
  307. package/lib/models/test-cases.d.ts +0 -67
  308. package/lib/models/theme.d.ts +0 -4
  309. package/lib/models/translations.d.ts +0 -1
  310. package/lib/models/view-mode.d.ts +0 -6
  311. package/lib/services/candidate-coding-test-services/candidature-api.service.d.ts +0 -10
  312. package/lib/services/candidate-coding-test-services/coderunner-api.service.d.ts +0 -18
  313. package/lib/services/candidate-coding-test-services/coding-test-tour.service.d.ts +0 -22
  314. package/lib/services/candidate-coding-test-services/coding-test.service.d.ts +0 -68
  315. package/lib/services/coding-test-config.service.d.ts +0 -38
  316. package/lib/services/configurations.service.d.ts +0 -37
  317. package/lib/services/lib-coding-test.service.d.ts +0 -69
  318. package/lib/services/storage.service.d.ts +0 -83
  319. package/lib/services/test-cases.service.d.ts +0 -12
  320. package/lib/services/theme.service.d.ts +0 -17
  321. package/lib/utils/additional-languages/erlang.d.ts +0 -37
  322. package/lib/utils/resize-element.d.ts +0 -2
  323. package/lib/utils/time-to-ms.util.d.ts +0 -1
  324. package/shared/index.d.ts +0 -4
  325. package/shared/lib/components/audio-animation/audio-animation.component.d.ts +0 -27
  326. package/shared/lib/components/audio-animation/index.d.ts +0 -1
  327. package/shared/lib/components/index.d.ts +0 -2
  328. package/shared/lib/components/vimeo-video/index.d.ts +0 -1
  329. package/shared/lib/components/vimeo-video/vimeo-video.component.d.ts +0 -24
  330. package/shared/lib/models/answer.d.ts +0 -17
  331. package/shared/lib/models/assessment.d.ts +0 -80
  332. package/shared/lib/models/environment.d.ts +0 -1
  333. package/shared/lib/models/index.d.ts +0 -8
  334. package/shared/lib/models/question-component.d.ts +0 -54
  335. package/shared/lib/models/question.d.ts +0 -102
  336. package/shared/lib/models/test.d.ts +0 -81
  337. package/shared/lib/models/translations.d.ts +0 -1
  338. package/shared/lib/models/window.d.ts +0 -6
  339. package/shared/lib/services/api/api.service.d.ts +0 -25
  340. package/shared/lib/services/api/mocked-api.service.d.ts +0 -35
  341. package/shared/lib/services/environment/environment.service.d.ts +0 -6
  342. package/shared/lib/services/index.d.ts +0 -9
  343. package/shared/lib/services/localization/languages.model.d.ts +0 -15
  344. package/shared/lib/services/localization/transloco-lazy-module-utils.d.ts +0 -11
  345. package/shared/lib/services/localization/transloco-testing.module.d.ts +0 -2
  346. package/shared/lib/services/media/media.service.d.ts +0 -29
  347. package/shared/lib/services/mixpanel/mixpanel.service.d.ts +0 -10
  348. package/shared/lib/services/theme/theme.service.d.ts +0 -8
  349. package/shared/test-mocks/assessment-test.mock.d.ts +0 -21
  350. package/shared/test-mocks/index.d.ts +0 -2
  351. package/shared/test-mocks/tgo-ui.mock.d.ts +0 -21
  352. /package/{assets → src/assets}/i18n/en.json +0 -0
  353. /package/{lib/components/code-editor/helpers/index.d.ts → src/lib/components/code-editor/helpers/index.ts} +0 -0
@@ -0,0 +1,54 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import {
3
+ CodeEditorFuncOptions,
4
+ CodeEditorHelper,
5
+ CodeEditorLanguages,
6
+ CodeEditorTypesMap,
7
+ } from './code-editor-helper.model';
8
+
9
+ export class CodeEditorKotlinHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
+ language = CodeEditorLanguages.Kotlin;
11
+ typesMap: CodeEditorTypesMap = {
12
+ boolean: 'Boolean',
13
+ int: 'Int',
14
+ number: 'int',
15
+ double: 'Double',
16
+ float: 'Float',
17
+ str: 'String',
18
+ array_boolean: 'Array<Boolean>',
19
+ array_int: 'Array<Int>',
20
+ array_float: 'Array<Float>',
21
+ array_double: 'Array<Double>',
22
+ array_str: 'Array<String>',
23
+ };
24
+
25
+ private packagesText = 'package com.testgorilla.testtaker\n';
26
+
27
+ constructor(private functionOptions: CodeEditorFuncOptions) {
28
+ super();
29
+ }
30
+
31
+ getInitCode(): string {
32
+ return `${this.packagesText}${this.getFunctionOpening()}\t //Insert your code here \n}`;
33
+ }
34
+
35
+ getFunctionOpening(): string {
36
+ const { name: funcName, returnType } = this.functionOptions;
37
+ const params = this.getParamsString();
38
+ const showingReturnType = this.parseType(returnType);
39
+
40
+ return `fun ${funcName}(${params}): ${showingReturnType} {\n`;
41
+ }
42
+
43
+ private getParamsString(): string {
44
+ const { params } = this.functionOptions;
45
+ let paramsString = '';
46
+
47
+ if (params && params.length > 0) {
48
+ params.forEach(values => (paramsString += `${values.name}: ${this.parseType(values.type)}, `));
49
+ paramsString = paramsString.slice(0, -2);
50
+ }
51
+
52
+ return paramsString;
53
+ }
54
+ }
@@ -0,0 +1,39 @@
1
+ import { defaultFuncParams } from './code-editor-helper.mocks';
2
+ import { CodeEditorPhpHelper } from './php-helper';
3
+
4
+ describe('CodeEditorPhpHelper', () => {
5
+ let helper: CodeEditorPhpHelper;
6
+
7
+ const defaultParams = { ...defaultFuncParams };
8
+ const paramsList = '$param1, $param2, $param3, $param4, $param5, $param6, $param7, $param8';
9
+ const correctFuncOpening = `<?php function mockFunction(${paramsList}) {\n`;
10
+ const correctInitCode = `${correctFuncOpening}\t //Insert your code here \n}\n ?>`;
11
+
12
+ beforeEach(() => {
13
+ helper = new CodeEditorPhpHelper(defaultParams);
14
+ });
15
+
16
+ describe('when getting init code', () => {
17
+ let result: string;
18
+
19
+ beforeEach(() => {
20
+ result = helper.getInitCode();
21
+ });
22
+
23
+ it('should return proper init code', () => {
24
+ expect(result).toEqual(correctInitCode);
25
+ });
26
+ });
27
+
28
+ describe('when getting func opening', () => {
29
+ let result: string;
30
+
31
+ beforeEach(() => {
32
+ result = helper.getFunctionOpening();
33
+ });
34
+
35
+ it('should return proper func opening', () => {
36
+ expect(result).toEqual(correctFuncOpening);
37
+ });
38
+ });
39
+ });
@@ -0,0 +1,32 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import { CodeEditorFuncOptions, CodeEditorHelper, CodeEditorLanguages } from './code-editor-helper.model';
3
+
4
+ export class CodeEditorPhpHelper extends CodeEditorHelperBase implements CodeEditorHelper {
5
+ language = CodeEditorLanguages.Php;
6
+
7
+ constructor(private functionOptions: CodeEditorFuncOptions) {
8
+ super();
9
+ }
10
+
11
+ getInitCode(): string {
12
+ return `${this.getFunctionOpening()}\t //Insert your code here \n}\n ?>`;
13
+ }
14
+
15
+ getFunctionOpening(): string {
16
+ const { name: funcName } = this.functionOptions;
17
+
18
+ return `<?php function ${funcName}(${this.getParamsString()}) {\n`;
19
+ }
20
+
21
+ private getParamsString(): string {
22
+ const { params } = this.functionOptions;
23
+ let paramsString = '';
24
+
25
+ if (params && params.length > 0) {
26
+ params.forEach(values => (paramsString += `$${values.name}, `));
27
+ paramsString = paramsString.slice(0, -2);
28
+ }
29
+
30
+ return paramsString;
31
+ }
32
+ }
@@ -0,0 +1,39 @@
1
+ import { defaultFuncParams } from './code-editor-helper.mocks';
2
+ import { CodeEditorPythonHelper } from './python-helper';
3
+
4
+ describe('CodeEditorPythonHelper', () => {
5
+ let helper: CodeEditorPythonHelper;
6
+
7
+ const defaultParams = { ...defaultFuncParams };
8
+ const paramsList = 'param1, param2, param3, param4, param5, param6, param7, param8';
9
+ const correctFuncOpening = `def mockFunction(${paramsList}): \n`;
10
+ const correctInitCode = `${correctFuncOpening}\t #Insert your code here \n`;
11
+
12
+ beforeEach(() => {
13
+ helper = new CodeEditorPythonHelper(defaultParams);
14
+ });
15
+
16
+ describe('when getting init code', () => {
17
+ let result: string;
18
+
19
+ beforeEach(() => {
20
+ result = helper.getInitCode();
21
+ });
22
+
23
+ it('should return proper init code', () => {
24
+ expect(result).toEqual(correctInitCode);
25
+ });
26
+ });
27
+
28
+ describe('when getting func opening', () => {
29
+ let result: string;
30
+
31
+ beforeEach(() => {
32
+ result = helper.getFunctionOpening();
33
+ });
34
+
35
+ it('should return proper func opening', () => {
36
+ expect(result).toEqual(correctFuncOpening);
37
+ });
38
+ });
39
+ });
@@ -0,0 +1,32 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import { CodeEditorFuncOptions, CodeEditorHelper, CodeEditorLanguages } from './code-editor-helper.model';
3
+
4
+ export class CodeEditorPythonHelper extends CodeEditorHelperBase implements CodeEditorHelper {
5
+ language = CodeEditorLanguages.Python;
6
+
7
+ constructor(private functionOptions: CodeEditorFuncOptions) {
8
+ super();
9
+ }
10
+
11
+ getInitCode(): string {
12
+ return `${this.getFunctionOpening()}\t #Insert your code here \n`;
13
+ }
14
+
15
+ getFunctionOpening(): string {
16
+ const { name: funcName } = this.functionOptions;
17
+
18
+ return `def ${funcName}(${this.getParamsString()}): \n`;
19
+ }
20
+
21
+ private getParamsString(): string {
22
+ const { params } = this.functionOptions;
23
+ let paramsString = '';
24
+
25
+ if (params && params.length > 0) {
26
+ params.forEach(values => (paramsString += `${values.name}, `));
27
+ paramsString = paramsString.slice(0, -2);
28
+ }
29
+
30
+ return paramsString;
31
+ }
32
+ }
@@ -0,0 +1,39 @@
1
+ import { defaultFuncParams } from './code-editor-helper.mocks';
2
+ import { CodeEditorRHelper } from './r-helper';
3
+
4
+ describe('CodeEditorRHelper', () => {
5
+ let helper: CodeEditorRHelper;
6
+
7
+ const defaultParams = { ...defaultFuncParams };
8
+ const paramsList = 'param1, param2, param3, param4, param5, param6, param7, param8';
9
+ const correctFuncOpening = `mockFunction <- function(${paramsList}) {\n`;
10
+ const correctInitCode = `${correctFuncOpening}\t #Insert your code here \n}`;
11
+
12
+ beforeEach(() => {
13
+ helper = new CodeEditorRHelper(defaultParams);
14
+ });
15
+
16
+ describe('when getting init code', () => {
17
+ let result: string;
18
+
19
+ beforeEach(() => {
20
+ result = helper.getInitCode();
21
+ });
22
+
23
+ it('should return proper init code', () => {
24
+ expect(result).toEqual(correctInitCode);
25
+ });
26
+ });
27
+
28
+ describe('when getting func opening', () => {
29
+ let result: string;
30
+
31
+ beforeEach(() => {
32
+ result = helper.getFunctionOpening();
33
+ });
34
+
35
+ it('should return proper func opening', () => {
36
+ expect(result).toEqual(correctFuncOpening);
37
+ });
38
+ });
39
+ });
@@ -0,0 +1,32 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import { CodeEditorFuncOptions, CodeEditorHelper, CodeEditorLanguages } from './code-editor-helper.model';
3
+
4
+ export class CodeEditorRHelper extends CodeEditorHelperBase implements CodeEditorHelper {
5
+ language = CodeEditorLanguages.R;
6
+
7
+ constructor(private functionOptions: CodeEditorFuncOptions) {
8
+ super();
9
+ }
10
+
11
+ getInitCode(): string {
12
+ return `${this.getFunctionOpening()}\t #Insert your code here \n}`;
13
+ }
14
+
15
+ getFunctionOpening(): string {
16
+ const { name: funcName } = this.functionOptions;
17
+
18
+ return `${funcName} <- function(${this.getParamsString()}) {\n`;
19
+ }
20
+
21
+ private getParamsString(): string {
22
+ const { params } = this.functionOptions;
23
+ let paramsString = '';
24
+
25
+ if (params && params.length > 0) {
26
+ params.forEach(values => (paramsString += `${values.name}, `));
27
+ paramsString = paramsString.slice(0, -2);
28
+ }
29
+
30
+ return paramsString;
31
+ }
32
+ }
@@ -0,0 +1,39 @@
1
+ import { defaultFuncParams } from './code-editor-helper.mocks';
2
+ import { CodeEditorRubyHelper } from './ruby-helper';
3
+
4
+ describe('CodeEditorRubyHelper', () => {
5
+ let helper: CodeEditorRubyHelper;
6
+
7
+ const defaultParams = { ...defaultFuncParams };
8
+ const paramsList = 'param1, param2, param3, param4, param5, param6, param7, param8';
9
+ const correctFuncOpening = `def mockFunction(${paramsList})\n`;
10
+ const correctInitCode = `${correctFuncOpening}\t #Insert your code here \nend`;
11
+
12
+ beforeEach(() => {
13
+ helper = new CodeEditorRubyHelper(defaultParams);
14
+ });
15
+
16
+ describe('when getting init code', () => {
17
+ let result: string;
18
+
19
+ beforeEach(() => {
20
+ result = helper.getInitCode();
21
+ });
22
+
23
+ it('should return proper init code', () => {
24
+ expect(result).toEqual(correctInitCode);
25
+ });
26
+ });
27
+
28
+ describe('when getting func opening', () => {
29
+ let result: string;
30
+
31
+ beforeEach(() => {
32
+ result = helper.getFunctionOpening();
33
+ });
34
+
35
+ it('should return proper func opening', () => {
36
+ expect(result).toEqual(correctFuncOpening);
37
+ });
38
+ });
39
+ });
@@ -0,0 +1,32 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import { CodeEditorFuncOptions, CodeEditorHelper, CodeEditorLanguages } from './code-editor-helper.model';
3
+
4
+ export class CodeEditorRubyHelper extends CodeEditorHelperBase implements CodeEditorHelper {
5
+ language = CodeEditorLanguages.Ruby;
6
+
7
+ constructor(private functionOptions: CodeEditorFuncOptions) {
8
+ super();
9
+ }
10
+
11
+ getInitCode(): string {
12
+ return `${this.getFunctionOpening()}\t #Insert your code here \nend`;
13
+ }
14
+
15
+ getFunctionOpening(): string {
16
+ const { name: funcName } = this.functionOptions;
17
+
18
+ return `def ${funcName}(${this.getParamsString()})\n`;
19
+ }
20
+
21
+ private getParamsString(): string {
22
+ const { params } = this.functionOptions;
23
+ let paramsString = '';
24
+
25
+ if (params && params.length > 0) {
26
+ params.forEach(values => (paramsString += `${values.name}, `));
27
+ paramsString = paramsString.slice(0, -2);
28
+ }
29
+
30
+ return paramsString;
31
+ }
32
+ }
@@ -0,0 +1,41 @@
1
+ import { defaultFuncParams } from './code-editor-helper.mocks';
2
+ import { CodeEditorScalaHelper } from './scala-helper';
3
+
4
+ describe('CodeEditorScalaHelper', () => {
5
+ let helper: CodeEditorScalaHelper;
6
+
7
+ const defaultParams = { ...defaultFuncParams };
8
+ const paramsList =
9
+ 'param1: Boolean, param2: Int, param3: Double, param4: Float, param5: String, param6: Array[Boolean], param7: Array[Integer], param8: Array[Float]';
10
+ const packages = 'package Testgorilla\nobject TestTaker\n';
11
+ const correctFuncOpening = `def mockFunction(${paramsList}) : Boolean = {\n`;
12
+ const correctInitCode = `${packages}${correctFuncOpening}\t //Insert your code here \n}`;
13
+
14
+ beforeEach(() => {
15
+ helper = new CodeEditorScalaHelper(defaultParams);
16
+ });
17
+
18
+ describe('when getting init code', () => {
19
+ let result: string;
20
+
21
+ beforeEach(() => {
22
+ result = helper.getInitCode();
23
+ });
24
+
25
+ it('should return proper init code', () => {
26
+ expect(result).toEqual(correctInitCode);
27
+ });
28
+ });
29
+
30
+ describe('when getting func opening', () => {
31
+ let result: string;
32
+
33
+ beforeEach(() => {
34
+ result = helper.getFunctionOpening();
35
+ });
36
+
37
+ it('should return proper func opening', () => {
38
+ expect(result).toEqual(correctFuncOpening);
39
+ });
40
+ });
41
+ });
@@ -0,0 +1,53 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import {
3
+ CodeEditorFuncOptions,
4
+ CodeEditorHelper,
5
+ CodeEditorLanguages,
6
+ CodeEditorTypesMap,
7
+ } from './code-editor-helper.model';
8
+
9
+ export class CodeEditorScalaHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
+ language = CodeEditorLanguages.Scala;
11
+ typesMap: CodeEditorTypesMap = {
12
+ boolean: 'Boolean',
13
+ int: 'Int',
14
+ double: 'Double',
15
+ float: 'Float',
16
+ str: 'String',
17
+ array_boolean: 'Array[Boolean]',
18
+ array_int: 'Array[Integer]',
19
+ array_float: 'Array[Float]',
20
+ array_double: 'Array[Double]',
21
+ array_str: 'Array[String]',
22
+ };
23
+
24
+ private packagesText = 'package Testgorilla\nobject TestTaker\n';
25
+
26
+ constructor(private functionOptions: CodeEditorFuncOptions) {
27
+ super();
28
+ }
29
+
30
+ getInitCode(): string {
31
+ return `${this.packagesText}${this.getFunctionOpening()}\t //Insert your code here \n}`;
32
+ }
33
+
34
+ getFunctionOpening(): string {
35
+ const { name: funcName, returnType } = this.functionOptions;
36
+ const params = this.getParamsString();
37
+ const showingReturnType = this.parseType(returnType);
38
+
39
+ return `def ${funcName}(${params}) : ${showingReturnType} = {\n`;
40
+ }
41
+
42
+ private getParamsString(): string {
43
+ const { params } = this.functionOptions;
44
+ let paramsString = '';
45
+
46
+ if (params && params.length > 0) {
47
+ params.forEach(values => (paramsString += `${values.name}: ${this.parseType(values.type)}, `));
48
+ paramsString = paramsString.slice(0, -2);
49
+ }
50
+
51
+ return paramsString;
52
+ }
53
+ }
@@ -0,0 +1,87 @@
1
+ import { CodeEditorFuncOptions, CodeEditorSqlOperations } from './code-editor-helper.model';
2
+ import { CodeEditorSqlHelper } from './sql-helper';
3
+
4
+ describe('CodeEditorSqlHelper', () => {
5
+ let helper: CodeEditorSqlHelper;
6
+
7
+ const defaultParams: CodeEditorFuncOptions = { name: CodeEditorSqlOperations.Select };
8
+ const correctFuncOpening = 'SELECT\n';
9
+ const correctSelectInitCode = `${correctFuncOpening}## FROM ## WHERE ##;\n`;
10
+
11
+ beforeEach(() => {
12
+ helper = new CodeEditorSqlHelper(defaultParams);
13
+ });
14
+
15
+ describe('when getting init code', () => {
16
+ let result: string;
17
+
18
+ beforeEach(() => {
19
+ result = helper.getInitCode();
20
+ });
21
+
22
+ describe('and operation is SELECT', () => {
23
+ it('should return proper init code', () => {
24
+ expect(result).toEqual(correctSelectInitCode);
25
+ });
26
+ });
27
+
28
+ describe('and operation is UPDATE', () => {
29
+ it('should return proper init code', () => {
30
+ const correctInitCode = 'UPDATE\n## SET ## WHERE ##;\n';
31
+ helper = new CodeEditorSqlHelper({ name: CodeEditorSqlOperations.Update });
32
+ result = helper.getInitCode();
33
+ expect(result).toEqual(correctInitCode);
34
+ });
35
+ });
36
+
37
+ describe('and operation is INSERT', () => {
38
+ it('should return proper init code', () => {
39
+ const correctInitCode = 'INSERT\nINTO ## WHERE ##;\n';
40
+ helper = new CodeEditorSqlHelper({ name: CodeEditorSqlOperations.Insert });
41
+ result = helper.getInitCode();
42
+ expect(result).toEqual(correctInitCode);
43
+ });
44
+ });
45
+
46
+ describe('and operation is DELETE', () => {
47
+ it('should return proper init code', () => {
48
+ const correctInitCode = 'DELETE\n## FROM ## WHERE ##;\n';
49
+ helper = new CodeEditorSqlHelper({ name: CodeEditorSqlOperations.Delete });
50
+ result = helper.getInitCode();
51
+ expect(result).toEqual(correctInitCode);
52
+ });
53
+ });
54
+
55
+ describe('and operation is CREATE TABLE', () => {
56
+ it('should return proper init code', () => {
57
+ const correctInitCode = 'CREATE TABLE\n## VALUES ##;\n';
58
+ helper = new CodeEditorSqlHelper({ name: CodeEditorSqlOperations.CreateTable });
59
+ result = helper.getInitCode();
60
+ expect(result).toEqual(correctInitCode);
61
+ });
62
+ });
63
+
64
+ describe('and operation is unknown', () => {
65
+ it('should throw error', () => {
66
+ helper = new CodeEditorSqlHelper({ name: 'anything' });
67
+ try {
68
+ result = helper.getInitCode();
69
+ } catch (e) {
70
+ expect(e.message).toEqual('wrong sql operation');
71
+ }
72
+ });
73
+ });
74
+ });
75
+
76
+ describe('when getting func opening', () => {
77
+ let result: string;
78
+
79
+ beforeEach(() => {
80
+ result = helper.getFunctionOpening();
81
+ });
82
+
83
+ it('should return proper func opening', () => {
84
+ expect(result).toEqual(correctFuncOpening);
85
+ });
86
+ });
87
+ });
@@ -0,0 +1,44 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import {
3
+ CodeEditorFuncOptions,
4
+ CodeEditorHelper,
5
+ CodeEditorLanguages,
6
+ CodeEditorSqlOperations,
7
+ } from './code-editor-helper.model';
8
+
9
+ export class CodeEditorSqlHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
+ language = CodeEditorLanguages.Sql;
11
+
12
+ constructor(private functionOptions: CodeEditorFuncOptions) {
13
+ super();
14
+ }
15
+
16
+ getInitCode(): string {
17
+ return `${this.getFunctionOpening()}${this.getOperationCode()}`;
18
+ }
19
+
20
+ getFunctionOpening(): string {
21
+ const { name: funcName } = this.functionOptions;
22
+
23
+ return `${funcName || ''}\n`;
24
+ }
25
+
26
+ private getOperationCode(): string {
27
+ const { name: funcName } = this.functionOptions;
28
+
29
+ switch (funcName) {
30
+ case CodeEditorSqlOperations.Select:
31
+ return '## FROM ## WHERE ##;\n';
32
+ case CodeEditorSqlOperations.Update:
33
+ return '## SET ## WHERE ##;\n';
34
+ case CodeEditorSqlOperations.Insert:
35
+ return 'INTO ## WHERE ##;\n';
36
+ case CodeEditorSqlOperations.Delete:
37
+ return '## FROM ## WHERE ##;\n';
38
+ case CodeEditorSqlOperations.CreateTable:
39
+ return '## VALUES ##;\n';
40
+ default:
41
+ return '';
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,40 @@
1
+ import { defaultFuncParams } from './code-editor-helper.mocks';
2
+ import { CodeEditorSwiftHelper } from './swift-helper';
3
+
4
+ describe('CodeEditorSwiftHelper', () => {
5
+ let helper: CodeEditorSwiftHelper;
6
+
7
+ const defaultParams = { ...defaultFuncParams };
8
+ const paramsList =
9
+ '_ param1: Bool, _ param2: Int, _ param3: Double, _ param4: Float, _ param5: String, _ param6: [Bool], _ param7: [Int], _ param8: [Float]';
10
+ const correctFuncOpening = `func mockFunction(${paramsList}) -> Bool {\n`;
11
+ const correctInitCode = `${correctFuncOpening}\t //Insert your code here \n}`;
12
+
13
+ beforeEach(() => {
14
+ helper = new CodeEditorSwiftHelper(defaultParams);
15
+ });
16
+
17
+ describe('when getting init code', () => {
18
+ let result: string;
19
+
20
+ beforeEach(() => {
21
+ result = helper.getInitCode();
22
+ });
23
+
24
+ it('should return proper init code', () => {
25
+ expect(result).toEqual(correctInitCode);
26
+ });
27
+ });
28
+
29
+ describe('when getting func opening', () => {
30
+ let result: string;
31
+
32
+ beforeEach(() => {
33
+ result = helper.getFunctionOpening();
34
+ });
35
+
36
+ it('should return proper func opening', () => {
37
+ expect(result).toEqual(correctFuncOpening);
38
+ });
39
+ });
40
+ });
@@ -0,0 +1,51 @@
1
+ import { CodeEditorHelperBase } from './code-editor-helper.base';
2
+ import {
3
+ CodeEditorFuncOptions,
4
+ CodeEditorHelper,
5
+ CodeEditorLanguages,
6
+ CodeEditorTypesMap,
7
+ } from './code-editor-helper.model';
8
+
9
+ export class CodeEditorSwiftHelper extends CodeEditorHelperBase implements CodeEditorHelper {
10
+ language = CodeEditorLanguages.Swift;
11
+ typesMap: CodeEditorTypesMap = {
12
+ boolean: 'Bool',
13
+ int: 'Int',
14
+ double: 'Double',
15
+ float: 'Float',
16
+ str: 'String',
17
+ array_boolean: '[Bool]',
18
+ array_int: '[Int]',
19
+ array_float: '[Float]',
20
+ array_double: '[Double]',
21
+ array_str: '[String]',
22
+ };
23
+
24
+ constructor(private functionOptions: CodeEditorFuncOptions) {
25
+ super();
26
+ }
27
+
28
+ getInitCode(): string {
29
+ return `${this.getFunctionOpening()}\t //Insert your code here \n}`;
30
+ }
31
+
32
+ getFunctionOpening(): string {
33
+ const { name: funcName, returnType } = this.functionOptions;
34
+ const params = this.getParamsString();
35
+ const showingReturnType = this.parseType(returnType);
36
+
37
+ return `func ${funcName}(${params}) -> ${showingReturnType} {\n`;
38
+ }
39
+
40
+ private getParamsString(): string {
41
+ const { params } = this.functionOptions;
42
+ let paramsString = '';
43
+
44
+ if (params && params.length > 0) {
45
+ params.forEach(values => (paramsString += `_ ${values.name}: ${this.parseType(values.type)}, `));
46
+ paramsString = paramsString.slice(0, -2);
47
+ }
48
+
49
+ return paramsString;
50
+ }
51
+ }