@testgorilla/tgo-coding-test 1.0.0 → 2.0.1

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 (102) hide show
  1. package/fesm2022/testgorilla-tgo-coding-test.mjs +94 -94
  2. package/fesm2022/testgorilla-tgo-coding-test.mjs.map +1 -1
  3. package/lib/components/configurations/configurations.component.d.ts +1 -1
  4. package/package.json +15 -17
  5. package/esm2022/index.mjs +0 -12
  6. package/esm2022/lib/components/code-editor/code-editor.component.mjs +0 -335
  7. package/esm2022/lib/components/code-editor/code-editor.service.mjs +0 -72
  8. package/esm2022/lib/components/code-editor/helpers/c-helper.mjs +0 -40
  9. package/esm2022/lib/components/code-editor/helpers/code-editor-helper.base.mjs +0 -11
  10. package/esm2022/lib/components/code-editor/helpers/code-editor-helper.model.mjs +0 -2
  11. package/esm2022/lib/components/code-editor/helpers/cpp-helper.mjs +0 -41
  12. package/esm2022/lib/components/code-editor/helpers/csharp-helper.mjs +0 -42
  13. package/esm2022/lib/components/code-editor/helpers/go-helper.mjs +0 -42
  14. package/esm2022/lib/components/code-editor/helpers/index.mjs +0 -16
  15. package/esm2022/lib/components/code-editor/helpers/java-helper.mjs +0 -42
  16. package/esm2022/lib/components/code-editor/helpers/javascript-helper.mjs +0 -26
  17. package/esm2022/lib/components/code-editor/helpers/kotlin-helper.mjs +0 -42
  18. package/esm2022/lib/components/code-editor/helpers/php-helper.mjs +0 -26
  19. package/esm2022/lib/components/code-editor/helpers/python-helper.mjs +0 -26
  20. package/esm2022/lib/components/code-editor/helpers/r-helper.mjs +0 -26
  21. package/esm2022/lib/components/code-editor/helpers/ruby-helper.mjs +0 -26
  22. package/esm2022/lib/components/code-editor/helpers/scala-helper.mjs +0 -41
  23. package/esm2022/lib/components/code-editor/helpers/sql-helper.mjs +0 -34
  24. package/esm2022/lib/components/code-editor/helpers/swift-helper.mjs +0 -40
  25. package/esm2022/lib/components/code-editor/helpers/typescript-helper.mjs +0 -41
  26. package/esm2022/lib/components/code-editor/models/code-editor.model.mjs +0 -2
  27. package/esm2022/lib/components/code-editor/models/coding-snapshot.model.mjs +0 -2
  28. package/esm2022/lib/components/coding-question/coding-question.component.mjs +0 -126
  29. package/esm2022/lib/components/coding-section/coding-section.component.mjs +0 -188
  30. package/esm2022/lib/components/common/truncated-text/truncated-text.component.mjs +0 -38
  31. package/esm2022/lib/components/configurations/configurations.component.mjs +0 -97
  32. package/esm2022/lib/components/instructions/instructions.component.mjs +0 -139
  33. package/esm2022/lib/components/panel/panel.component.mjs +0 -34
  34. package/esm2022/lib/components/runnable-editor/runnable-editor.component.mjs +0 -169
  35. package/esm2022/lib/components/tests/test-cases/test-cases.component.mjs +0 -198
  36. package/esm2022/lib/components/tests/test-cases-content/test-cases-content.component.mjs +0 -96
  37. package/esm2022/lib/components/tests/test-cases-status/test-cases-status.component.mjs +0 -21
  38. package/esm2022/lib/components/tests/test-results.component.mjs +0 -127
  39. package/esm2022/lib/components/tgo-coding-test/tgo-coding-test.component.mjs +0 -280
  40. package/esm2022/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.mjs +0 -476
  41. package/esm2022/lib/config/index.mjs +0 -2
  42. package/esm2022/lib/config/tgo-coding-test.config.mjs +0 -2
  43. package/esm2022/lib/config/tgo-coding-test.provider.mjs +0 -34
  44. package/esm2022/lib/config/tgo-coding-test.token.mjs +0 -14
  45. package/esm2022/lib/models/auto-saved-data.mjs +0 -2
  46. package/esm2022/lib/models/code-event.mjs +0 -2
  47. package/esm2022/lib/models/coderunner-execution-results.mjs +0 -2
  48. package/esm2022/lib/models/configs.mjs +0 -2
  49. package/esm2022/lib/models/language-change-action.mjs +0 -2
  50. package/esm2022/lib/models/lat-languages.mjs +0 -3
  51. package/esm2022/lib/models/mixpanel-events.mjs +0 -2
  52. package/esm2022/lib/models/mode.mjs +0 -2
  53. package/esm2022/lib/models/paste-data.mjs +0 -2
  54. package/esm2022/lib/models/programming-language.mjs +0 -2
  55. package/esm2022/lib/models/test-cases.mjs +0 -7
  56. package/esm2022/lib/models/theme.mjs +0 -2
  57. package/esm2022/lib/models/translations.mjs +0 -2
  58. package/esm2022/lib/models/view-mode.mjs +0 -8
  59. package/esm2022/lib/pipes/memoize-func.pipe.mjs +0 -39
  60. package/esm2022/lib/services/candidate-coding-test-services/candidature-api.service.mjs +0 -19
  61. package/esm2022/lib/services/candidate-coding-test-services/coderunner-api.service.mjs +0 -58
  62. package/esm2022/lib/services/candidate-coding-test-services/coding-test-tour.service.mjs +0 -89
  63. package/esm2022/lib/services/candidate-coding-test-services/coding-test.service.mjs +0 -490
  64. package/esm2022/lib/services/candidate-coding-test-services/index.mjs +0 -5
  65. package/esm2022/lib/services/coding-test-config.service.mjs +0 -51
  66. package/esm2022/lib/services/configurations.service.mjs +0 -89
  67. package/esm2022/lib/services/lib-coding-test.service.mjs +0 -106
  68. package/esm2022/lib/services/storage.service.mjs +0 -624
  69. package/esm2022/lib/services/test-cases.service.mjs +0 -30
  70. package/esm2022/lib/services/theme.service.mjs +0 -36
  71. package/esm2022/lib/utils/additional-languages/erlang.mjs +0 -103
  72. package/esm2022/lib/utils/resize-element.mjs +0 -13
  73. package/esm2022/lib/utils/time-to-ms.util.mjs +0 -11
  74. package/esm2022/shared/index.mjs +0 -5
  75. package/esm2022/shared/lib/components/audio-animation/audio-animation.component.mjs +0 -114
  76. package/esm2022/shared/lib/components/audio-animation/index.mjs +0 -2
  77. package/esm2022/shared/lib/components/index.mjs +0 -3
  78. package/esm2022/shared/lib/components/vimeo-video/index.mjs +0 -2
  79. package/esm2022/shared/lib/components/vimeo-video/vimeo-video.component.mjs +0 -101
  80. package/esm2022/shared/lib/models/answer.mjs +0 -2
  81. package/esm2022/shared/lib/models/assessment.mjs +0 -2
  82. package/esm2022/shared/lib/models/environment.mjs +0 -2
  83. package/esm2022/shared/lib/models/index.mjs +0 -9
  84. package/esm2022/shared/lib/models/question-component.mjs +0 -2
  85. package/esm2022/shared/lib/models/question.mjs +0 -2
  86. package/esm2022/shared/lib/models/test.mjs +0 -2
  87. package/esm2022/shared/lib/models/translations.mjs +0 -2
  88. package/esm2022/shared/lib/models/window.mjs +0 -2
  89. package/esm2022/shared/lib/services/api/api.service.mjs +0 -97
  90. package/esm2022/shared/lib/services/api/mocked-api.service.mjs +0 -131
  91. package/esm2022/shared/lib/services/environment/environment.service.mjs +0 -13
  92. package/esm2022/shared/lib/services/index.mjs +0 -10
  93. package/esm2022/shared/lib/services/localization/languages.model.mjs +0 -19
  94. package/esm2022/shared/lib/services/localization/transloco-lazy-module-utils.mjs +0 -27
  95. package/esm2022/shared/lib/services/localization/transloco-testing.module.mjs +0 -11
  96. package/esm2022/shared/lib/services/media/media.service.mjs +0 -129
  97. package/esm2022/shared/lib/services/mixpanel/mixpanel.service.mjs +0 -30
  98. package/esm2022/shared/lib/services/theme/theme.service.mjs +0 -24
  99. package/esm2022/shared/test-mocks/assessment-test.mock.mjs +0 -112
  100. package/esm2022/shared/test-mocks/index.mjs +0 -3
  101. package/esm2022/shared/test-mocks/tgo-ui.mock.mjs +0 -39
  102. package/esm2022/testgorilla-tgo-coding-test.mjs +0 -5
@@ -1,34 +0,0 @@
1
- import { makeEnvironmentProviders } from '@angular/core';
2
- import { TGO_CODING_TEST_CONFIG } from './tgo-coding-test.token';
3
- /**
4
- * Provides the TGO Coding Test library configuration.
5
- *
6
- * This function should be called in the consuming application's
7
- * app.config.ts (for standalone apps) or module providers.
8
- *
9
- * @param config - The configuration object containing required settings
10
- * @returns EnvironmentProviders that can be added to the application providers
11
- *
12
- * @example
13
- * ```typescript
14
- * import { provideTgoCodingTest } from '@testgorilla/tgo-coding-test';
15
- * import { environment } from './environments/environment';
16
- *
17
- * export const appConfig: ApplicationConfig = {
18
- * providers: [
19
- * provideTgoCodingTest({
20
- * coderunnerV2Endpoint: environment.coderunnerV2Endpoint,
21
- * }),
22
- * ],
23
- * };
24
- * ```
25
- */
26
- export function provideTgoCodingTest(config) {
27
- return makeEnvironmentProviders([
28
- {
29
- provide: TGO_CODING_TEST_CONFIG,
30
- useValue: config,
31
- },
32
- ]);
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGdvLWNvZGluZy10ZXN0LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGdvLWNvZGluZy10ZXN0L3NyYy9saWIvY29uZmlnL3Rnby1jb2RpbmctdGVzdC5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR2pFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxNQUEyQjtJQUUzQixPQUFPLHdCQUF3QixDQUFDO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLHNCQUFzQjtZQUMvQixRQUFRLEVBQUUsTUFBTTtTQUNqQjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUR09fQ09ESU5HX1RFU1RfQ09ORklHIH0gZnJvbSAnLi90Z28tY29kaW5nLXRlc3QudG9rZW4nO1xuaW1wb3J0IHsgVGdvQ29kaW5nVGVzdENvbmZpZyB9IGZyb20gJy4vdGdvLWNvZGluZy10ZXN0LmNvbmZpZyc7XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIFRHTyBDb2RpbmcgVGVzdCBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24uXG4gKiBcbiAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBpbiB0aGUgY29uc3VtaW5nIGFwcGxpY2F0aW9uJ3NcbiAqIGFwcC5jb25maWcudHMgKGZvciBzdGFuZGFsb25lIGFwcHMpIG9yIG1vZHVsZSBwcm92aWRlcnMuXG4gKiBcbiAqIEBwYXJhbSBjb25maWcgLSBUaGUgY29uZmlndXJhdGlvbiBvYmplY3QgY29udGFpbmluZyByZXF1aXJlZCBzZXR0aW5nc1xuICogQHJldHVybnMgRW52aXJvbm1lbnRQcm92aWRlcnMgdGhhdCBjYW4gYmUgYWRkZWQgdG8gdGhlIGFwcGxpY2F0aW9uIHByb3ZpZGVyc1xuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgcHJvdmlkZVRnb0NvZGluZ1Rlc3QgfSBmcm9tICdAdGVzdGdvcmlsbGEvdGdvLWNvZGluZy10ZXN0JztcbiAqIGltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuICogXG4gKiBleHBvcnQgY29uc3QgYXBwQ29uZmlnOiBBcHBsaWNhdGlvbkNvbmZpZyA9IHtcbiAqICAgcHJvdmlkZXJzOiBbXG4gKiAgICAgcHJvdmlkZVRnb0NvZGluZ1Rlc3Qoe1xuICogICAgICAgY29kZXJ1bm5lclYyRW5kcG9pbnQ6IGVudmlyb25tZW50LmNvZGVydW5uZXJWMkVuZHBvaW50LFxuICogICAgIH0pLFxuICogICBdLFxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVRnb0NvZGluZ1Rlc3QoXG4gIGNvbmZpZzogVGdvQ29kaW5nVGVzdENvbmZpZ1xuKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBUR09fQ09ESU5HX1RFU1RfQ09ORklHLFxuICAgICAgdXNlVmFsdWU6IGNvbmZpZyxcbiAgICB9LFxuICBdKTtcbn1cblxuIl19
@@ -1,14 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- /**
3
- * Injection token for the TGO Coding Test library configuration.
4
- *
5
- * This token is used to inject the runtime configuration provided
6
- * by the consuming application into library services.
7
- */
8
- export const TGO_CODING_TEST_CONFIG = new InjectionToken('TGO_CODING_TEST_CONFIG', {
9
- providedIn: 'root',
10
- factory: () => {
11
- throw new Error('TGO_CODING_TEST_CONFIG must be provided. Use provideTgoCodingTest() in your app.config.ts or component providers.');
12
- },
13
- });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGdvLWNvZGluZy10ZXN0LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGdvLWNvZGluZy10ZXN0L3NyYy9saWIvY29uZmlnL3Rnby1jb2RpbmctdGVzdC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3RELHdCQUF3QixFQUN4QjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLElBQUksS0FBSyxDQUNiLG1IQUFtSCxDQUNwSCxDQUFDO0lBQ0osQ0FBQztDQUNGLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZ29Db2RpbmdUZXN0Q29uZmlnIH0gZnJvbSAnLi90Z28tY29kaW5nLXRlc3QuY29uZmlnJztcblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIHRoZSBUR08gQ29kaW5nIFRlc3QgbGlicmFyeSBjb25maWd1cmF0aW9uLlxuICogXG4gKiBUaGlzIHRva2VuIGlzIHVzZWQgdG8gaW5qZWN0IHRoZSBydW50aW1lIGNvbmZpZ3VyYXRpb24gcHJvdmlkZWRcbiAqIGJ5IHRoZSBjb25zdW1pbmcgYXBwbGljYXRpb24gaW50byBsaWJyYXJ5IHNlcnZpY2VzLlxuICovXG5leHBvcnQgY29uc3QgVEdPX0NPRElOR19URVNUX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUZ29Db2RpbmdUZXN0Q29uZmlnPihcbiAgJ1RHT19DT0RJTkdfVEVTVF9DT05GSUcnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RHT19DT0RJTkdfVEVTVF9DT05GSUcgbXVzdCBiZSBwcm92aWRlZC4gVXNlIHByb3ZpZGVUZ29Db2RpbmdUZXN0KCkgaW4geW91ciBhcHAuY29uZmlnLnRzIG9yIGNvbXBvbmVudCBwcm92aWRlcnMuJ1xuICAgICAgKTtcbiAgICB9LFxuICB9XG4pO1xuXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1zYXZlZC1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGdvLWNvZGluZy10ZXN0L3NyYy9saWIvbW9kZWxzL2F1dG8tc2F2ZWQtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29kZUVkaXRvckxhbmd1YWdlcyB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29kZS1lZGl0b3IvaGVscGVycy9jb2RlLWVkaXRvci1oZWxwZXIubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi9jb25maWdzJztcbmltcG9ydCB7IEN1c3RvbVRlc3RDYXNlLCBFeGFtcGxlVGVzdENhc2UgfSBmcm9tICcuL3Rlc3QtY2FzZXMnO1xuXG5leHBvcnQgdHlwZSBUZXN0RGF0YSA9IHtcbiAgY29kZToge1xuICAgIFtrZXkgaW4gQ29kZUVkaXRvckxhbmd1YWdlc10/OiBzdHJpbmc7XG4gIH07XG4gIHRlc3RDYXNlc0xBVD86IChDdXN0b21UZXN0Q2FzZSB8IEV4YW1wbGVUZXN0Q2FzZSlbXTtcbiAgbGFzdE1vZGlmaWVkPzogbnVtYmVyOyAvLyB0aW1lc3RhbXAgd2hlbiB0aGlzIGVudHJ5IHdhcyBsYXN0IG1vZGlmaWVkXG59O1xuXG4vLyBGb3IgdjIgc2NoZW1hXG5leHBvcnQgdHlwZSBRdWVzdGlvbkRhdGEgPSB7XG4gIHByZXZpZXc/OiBUZXN0RGF0YTtcbiAgYWN0dWFsPzogVGVzdERhdGE7XG4gIGxhc3RNb2RpZmllZD86IG51bWJlcjtcbn07XG5cbi8vIFZlcnNpb24gMSBzY2hlbWEgLSBvcmlnaW5hbFxuZXhwb3J0IHR5cGUgQXV0b1NhdmVkRGF0YVYxID0ge1xuICBjb25maWc6IENvbmZpZztcbiAgaXNGdWxsc2NyZWVuOiBib29sZWFuO1xuICBhc3Nlc3NtZW50czoge1xuICAgIFtrZXk6IHN0cmluZ106IFRlc3REYXRhO1xuICB9O1xuICBsYXN0TGFuZ3VhZ2VMQVQ/OiB7XG4gICAgdmFsdWU6IENvZGVFZGl0b3JMYW5ndWFnZXM7XG4gICAgdmVyc2lvbjogc3RyaW5nO1xuICB9O1xufTtcblxuLy8gVmVyc2lvbiAyIHNjaGVtYSAtIHNlcGFyYXRlZCBieSBxdWVzdGlvbklkXG5leHBvcnQgdHlwZSBBdXRvU2F2ZWREYXRhVjIgPSB7XG4gIHZlcnNpb246IDI7XG4gIGNvbmZpZzogQ29uZmlnO1xuICBpc0Z1bGxzY3JlZW46IGJvb2xlYW47XG4gIGFzc2Vzc21lbnRzOiB7XG4gICAgW2Fzc2Vzc21lbnRJZDogc3RyaW5nXToge1xuICAgICAgW3F1ZXN0aW9uSWQ6IHN0cmluZ106IFF1ZXN0aW9uRGF0YTtcbiAgICB9O1xuICB9O1xuICBsYXN0TGFuZ3VhZ2VMQVQ/OiB7XG4gICAgdmFsdWU6IENvZGVFZGl0b3JMYW5ndWFnZXM7XG4gICAgdmVyc2lvbjogc3RyaW5nO1xuICB9IHwgbnVsbDtcbiAgbGFzdE1vZGlmaWVkOiBudW1iZXI7XG59O1xuXG4vLyBDdXJyZW50IHZlcnNpb25cbmV4cG9ydCB0eXBlIEF1dG9TYXZlZERhdGEgPSBBdXRvU2F2ZWREYXRhVjI7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL21vZGVscy9jb2RlLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENvZGVFdmVudCB7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIGNvZGU6IHN0cmluZztcbiAgZXh0cmFfcGF5bG9hZDogc3RyaW5nO1xuICBldmVudF90eXBlOiBDb2RlRXZlbnRUeXBlRW51bTtcbiAgYXR0ZW1wdF9pZDogc3RyaW5nIHwgbnVsbDtcbiAgcXVlc3Rpb25fcmVzdWx0X2lkOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUV2ZW50UmVzcG9uc2UgZXh0ZW5kcyBDb2RlRXZlbnQge1xuICBpZDogc3RyaW5nO1xuICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gIHVwZGF0ZWRfYXQ6IHN0cmluZztcbn1cblxudHlwZSBDb2RlRXZlbnRUeXBlRW51bSA9XG4gICdBVVRPU0FWRScgfCAnU1dJVENIJyB8ICdDT1BZUEFTVEUnIHwgJ0FUVEVNUFQnO1xuIl19
@@ -1,2 +0,0 @@
1
- export const TIMEOUT_SIGNAL = 'SIGKILL';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXJ1bm5lci1leGVjdXRpb24tcmVzdWx0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL21vZGVscy9jb2RlcnVubmVyLWV4ZWN1dGlvbi1yZXN1bHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlEQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTcWxUZXN0UmVzdWx0IHtcbiAgY29udGVudDogc3RyaW5nO1xuICByZXNwb25zZV9tc2c6IHN0cmluZztcbiAgc3RkZXJyOiBzdHJpbmcgfCBudWxsO1xuICBzdGRvdXQ6IHN0cmluZ1tdO1xuICB0ZXN0X3Jlc3VsdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVUZXN0UmVzdWx0IHtcbiAgYWN0dWFsT3V0cHV0OiBzdHJpbmc7XG4gIGxvZ3M6IHN0cmluZztcbiAgc3RhdHVzOiAncGFzc2VkJyB8ICdlcnJvcic7XG59XG5cbmV4cG9ydCB0eXBlIFRlc3RSZXN1bHQgPSBTcWxUZXN0UmVzdWx0IHwgQ29kZVRlc3RSZXN1bHQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kaW5nVGVzdHNSZXN1bHRzTW9kZWwge1xuICBsaXN0UmVzcG9uc2U6IFRlc3RSZXN1bHRbXTtcbiAgcmVzdW1lOiB7XG4gICAgb2s6IG51bWJlcjtcbiAgICBlcnJvcjogbnVtYmVyO1xuICAgIHRvdGFsOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZXJ1bm5lckF0dGVtcHRNb2RlbCB7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIGNyZWF0ZWRfYXQ/OiBzdHJpbmc7XG4gIGV4ZWN1dGlvbnM/OiBDb2RlcnVubmVyVGVzdENhc2VFeGVjdXRpb25Nb2RlbFtdO1xuICBpZD86IHN0cmluZztcbiAgbGFuZ3VhZ2U/OiBzdHJpbmc7XG4gIHF1ZXN0aW9uX3Jlc3VsdF9pZD86IG51bWJlcjtcbiAgdXBkYXRlZF9hdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RlcnVubmVyVGVzdENhc2VFeGVjdXRpb25Nb2RlbCB7XG4gIGlucHV0OiBzdHJpbmc7XG4gIGV2YWx1YXRpb246IHtcbiAgICB0ZXN0Y2FzZT86IHN0cmluZztcbiAgfTtcbiAgcnVuOiBDb2RlUnVubmVyVGVzdENhc2VFeGVjdXRpb25PdXRwdXRNb2RlbDtcbiAgY29tcGlsZTogQ29kZVJ1bm5lclRlc3RDYXNlRXhlY3V0aW9uT3V0cHV0TW9kZWw7XG4gIGF0dGVtcHRfaWQ6IG51bGw7XG4gIHN1Ym1pc3Npb25faWQ6IG51bGw7XG4gIHZhbGlkYXRpb25faWQ6IG51bGw7XG4gIGlkOiBzdHJpbmc7XG4gIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgdXBkYXRlZF9hdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVSdW5uZXJUZXN0Q2FzZUV4ZWN1dGlvbk91dHB1dE1vZGVsIHtcbiAgc3Rkb3V0Pzogc3RyaW5nO1xuICBzdGRlcnI/OiBzdHJpbmc7XG4gIHNpZ25hbD86IHN0cmluZztcbiAgb3V0cHV0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgVElNRU9VVF9TSUdOQUwgPSAnU0lHS0lMTCc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL21vZGVscy9jb25maWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaGVtZXMgfSBmcm9tICcuL3RoZW1lJztcblxuZXhwb3J0IGNvbnN0IGVudW0gRm9ybWF0dGluZ09wdGlvbnMge1xuICBDb2xvclRoZW1lID0gJ0NvbG9yIHRoZW1lJyxcbiAgVGFiU2l6ZSA9ICdUYWIgc2l6ZScsXG4gIEZvbnRTaXplID0gJ0ZvbnQgc2l6ZScsXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIENvZGluZ0Fzc2lzdGFuY2VPcHRpb25zIHtcbiAgQXV0b0NvbXBsZXRlID0gJ0F1dG8tY29tcGxldGUnLFxuICBFcnJvckhpZ2hsaWdodGluZyA9ICdFcnJvciBoaWdobGlnaHRpbmcnLFxuICBBdXRvQnJhY2tldHMgPSAnQXV0by1icmFja2V0cycsXG59XG5cbmV4cG9ydCB0eXBlIENvbmZpZ1ZhbHVlID0gVGhlbWVzIHwgbnVtYmVyIHwgYm9vbGVhbjtcbmV4cG9ydCB0eXBlIENvbmZpZyA9IHtcbiAgW2tleSBpbiBGb3JtYXR0aW5nT3B0aW9ucyB8IENvZGluZ0Fzc2lzdGFuY2VPcHRpb25zXT86IENvbmZpZ1ZhbHVlO1xufTtcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtY2hhbmdlLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL21vZGVscy9sYW5ndWFnZS1jaGFuZ2UtYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW51bSBMYW5ndWFnZUNoYW5nZUFjdGlvbiB7XG4gIENhbmNlbCA9ICdjYW5jZWwnLFxuICBDb25maXJtID0gJ2NvbmZpcm0nLFxufVxuIl19
@@ -1,3 +0,0 @@
1
- // This is only used for LAT to enable auto saving for preview questions to let user see updated code whenever he switches back and forth between languages
2
- export const AssessmentIdPreview = 'preview-id';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0LWxhbmd1YWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL21vZGVscy9sYXQtbGFuZ3VhZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLDJKQUEySjtBQUMzSixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2RlRWRpdG9yTGFuZ3VhZ2VzIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb2RlLWVkaXRvci9oZWxwZXJzL2NvZGUtZWRpdG9yLWhlbHBlci5tb2RlbCc7XG5cbmV4cG9ydCB0eXBlIExBVExhbmd1YWdlID0ge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogQ29kZUVkaXRvckxhbmd1YWdlcztcbiAgdmVyc2lvbj86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIExBVExhbmd1YWdlcyA9IExBVExhbmd1YWdlW107XG5cbi8vIFRoaXMgaXMgb25seSB1c2VkIGZvciBMQVQgdG8gZW5hYmxlIGF1dG8gc2F2aW5nIGZvciBwcmV2aWV3IHF1ZXN0aW9ucyB0byBsZXQgdXNlciBzZWUgdXBkYXRlZCBjb2RlIHdoZW5ldmVyIGhlIHN3aXRjaGVzIGJhY2sgYW5kIGZvcnRoIGJldHdlZW4gbGFuZ3VhZ2VzXG5leHBvcnQgY29uc3QgQXNzZXNzbWVudElkUHJldmlldyA9ICdwcmV2aWV3LWlkJztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4cGFuZWwtZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGdvLWNvZGluZy10ZXN0L3NyYy9saWIvbW9kZWxzL21peHBhbmVsLWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudW0gTWl4cGFuZWxFdmVudHMge1xuICBDaGFuZ2VkU2V0dGluZ3MgPSAnQ2hhbmdlZCBDb2RlcnVubmVyIHNldHRpbmcnLFxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL21vZGVscy9tb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW51bSBNb2RlcyB7XG4gIFByZXZpZXcgPSAncHJldmlldycsXG4gIFJ1bm5pbmcgPSAncnVubmluZycsXG4gIE5vbkFzc2Vzc21lbnRQcmV2aWV3ID0gJ25vbi1hc3Nlc3NtZW50LXByZXZpZXcnLFxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzdGUtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL21vZGVscy9wYXN0ZS1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFBhc3RlRGF0YSB7XG4gIHR5cGU6IHN0cmluZztcbiAgZGF0YTogc3RyaW5nO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbW1pbmctbGFuZ3VhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90Z28tY29kaW5nLXRlc3Qvc3JjL2xpYi9tb2RlbHMvcHJvZ3JhbW1pbmctbGFuZ3VhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUHJvZ3JhbW1pbmdMYW5ndWFnZSB7XG4gIGlkPzogbnVtYmVyO1xuICBuYW1lPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgZW51bSBQcm9ncmFtbWluZ0xhbmd1YWdlVmVyc2lvbmVkIHtcbiAgU1FMaXRlID0gJ3NxbGl0ZTMtMy4zNi4wJyxcbn1cbiJdfQ==
@@ -1,7 +0,0 @@
1
- export var TestCaseStatus;
2
- (function (TestCaseStatus) {
3
- TestCaseStatus["Passed"] = "passed";
4
- TestCaseStatus["Error"] = "error";
5
- TestCaseStatus["Empty"] = "empty";
6
- })(TestCaseStatus || (TestCaseStatus = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1jYXNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL21vZGVscy90ZXN0LWNhc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCQSxNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3hCLG1DQUFpQixDQUFBO0lBQ2pCLGlDQUFlLENBQUE7SUFDZixpQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEN1c3RvbVRlc3RDYXNlID0ge1xuICBsb2NhbElkPzogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIC8vIGlucHV0IGlzIG9wdGlvbmFsIGZvciBzcWwgdGVzdCBjYXNlc1xuICBpbnB1dD86IHN0cmluZztcbiAgZXhwZWN0ZWRPdXRwdXQ6IHN0cmluZztcbiAgcHJlbG9hZGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRXhhbXBsZVRlc3RDYXNlID0gQ3VzdG9tVGVzdENhc2UgJiB7XG4gIGlkOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBUZXN0Q2FzZVJlc3VsdCA9IHtcbiAgYWN0dWFsT3V0cHV0OiBzdHJpbmc7XG4gIGxvZ3M6IHN0cmluZztcbiAgc3RhdHVzOiBUZXN0Q2FzZVN0YXR1cztcbn07XG5cbmV4cG9ydCB0eXBlIEFsbG93ZWRNb2RpZmljYXRpb25GaWVsZHMgPSB7XG4gIGlucHV0OiBzdHJpbmc7XG4gIGV4cGVjdGVkT3V0cHV0OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZW51bSBUZXN0Q2FzZVN0YXR1cyB7XG4gIFBhc3NlZCA9ICdwYXNzZWQnLFxuICBFcnJvciA9ICdlcnJvcicsXG4gIEVtcHR5ID0gJ2VtcHR5Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXN0Q2FzZURlbGV0aW9uRGF0YSB7XG4gIGluZGV4OiBudW1iZXI7XG4gIGFjdGlvbjogVGVzdENhc2VEZWxldGlvbkFjdGlvbjtcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gVGVzdENhc2VEZWxldGlvbkFjdGlvbiB7XG4gIFRyeSA9ICd0cnknLFxuICBDb25maXJtID0gJ2NvbmZpcm0nLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExBVEZvcm1hdHRlZFRlc3RDYXNlcyB7XG4gIGlucHV0OiBzdHJpbmc7XG4gIHNvbHV0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3FsVGVzdENhc2Uge1xuICBpZD86IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBjYXRlZ29yeTogQ2F0ZWdvcnlTcWxUZXN0Q2FzZUVudW07XG4gIC8qKiBFeHBlY3RlZCB0ZXN0IGNhc2UgcmVzdWx0ICovXG4gIHJlc3VsdD86IHN0cmluZztcbiAgaW5pdGlhbF9zcWw/OiBzdHJpbmc7XG4gIC8qKiBQcmV2aW91cyBzcWwgcXVlcnkgZm9yIGNoZWNraW5nICovXG4gIHByZV9zcWw/OiBzdHJpbmc7XG4gIC8qKiBQb3N0IHNxbCBxdWVyeSBmb3IgY2hlY2tpbmcgKi9cbiAgcG9zdF9zcWw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVzdGNhc2Uge1xuICBpZD86IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBpbnB1dD86IHN0cmluZztcbiAgc29sdXRpb24/OiBzdHJpbmc7XG4gIHBvaW50cz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cGVkVGVzdENhc2VzUmVzdWx0IHtcbiAgY3VzdG9tOiB7IGZhaWxlZDogbnVtYmVyOyBwYXNzZWQ6IG51bWJlciB9LFxuICBleGFtcGxlOiB7IGZhaWxlZDogbnVtYmVyOyBwYXNzZWQ6IG51bWJlciB9XG59XG5cbnR5cGUgQ2F0ZWdvcnlTcWxUZXN0Q2FzZUVudW0gPVxuICAndXNlcicgfFxuICAndmFsaWRhdGlvbic7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90Z28tY29kaW5nLXRlc3Qvc3JjL2xpYi9tb2RlbHMvdGhlbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoZW1lIG5hbWUgbXVzdCBzdGFydCB3aXRoIFwidGhlbWUtXCIgISEhXG5leHBvcnQgY29uc3QgZW51bSBUaGVtZXMge1xuICBEZWZhdWx0ID0gJ3RoZW1lLWRlZmF1bHQnLFxuICBEYXJrID0gJ3RoZW1lLWRhcmsnLFxufVxuIl19
@@ -1,2 +0,0 @@
1
- export const ROOT_TRANSLATIONS_SCOPE = 'CODING_QUESTION';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGdvLWNvZGluZy10ZXN0L3NyYy9saWIvbW9kZWxzL3RyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBST09UX1RSQU5TTEFUSU9OU19TQ09QRSA9ICdDT0RJTkdfUVVFU1RJT04nO1xuIl19
@@ -1,8 +0,0 @@
1
- export var ViewMode;
2
- (function (ViewMode) {
3
- ViewMode["Full"] = "full";
4
- ViewMode["IDEOnly"] = "ide";
5
- ViewMode["RunnableIde"] = "runnable-ide";
6
- ViewMode["RunnableIdeWithLangSelector"] = "runnable-ide-w-lang-selector";
7
- })(ViewMode || (ViewMode = {}));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1tb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGdvLWNvZGluZy10ZXN0L3NyYy9saWIvbW9kZWxzL3ZpZXctbW9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxRQUtYO0FBTEQsV0FBWSxRQUFRO0lBQ2xCLHlCQUFhLENBQUE7SUFDYiwyQkFBZSxDQUFBO0lBQ2Ysd0NBQTRCLENBQUE7SUFDNUIsd0VBQTRELENBQUE7QUFDOUQsQ0FBQyxFQUxXLFFBQVEsS0FBUixRQUFRLFFBS25CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVmlld01vZGUge1xuICBGdWxsID0gJ2Z1bGwnLFxuICBJREVPbmx5ID0gJ2lkZScsXG4gIFJ1bm5hYmxlSWRlID0gJ3J1bm5hYmxlLWlkZScsXG4gIFJ1bm5hYmxlSWRlV2l0aExhbmdTZWxlY3RvciA9ICdydW5uYWJsZS1pZGUtdy1sYW5nLXNlbGVjdG9yJyxcbn1cbiJdfQ==
@@ -1,39 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * USAGE:
5
- * {{ argument | memoizeFunc : method [: context] }}
6
- *
7
- * You could provide multiple arguments for the function like that:
8
- * {{ [argument1, argument2] | memoizeFunc : method [: context] }}
9
- *
10
- *
11
- * FUNCTION WITH CONTEXT
12
- * We still could have optimization in impure functions with Angular pipes. Just provide context as second parameter
13
- * to the memoizeFunc pipe.
14
- *
15
- * {{ argument | memoizeFunc : method : this }}
16
- *
17
- * Alternative variant use 'bind'
18
- *
19
- * {{ argument | memoizeFunc : method.bind(this) }}
20
- *
21
- * */
22
- export class MemoizeFuncPipe {
23
- transform(value, handler, context) {
24
- if (context) {
25
- return handler.call(context, value);
26
- }
27
- return handler(value);
28
- }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MemoizeFuncPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
30
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MemoizeFuncPipe, isStandalone: true, name: "memoizeFunc" });
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MemoizeFuncPipe, decorators: [{
33
- type: Pipe,
34
- args: [{
35
- name: 'memoizeFunc',
36
- standalone: true,
37
- }]
38
- }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb2l6ZS1mdW5jLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90Z28tY29kaW5nLXRlc3Qvc3JjL2xpYi9waXBlcy9tZW1vaXplLWZ1bmMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFFcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWtCSztBQUtMLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBTyxLQUFRLEVBQUUsT0FBd0IsRUFBRSxPQUFhO1FBQy9ELElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO3dHQVBVLGVBQWU7c0dBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqICAgVVNBR0U6XG4gKiAgIHt7IGFyZ3VtZW50IHwgbWVtb2l6ZUZ1bmMgOiBtZXRob2QgWzogY29udGV4dF0gfX1cbiAqXG4gKiAgIFlvdSBjb3VsZCBwcm92aWRlIG11bHRpcGxlIGFyZ3VtZW50cyBmb3IgdGhlIGZ1bmN0aW9uIGxpa2UgdGhhdDpcbiAqICAge3sgW2FyZ3VtZW50MSwgYXJndW1lbnQyXSB8IG1lbW9pemVGdW5jIDogbWV0aG9kIFs6IGNvbnRleHRdIH19XG4gKlxuICpcbiAqICAgRlVOQ1RJT04gV0lUSCBDT05URVhUXG4gKiAgIFdlIHN0aWxsIGNvdWxkIGhhdmUgb3B0aW1pemF0aW9uIGluIGltcHVyZSBmdW5jdGlvbnMgd2l0aCBBbmd1bGFyIHBpcGVzLiBKdXN0IHByb3ZpZGUgY29udGV4dCBhcyBzZWNvbmQgcGFyYW1ldGVyXG4gKiAgIHRvIHRoZSBtZW1vaXplRnVuYyBwaXBlLlxuICpcbiAqICAge3sgYXJndW1lbnQgfCBtZW1vaXplRnVuYyA6IG1ldGhvZCA6IHRoaXMgfX1cbiAqXG4gKiAgIEFsdGVybmF0aXZlIHZhcmlhbnQgdXNlICdiaW5kJ1xuICpcbiAqICAge3sgYXJndW1lbnQgfCBtZW1vaXplRnVuYyA6IG1ldGhvZC5iaW5kKHRoaXMpIH19XG4gKlxuICogKi9cbkBQaXBlKHtcbiAgbmFtZTogJ21lbW9pemVGdW5jJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTWVtb2l6ZUZ1bmNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTxULCBLPih2YWx1ZTogVCwgaGFuZGxlcjogKHZhbHVlOiBUKSA9PiBLLCBjb250ZXh0PzogYW55KTogSyB7XG4gICAgaWYgKGNvbnRleHQpIHtcbiAgICAgIHJldHVybiBoYW5kbGVyLmNhbGwoY29udGV4dCwgdmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBoYW5kbGVyKHZhbHVlKTtcbiAgfVxufVxuIl19
@@ -1,19 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ApiService } from '../../../shared/index.mjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../../shared/index.mjs";
5
- export class CandidatureApiService {
6
- apiService;
7
- constructor(apiService) {
8
- this.apiService = apiService;
9
- }
10
- getAvailableLanguages$() {
11
- return this.apiService.get('candidatures/test-results/programming-languages/');
12
- }
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CandidatureApiService, deps: [{ token: i1.ApiService }], target: i0.ɵɵFactoryTarget.Injectable });
14
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CandidatureApiService });
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CandidatureApiService, decorators: [{
17
- type: Injectable
18
- }], ctorParameters: () => [{ type: i1.ApiService }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuZGlkYXR1cmUtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90Z28tY29kaW5nLXRlc3Qvc3JjL2xpYi9zZXJ2aWNlcy9jYW5kaWRhdGUtY29kaW5nLXRlc3Qtc2VydmljZXMvY2FuZGlkYXR1cmUtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQUkxRCxNQUFNLE9BQU8scUJBQXFCO0lBRXRCO0lBRFYsWUFDVSxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBRWhDLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7d0dBUlUscUJBQXFCOzRHQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnQHRlc3Rnb3JpbGxhL3Rnby10ZXN0LXNoYXJlZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYW5kaWRhdHVyZUFwaVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBnZXRBdmFpbGFibGVMYW5ndWFnZXMkKCk6IE9ic2VydmFibGU8bnVtYmVyW10+IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldCgnY2FuZGlkYXR1cmVzL3Rlc3QtcmVzdWx0cy9wcm9ncmFtbWluZy1sYW5ndWFnZXMvJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,58 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { ApiService } from '../../../shared/index.mjs';
3
- import { EMPTY, throwError } from 'rxjs';
4
- import { SnackbarService } from '@testgorilla/tgo-ui';
5
- import { ROOT_TRANSLATIONS_SCOPE } from '../../models/translations';
6
- import { translate } from '@ngneat/transloco';
7
- import { CodingTestConfigService } from '../coding-test-config.service';
8
- import * as i0 from "@angular/core";
9
- export class CoderunnerApiService {
10
- snackbarService = inject(SnackbarService);
11
- apiService = inject(ApiService);
12
- configService = inject(CodingTestConfigService);
13
- CR2Url = `${this.configService.getCoderunnerV2Endpoint()}/`;
14
- // todo: will public preview be supported by mFE? if not - remove this
15
- runPublicTest$(code, testcases, language) {
16
- return this.apiService.post(`${this.CR2Url}api/attempts/public/`, {
17
- question_id: 0,
18
- language,
19
- code,
20
- testcases,
21
- question_result_id: 0,
22
- }, {}, this.handleError.bind(this), true);
23
- }
24
- runPreviewTest$(test_result_id, code, testcases, language) {
25
- return this.apiService.post(`${this.CR2Url}api/attempts/preview/`, {
26
- language,
27
- code,
28
- testcases,
29
- test_result_id,
30
- }, {}, this.handleError.bind(this), true);
31
- }
32
- runNonPreviewTest$(question_id, question_result_id, code, testcases, language) {
33
- return this.apiService.post(`${this.CR2Url}api/attempts/`, {
34
- question_id,
35
- language,
36
- code,
37
- testcases,
38
- question_result_id,
39
- }, {}, this.handleError.bind(this), true);
40
- }
41
- sendCodeEvent$(event) {
42
- return this.apiService.post(`${this.CR2Url}api/events/`, event, {}, this.handleError.bind(this), true);
43
- }
44
- handleError({ error }) {
45
- if (error.detail) {
46
- return throwError(() => error);
47
- }
48
- const genericErrorText = translate(`${ROOT_TRANSLATIONS_SCOPE}.ERRORS.SYSTEM_ERROR`);
49
- this.snackbarService.error(genericErrorText);
50
- return EMPTY;
51
- }
52
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CoderunnerApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
53
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CoderunnerApiService });
54
- }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CoderunnerApiService, decorators: [{
56
- type: Injectable
57
- }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXJ1bm5lci1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL3NlcnZpY2VzL2NhbmRpZGF0ZS1jb2RpbmctdGVzdC1zZXJ2aWNlcy9jb2RlcnVubmVyLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUd4RSxNQUFNLE9BQU8sb0JBQW9CO0lBQ2QsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMxQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLGFBQWEsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVoRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsQ0FBQztJQUU3RSxzRUFBc0U7SUFDdEUsY0FBYyxDQUNaLElBQVksRUFDWixTQUFrRCxFQUNsRCxRQUFnQjtRQUVoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QixHQUFHLElBQUksQ0FBQyxNQUFNLHNCQUFzQixFQUNwQztZQUNFLFdBQVcsRUFBRSxDQUFDO1lBQ2QsUUFBUTtZQUNSLElBQUk7WUFDSixTQUFTO1lBQ1Qsa0JBQWtCLEVBQUUsQ0FBQztTQUN0QixFQUNELEVBQUUsRUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDM0IsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUNiLGNBQXNCLEVBQ3RCLElBQVksRUFDWixTQUFrRCxFQUNsRCxRQUFnQjtRQUVoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QixHQUFHLElBQUksQ0FBQyxNQUFNLHVCQUF1QixFQUNyQztZQUNFLFFBQVE7WUFDUixJQUFJO1lBQ0osU0FBUztZQUNULGNBQWM7U0FDZixFQUNELEVBQUUsRUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDM0IsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCLENBQ2hCLFdBQW1CLEVBQ25CLGtCQUEwQixFQUMxQixJQUFZLEVBQ1osU0FBa0QsRUFDbEQsUUFBZ0I7UUFFaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDekIsR0FBRyxJQUFJLENBQUMsTUFBTSxlQUFlLEVBQzdCO1lBQ0UsV0FBVztZQUNYLFFBQVE7WUFDUixJQUFJO1lBQ0osU0FBUztZQUNULGtCQUFrQjtTQUNuQixFQUNELEVBQUUsRUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDM0IsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3pCLEdBQUcsSUFBSSxDQUFDLE1BQU0sYUFBYSxFQUMzQixLQUFLLEVBQ0wsRUFBRSxFQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUMzQixJQUFJLENBQ0wsQ0FBQztJQUNKLENBQUM7SUFFTyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQXFCO1FBQzlDLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFFRCxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FDaEMsR0FBRyx1QkFBdUIsc0JBQXNCLENBQ2pELENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt3R0ExRlUsb0JBQW9COzRHQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICdAdGVzdGdvcmlsbGEvdGdvLXRlc3Qtc2hhcmVkJztcbmltcG9ydCB7IEVNUFRZLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMQVRGb3JtYXR0ZWRUZXN0Q2FzZXMsIFNxbFRlc3RDYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Rlc3QtY2FzZXMnO1xuaW1wb3J0IHsgQ29kZXJ1bm5lckF0dGVtcHRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jb2RlcnVubmVyLWV4ZWN1dGlvbi1yZXN1bHRzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgU25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnQHRlc3Rnb3JpbGxhL3Rnby11aSc7XG5pbXBvcnQgeyBST09UX1RSQU5TTEFUSU9OU19TQ09QRSB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgdHJhbnNsYXRlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xuaW1wb3J0IHsgQ29kZUV2ZW50LCBDb2RlRXZlbnRSZXNwb25zZSB9IGZyb20gJy4uLy4uL21vZGVscy9jb2RlLWV2ZW50JztcbmltcG9ydCB7IENvZGluZ1Rlc3RDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29kaW5nLXRlc3QtY29uZmlnLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29kZXJ1bm5lckFwaVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHNuYWNrYmFyU2VydmljZSA9IGluamVjdChTbmFja2JhclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZSA9IGluamVjdChDb2RpbmdUZXN0Q29uZmlnU2VydmljZSk7XG4gIFxuICBwcml2YXRlIHJlYWRvbmx5IENSMlVybCA9IGAke3RoaXMuY29uZmlnU2VydmljZS5nZXRDb2RlcnVubmVyVjJFbmRwb2ludCgpfS9gO1xuXG4gIC8vIHRvZG86IHdpbGwgcHVibGljIHByZXZpZXcgYmUgc3VwcG9ydGVkIGJ5IG1GRT8gaWYgbm90IC0gcmVtb3ZlIHRoaXNcbiAgcnVuUHVibGljVGVzdCQoXG4gICAgY29kZTogc3RyaW5nLFxuICAgIHRlc3RjYXNlczogTEFURm9ybWF0dGVkVGVzdENhc2VzW10gfCBTcWxUZXN0Q2FzZVtdLFxuICAgIGxhbmd1YWdlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDb2RlcnVubmVyQXR0ZW1wdE1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KFxuICAgICAgYCR7dGhpcy5DUjJVcmx9YXBpL2F0dGVtcHRzL3B1YmxpYy9gLFxuICAgICAge1xuICAgICAgICBxdWVzdGlvbl9pZDogMCxcbiAgICAgICAgbGFuZ3VhZ2UsXG4gICAgICAgIGNvZGUsXG4gICAgICAgIHRlc3RjYXNlcyxcbiAgICAgICAgcXVlc3Rpb25fcmVzdWx0X2lkOiAwLFxuICAgICAgfSxcbiAgICAgIHt9LFxuICAgICAgdGhpcy5oYW5kbGVFcnJvci5iaW5kKHRoaXMpLFxuICAgICAgdHJ1ZVxuICAgICk7XG4gIH1cblxuICBydW5QcmV2aWV3VGVzdCQoXG4gICAgdGVzdF9yZXN1bHRfaWQ6IG51bWJlcixcbiAgICBjb2RlOiBzdHJpbmcsXG4gICAgdGVzdGNhc2VzOiBMQVRGb3JtYXR0ZWRUZXN0Q2FzZXNbXSB8IFNxbFRlc3RDYXNlW10sXG4gICAgbGFuZ3VhZ2U6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPENvZGVydW5uZXJBdHRlbXB0TW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoXG4gICAgICBgJHt0aGlzLkNSMlVybH1hcGkvYXR0ZW1wdHMvcHJldmlldy9gLFxuICAgICAge1xuICAgICAgICBsYW5ndWFnZSxcbiAgICAgICAgY29kZSxcbiAgICAgICAgdGVzdGNhc2VzLFxuICAgICAgICB0ZXN0X3Jlc3VsdF9pZCxcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IuYmluZCh0aGlzKSxcbiAgICAgIHRydWVcbiAgICApO1xuICB9XG5cbiAgcnVuTm9uUHJldmlld1Rlc3QkKFxuICAgIHF1ZXN0aW9uX2lkOiBudW1iZXIsXG4gICAgcXVlc3Rpb25fcmVzdWx0X2lkOiBudW1iZXIsXG4gICAgY29kZTogc3RyaW5nLFxuICAgIHRlc3RjYXNlczogTEFURm9ybWF0dGVkVGVzdENhc2VzW10gfCBTcWxUZXN0Q2FzZVtdLFxuICAgIGxhbmd1YWdlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDb2RlcnVubmVyQXR0ZW1wdE1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KFxuICAgICAgYCR7dGhpcy5DUjJVcmx9YXBpL2F0dGVtcHRzL2AsXG4gICAgICB7XG4gICAgICAgIHF1ZXN0aW9uX2lkLFxuICAgICAgICBsYW5ndWFnZSxcbiAgICAgICAgY29kZSxcbiAgICAgICAgdGVzdGNhc2VzLFxuICAgICAgICBxdWVzdGlvbl9yZXN1bHRfaWQsXG4gICAgICB9LFxuICAgICAge30sXG4gICAgICB0aGlzLmhhbmRsZUVycm9yLmJpbmQodGhpcyksXG4gICAgICB0cnVlXG4gICAgKTtcbiAgfVxuXG4gIHNlbmRDb2RlRXZlbnQkKGV2ZW50OiBDb2RlRXZlbnQpOiBPYnNlcnZhYmxlPENvZGVFdmVudFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KFxuICAgICAgYCR7dGhpcy5DUjJVcmx9YXBpL2V2ZW50cy9gLFxuICAgICAgZXZlbnQsXG4gICAgICB7fSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IuYmluZCh0aGlzKSxcbiAgICAgIHRydWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcih7IGVycm9yIH06IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xuICAgIGlmIChlcnJvci5kZXRhaWwpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICB9XG5cbiAgICBjb25zdCBnZW5lcmljRXJyb3JUZXh0ID0gdHJhbnNsYXRlKFxuICAgICAgYCR7Uk9PVF9UUkFOU0xBVElPTlNfU0NPUEV9LkVSUk9SUy5TWVNURU1fRVJST1JgXG4gICAgKTtcbiAgICB0aGlzLnNuYWNrYmFyU2VydmljZS5lcnJvcihnZW5lcmljRXJyb3JUZXh0KTtcbiAgICByZXR1cm4gRU1QVFk7XG4gIH1cbn1cbiJdfQ==
@@ -1,89 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { translate } from '@ngneat/transloco';
3
- import { GuidedTourService, Orientation, } from 'ngx-guided-tour';
4
- import { BehaviorSubject } from 'rxjs';
5
- import { ROOT_TRANSLATIONS_SCOPE } from '../../models/translations';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "ngx-guided-tour";
8
- export class CodingTestTourService {
9
- guidedTourService;
10
- translationContext = `${ROOT_TRANSLATIONS_SCOPE}.TOUR.`;
11
- guidedTourId = 'lat-coding-tour';
12
- MINIMUM_SCREEN_SIZE = 599;
13
- activeGuidedTourIdSub$ = new BehaviorSubject('');
14
- activeGuidedTourId$ = this.activeGuidedTourIdSub$.asObservable();
15
- constructor(guidedTourService) {
16
- this.guidedTourService = guidedTourService;
17
- }
18
- init(mode) {
19
- this.start(mode);
20
- }
21
- skipTour() {
22
- // currentTourStepCount checks if there is a currentTour before checking stepCount.
23
- if (this.guidedTourService.currentTourStepCount) {
24
- this.guidedTourService.skipTour();
25
- }
26
- }
27
- start(mode) {
28
- if (window.innerWidth > this.MINIMUM_SCREEN_SIZE) {
29
- this.guidedTourService.startTour(this.getTour(mode));
30
- }
31
- this.publishActiveGuidedTourId();
32
- }
33
- publishActiveGuidedTourId() {
34
- this.activeGuidedTourIdSub$.next(this.guidedTourId);
35
- }
36
- getTour(mode) {
37
- let steps = [];
38
- const step1 = {
39
- title: translate(`${this.translationContext}STEP_1.TITLE`),
40
- selector: '#question-section',
41
- content: translate(`${this.translationContext}STEP_1.MESSAGE`),
42
- orientation: Orientation.Right,
43
- };
44
- const step2 = {
45
- title: translate(`${this.translationContext}STEP_2.TITLE`),
46
- selector: '#language-dropdown',
47
- content: translate(`${this.translationContext}STEP_2.MESSAGE`),
48
- orientation: Orientation.Bottom,
49
- };
50
- const step3 = {
51
- title: translate(`${this.translationContext}STEP_3.TITLE`),
52
- selector: '#test-cases',
53
- content: translate(`${this.translationContext}STEP_3.MESSAGE`),
54
- orientation: Orientation.Top,
55
- };
56
- const step4 = {
57
- title: translate(`${this.translationContext}STEP_4.TITLE`),
58
- selector: '#configuration-ide-button',
59
- content: translate(`${this.translationContext}STEP_4.MESSAGE`),
60
- orientation: Orientation.BottomRight,
61
- };
62
- const step5 = {
63
- title: translate(`${this.translationContext}STEP_5.TITLE`),
64
- selector: '[data-tourId*="question-next-finish-button"]',
65
- content: translate(`${this.translationContext}STEP_5.MESSAGE`),
66
- orientation: Orientation.Bottom,
67
- };
68
- switch (mode) {
69
- case "practice" /* CodingTestTourMode.PracticeQuestion */:
70
- steps = [step1, step2, step3, step4, step5];
71
- break;
72
- case "real" /* CodingTestTourMode.RealQuestion */:
73
- steps = [step2, step3, step4];
74
- break;
75
- }
76
- return {
77
- tourId: this.guidedTourId,
78
- useOrb: false,
79
- minimumScreenSize: this.MINIMUM_SCREEN_SIZE,
80
- steps,
81
- };
82
- }
83
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CodingTestTourService, deps: [{ token: i1.GuidedTourService }], target: i0.ɵɵFactoryTarget.Injectable });
84
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CodingTestTourService });
85
- }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CodingTestTourService, decorators: [{
87
- type: Injectable
88
- }], ctorParameters: () => [{ type: i1.GuidedTourService }] });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kaW5nLXRlc3QtdG91ci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGdvLWNvZGluZy10ZXN0L3NyYy9saWIvc2VydmljZXMvY2FuZGlkYXRlLWNvZGluZy10ZXN0LXNlcnZpY2VzL2NvZGluZy10ZXN0LXRvdXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFdBQVcsR0FFWixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVFwRSxNQUFNLE9BQU8scUJBQXFCO0lBUVo7SUFQSCxrQkFBa0IsR0FBRyxHQUFHLHVCQUF1QixRQUFRLENBQUM7SUFDeEQsWUFBWSxHQUFHLGlCQUFpQixDQUFDO0lBQ2pDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztJQUVuQyxzQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6RCxtQkFBbUIsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFakUsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBRyxDQUFDO0lBRTVELElBQUksQ0FBQyxJQUF3QjtRQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRO1FBQ04sbUZBQW1GO1FBQ25GLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFD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bnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJhbnNsYXRlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xuaW1wb3J0IHtcbiAgR3VpZGVkVG91cixcbiAgR3VpZGVkVG91clNlcnZpY2UsXG4gIE9yaWVudGF0aW9uLFxuICBUb3VyU3RlcCxcbn0gZnJvbSAnbmd4LWd1aWRlZC10b3VyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBST09UX1RSQU5TTEFUSU9OU19TQ09QRSB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2xhdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgZW51bSBDb2RpbmdUZXN0VG91ck1vZGUge1xuICBQcmFjdGljZVF1ZXN0aW9uID0gJ3ByYWN0aWNlJyxcbiAgUmVhbFF1ZXN0aW9uID0gJ3JlYWwnLFxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29kaW5nVGVzdFRvdXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGlvbkNvbnRleHQgPSBgJHtST09UX1RSQU5TTEFUSU9OU19TQ09QRX0uVE9VUi5gO1xuICBwcml2YXRlIHJlYWRvbmx5IGd1aWRlZFRvdXJJZCA9ICdsYXQtY29kaW5nLXRvdXInO1xuICBwcml2YXRlIHJlYWRvbmx5IE1JTklNVU1fU0NSRUVOX1NJWkUgPSA1OTk7XG5cbiAgcHJpdmF0ZSBhY3RpdmVHdWlkZWRUb3VySWRTdWIkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XG4gIGFjdGl2ZUd1aWRlZFRvdXJJZCQgPSB0aGlzLmFjdGl2ZUd1aWRlZFRvdXJJZFN1YiQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBndWlkZWRUb3VyU2VydmljZTogR3VpZGVkVG91clNlcnZpY2UpIHt9XG5cbiAgaW5pdChtb2RlOiBDb2RpbmdUZXN0VG91ck1vZGUpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXJ0KG1vZGUpO1xuICB9XG5cbiAgc2tpcFRvdXIoKTogdm9pZCB7XG4gICAgLy8gY3VycmVudFRvdXJTdGVwQ291bnQgY2hlY2tzIGlmIHRoZXJlIGlzIGEgY3VycmVudFRvdXIgYmVmb3JlIGNoZWNraW5nIHN0ZXBDb3VudC5cbiAgICBpZiAodGhpcy5ndWlkZWRUb3VyU2VydmljZS5jdXJyZW50VG91clN0ZXBDb3VudCkge1xuICAgICAgdGhpcy5ndWlkZWRUb3VyU2VydmljZS5za2lwVG91cigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnQobW9kZTogQ29kaW5nVGVzdFRvdXJNb2RlKSB7XG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoID4gdGhpcy5NSU5JTVVNX1NDUkVFTl9TSVpFKSB7XG4gICAgICB0aGlzLmd1aWRlZFRvdXJTZXJ2aWNlLnN0YXJ0VG91cih0aGlzLmdldFRvdXIobW9kZSkpO1xuICAgIH1cbiAgICB0aGlzLnB1Ymxpc2hBY3RpdmVHdWlkZWRUb3VySWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgcHVibGlzaEFjdGl2ZUd1aWRlZFRvdXJJZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUd1aWRlZFRvdXJJZFN1YiQubmV4dCh0aGlzLmd1aWRlZFRvdXJJZCk7XG4gIH1cblxuICBwcml2YXRlIGdldFRvdXIobW9kZTogQ29kaW5nVGVzdFRvdXJNb2RlKTogR3VpZGVkVG91ciB7XG4gICAgbGV0IHN0ZXBzOiBUb3VyU3RlcFtdID0gW107XG4gICAgY29uc3Qgc3RlcDEgPSB7XG4gICAgICB0aXRsZTogdHJhbnNsYXRlKGAke3RoaXMudHJhbnNsYXRpb25Db250ZXh0fVNURVBfMS5USVRMRWApLFxuICAgICAgc2VsZWN0b3I6ICcjcXVlc3Rpb24tc2VjdGlvbicsXG4gICAgICBjb250ZW50OiB0cmFuc2xhdGUoYCR7dGhpcy50cmFuc2xhdGlvbkNvbnRleHR9U1RFUF8xLk1FU1NBR0VgKSxcbiAgICAgIG9yaWVudGF0aW9uOiBPcmllbnRhdGlvbi5SaWdodCxcbiAgICB9O1xuICAgIGNvbnN0IHN0ZXAyID0ge1xuICAgICAgdGl0bGU6IHRyYW5zbGF0ZShgJHt0aGlzLnRyYW5zbGF0aW9uQ29udGV4dH1TVEVQXzIuVElUTEVgKSxcbiAgICAgIHNlbGVjdG9yOiAnI2xhbmd1YWdlLWRyb3Bkb3duJyxcbiAgICAgIGNvbnRlbnQ6IHRyYW5zbGF0ZShgJHt0aGlzLnRyYW5zbGF0aW9uQ29udGV4dH1TVEVQXzIuTUVTU0FHRWApLFxuICAgICAgb3JpZW50YXRpb246IE9yaWVudGF0aW9uLkJvdHRvbSxcbiAgICB9O1xuICAgIGNvbnN0IHN0ZXAzID0ge1xuICAgICAgdGl0bGU6IHRyYW5zbGF0ZShgJHt0aGlzLnRyYW5zbGF0aW9uQ29udGV4dH1TVEVQXzMuVElUTEVgKSxcbiAgICAgIHNlbGVjdG9yOiAnI3Rlc3QtY2FzZXMnLFxuICAgICAgY29udGVudDogdHJhbnNsYXRlKGAke3RoaXMudHJhbnNsYXRpb25Db250ZXh0fVNURVBfMy5NRVNTQUdFYCksXG4gICAgICBvcmllbnRhdGlvbjogT3JpZW50YXRpb24uVG9wLFxuICAgIH07XG4gICAgY29uc3Qgc3RlcDQgPSB7XG4gICAgICB0aXRsZTogdHJhbnNsYXRlKGAke3RoaXMudHJhbnNsYXRpb25Db250ZXh0fVNURVBfNC5USVRMRWApLFxuICAgICAgc2VsZWN0b3I6ICcjY29uZmlndXJhdGlvbi1pZGUtYnV0dG9uJyxcbiAgICAgIGNvbnRlbnQ6IHRyYW5zbGF0ZShgJHt0aGlzLnRyYW5zbGF0aW9uQ29udGV4dH1TVEVQXzQuTUVTU0FHRWApLFxuICAgICAgb3JpZW50YXRpb246IE9yaWVudGF0aW9uLkJvdHRvbVJpZ2h0LFxuICAgIH07XG4gICAgY29uc3Qgc3RlcDUgPSB7XG4gICAgICB0aXRsZTogdHJhbnNsYXRlKGAke3RoaXMudHJhbnNsYXRpb25Db250ZXh0fVNURVBfNS5USVRMRWApLFxuICAgICAgc2VsZWN0b3I6ICdbZGF0YS10b3VySWQqPVwicXVlc3Rpb24tbmV4dC1maW5pc2gtYnV0dG9uXCJdJyxcbiAgICAgIGNvbnRlbnQ6IHRyYW5zbGF0ZShgJHt0aGlzLnRyYW5zbGF0aW9uQ29udGV4dH1TVEVQXzUuTUVTU0FHRWApLFxuICAgICAgb3JpZW50YXRpb246IE9yaWVudGF0aW9uLkJvdHRvbSxcbiAgICB9O1xuXG4gICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICBjYXNlIENvZGluZ1Rlc3RUb3VyTW9kZS5QcmFjdGljZVF1ZXN0aW9uOlxuICAgICAgICBzdGVwcyA9IFtzdGVwMSwgc3RlcDIsIHN0ZXAzLCBzdGVwNCwgc3RlcDVdO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ29kaW5nVGVzdFRvdXJNb2RlLlJlYWxRdWVzdGlvbjpcbiAgICAgICAgc3RlcHMgPSBbc3RlcDIsIHN0ZXAzLCBzdGVwNF07XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0b3VySWQ6IHRoaXMuZ3VpZGVkVG91cklkLFxuICAgICAgdXNlT3JiOiBmYWxzZSxcbiAgICAgIG1pbmltdW1TY3JlZW5TaXplOiB0aGlzLk1JTklNVU1fU0NSRUVOX1NJWkUsXG4gICAgICBzdGVwcyxcbiAgICB9O1xuICB9XG59XG4iXX0=