@testgorilla/tgo-coding-test 2.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.
- package/fesm2022/testgorilla-tgo-coding-test.mjs +4526 -0
- package/fesm2022/testgorilla-tgo-coding-test.mjs.map +1 -0
- package/{src/index.ts → index.d.ts} +2 -19
- package/lib/components/code-editor/code-editor.component.d.ts +54 -0
- package/lib/components/code-editor/code-editor.service.d.ts +12 -0
- package/lib/components/code-editor/helpers/c-helper.d.ts +11 -0
- package/lib/components/code-editor/helpers/code-editor-helper.base.d.ts +8 -0
- package/lib/components/code-editor/helpers/code-editor-helper.model.d.ts +62 -0
- package/lib/components/code-editor/helpers/cpp-helper.d.ts +11 -0
- package/lib/components/code-editor/helpers/csharp-helper.d.ts +12 -0
- package/lib/components/code-editor/helpers/go-helper.d.ts +12 -0
- package/lib/components/code-editor/helpers/java-helper.d.ts +12 -0
- package/lib/components/code-editor/helpers/javascript-helper.d.ts +10 -0
- package/lib/components/code-editor/helpers/kotlin-helper.d.ts +12 -0
- package/lib/components/code-editor/helpers/php-helper.d.ts +10 -0
- package/lib/components/code-editor/helpers/python-helper.d.ts +10 -0
- package/lib/components/code-editor/helpers/r-helper.d.ts +10 -0
- package/lib/components/code-editor/helpers/ruby-helper.d.ts +10 -0
- package/lib/components/code-editor/helpers/scala-helper.d.ts +12 -0
- package/lib/components/code-editor/helpers/sql-helper.d.ts +10 -0
- package/lib/components/code-editor/helpers/swift-helper.d.ts +11 -0
- package/lib/components/code-editor/helpers/typescript-helper.d.ts +11 -0
- package/lib/components/code-editor/models/code-editor.model.d.ts +8 -0
- package/lib/components/code-editor/models/coding-snapshot.model.d.ts +4 -0
- package/lib/components/coding-question/coding-question.component.d.ts +45 -0
- package/lib/components/coding-section/coding-section.component.d.ts +52 -0
- package/lib/components/common/truncated-text/truncated-text.component.d.ts +13 -0
- package/lib/components/configurations/configurations.component.d.ts +40 -0
- package/lib/components/instructions/instructions.component.d.ts +48 -0
- package/lib/components/panel/panel.component.d.ts +12 -0
- package/lib/components/runnable-editor/runnable-editor.component.d.ts +53 -0
- package/lib/components/tests/test-cases/test-cases.component.d.ts +46 -0
- package/lib/components/tests/test-cases-content/test-cases-content.component.d.ts +26 -0
- package/lib/components/tests/test-cases-status/test-cases-status.component.d.ts +9 -0
- package/lib/components/tests/test-results.component.d.ts +33 -0
- package/lib/components/tgo-coding-test/tgo-coding-test.component.d.ts +69 -0
- package/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.d.ts +101 -0
- package/{src/lib/config/index.ts → lib/config/index.d.ts} +0 -1
- package/lib/config/tgo-coding-test.config.d.ts +24 -0
- package/{src/lib/config/tgo-coding-test.provider.ts → lib/config/tgo-coding-test.provider.d.ts} +6 -18
- package/lib/config/tgo-coding-test.token.d.ts +9 -0
- package/lib/models/auto-saved-data.d.ts +42 -0
- package/lib/models/code-event.d.ts +15 -0
- package/lib/models/coderunner-execution-results.d.ts +51 -0
- package/lib/models/configs.d.ts +15 -0
- package/lib/models/language-change-action.d.ts +4 -0
- package/lib/models/lat-languages.d.ts +8 -0
- package/lib/models/mixpanel-events.d.ts +3 -0
- package/lib/models/mode.d.ts +5 -0
- package/lib/models/paste-data.d.ts +4 -0
- package/lib/models/programming-language.d.ts +8 -0
- package/lib/models/test-cases.d.ts +67 -0
- package/lib/models/theme.d.ts +4 -0
- package/lib/models/translations.d.ts +1 -0
- package/lib/models/view-mode.d.ts +6 -0
- package/{src/lib/pipes/memoize-func.pipe.ts → lib/pipes/memoize-func.pipe.d.ts} +6 -14
- package/lib/services/candidate-coding-test-services/candidature-api.service.d.ts +10 -0
- package/lib/services/candidate-coding-test-services/coderunner-api.service.d.ts +18 -0
- package/lib/services/candidate-coding-test-services/coding-test-tour.service.d.ts +22 -0
- package/lib/services/candidate-coding-test-services/coding-test.service.d.ts +68 -0
- package/{src/lib/services/candidate-coding-test-services/index.ts → lib/services/candidate-coding-test-services/index.d.ts} +1 -1
- package/lib/services/coding-test-config.service.d.ts +38 -0
- package/lib/services/configurations.service.d.ts +37 -0
- package/lib/services/lib-coding-test.service.d.ts +69 -0
- package/lib/services/storage.service.d.ts +83 -0
- package/lib/services/test-cases.service.d.ts +12 -0
- package/lib/services/theme.service.d.ts +17 -0
- package/lib/utils/additional-languages/erlang.d.ts +37 -0
- package/lib/utils/resize-element.d.ts +2 -0
- package/lib/utils/time-to-ms.util.d.ts +1 -0
- package/package.json +17 -3
- package/shared/index.d.ts +4 -0
- package/shared/lib/components/audio-animation/audio-animation.component.d.ts +27 -0
- package/shared/lib/components/audio-animation/index.d.ts +1 -0
- package/shared/lib/components/index.d.ts +2 -0
- package/shared/lib/components/vimeo-video/index.d.ts +1 -0
- package/shared/lib/components/vimeo-video/vimeo-video.component.d.ts +24 -0
- package/shared/lib/models/answer.d.ts +17 -0
- package/shared/lib/models/assessment.d.ts +80 -0
- package/shared/lib/models/environment.d.ts +1 -0
- package/shared/lib/models/index.d.ts +8 -0
- package/shared/lib/models/question-component.d.ts +54 -0
- package/shared/lib/models/question.d.ts +102 -0
- package/shared/lib/models/test.d.ts +81 -0
- package/shared/lib/models/translations.d.ts +1 -0
- package/shared/lib/models/window.d.ts +6 -0
- package/shared/lib/services/api/api.service.d.ts +25 -0
- package/shared/lib/services/api/mocked-api.service.d.ts +35 -0
- package/shared/lib/services/environment/environment.service.d.ts +6 -0
- package/shared/lib/services/index.d.ts +9 -0
- package/shared/lib/services/localization/languages.model.d.ts +15 -0
- package/shared/lib/services/localization/transloco-lazy-module-utils.d.ts +11 -0
- package/shared/lib/services/localization/transloco-testing.module.d.ts +2 -0
- package/shared/lib/services/media/media.service.d.ts +29 -0
- package/shared/lib/services/mixpanel/mixpanel.service.d.ts +10 -0
- package/shared/lib/services/theme/theme.service.d.ts +8 -0
- package/shared/test-mocks/assessment-test.mock.d.ts +21 -0
- package/shared/test-mocks/index.d.ts +2 -0
- package/shared/test-mocks/tgo-ui.mock.d.ts +21 -0
- package/.eslintrc.json +0 -46
- package/jest.config.ts +0 -26
- package/ng-package.json +0 -14
- package/project.json +0 -48
- package/src/lib/components/.gitkeep +0 -0
- package/src/lib/components/code-editor/code-editor.component.html +0 -10
- package/src/lib/components/code-editor/code-editor.component.scss +0 -21
- package/src/lib/components/code-editor/code-editor.component.spec.ts +0 -136
- package/src/lib/components/code-editor/code-editor.component.ts +0 -368
- package/src/lib/components/code-editor/code-editor.mocks.ts +0 -28
- package/src/lib/components/code-editor/code-editor.service.spec.ts +0 -160
- package/src/lib/components/code-editor/code-editor.service.ts +0 -94
- package/src/lib/components/code-editor/helpers/c-helper.spec.ts +0 -39
- package/src/lib/components/code-editor/helpers/c-helper.ts +0 -51
- package/src/lib/components/code-editor/helpers/code-editor-helper.base.spec.ts +0 -30
- package/src/lib/components/code-editor/helpers/code-editor-helper.base.ts +0 -16
- package/src/lib/components/code-editor/helpers/code-editor-helper.mocks.ts +0 -24
- package/src/lib/components/code-editor/helpers/code-editor-helper.model.ts +0 -67
- package/src/lib/components/code-editor/helpers/cpp-helper.spec.ts +0 -40
- package/src/lib/components/code-editor/helpers/cpp-helper.ts +0 -52
- package/src/lib/components/code-editor/helpers/csharp-helper.spec.ts +0 -42
- package/src/lib/components/code-editor/helpers/csharp-helper.ts +0 -55
- package/src/lib/components/code-editor/helpers/go-helper.spec.ts +0 -41
- package/src/lib/components/code-editor/helpers/go-helper.ts +0 -54
- package/src/lib/components/code-editor/helpers/java-helper.spec.ts +0 -41
- package/src/lib/components/code-editor/helpers/java-helper.ts +0 -54
- package/src/lib/components/code-editor/helpers/javascript-helper.spec.ts +0 -39
- package/src/lib/components/code-editor/helpers/javascript-helper.ts +0 -32
- package/src/lib/components/code-editor/helpers/kotlin-helper.spec.ts +0 -41
- package/src/lib/components/code-editor/helpers/kotlin-helper.ts +0 -54
- package/src/lib/components/code-editor/helpers/php-helper.spec.ts +0 -39
- package/src/lib/components/code-editor/helpers/php-helper.ts +0 -32
- package/src/lib/components/code-editor/helpers/python-helper.spec.ts +0 -39
- package/src/lib/components/code-editor/helpers/python-helper.ts +0 -32
- package/src/lib/components/code-editor/helpers/r-helper.spec.ts +0 -39
- package/src/lib/components/code-editor/helpers/r-helper.ts +0 -32
- package/src/lib/components/code-editor/helpers/ruby-helper.spec.ts +0 -39
- package/src/lib/components/code-editor/helpers/ruby-helper.ts +0 -32
- package/src/lib/components/code-editor/helpers/scala-helper.spec.ts +0 -41
- package/src/lib/components/code-editor/helpers/scala-helper.ts +0 -53
- package/src/lib/components/code-editor/helpers/sql-helper.spec.ts +0 -87
- package/src/lib/components/code-editor/helpers/sql-helper.ts +0 -44
- package/src/lib/components/code-editor/helpers/swift-helper.spec.ts +0 -40
- package/src/lib/components/code-editor/helpers/swift-helper.ts +0 -51
- package/src/lib/components/code-editor/helpers/typescript-helper.spec.ts +0 -40
- package/src/lib/components/code-editor/helpers/typescript-helper.ts +0 -52
- package/src/lib/components/code-editor/models/code-editor.model.ts +0 -9
- package/src/lib/components/code-editor/models/coding-snapshot.model.ts +0 -4
- package/src/lib/components/coding-question/coding-question.component.html +0 -78
- package/src/lib/components/coding-question/coding-question.component.scss +0 -75
- package/src/lib/components/coding-question/coding-question.component.spec.ts +0 -85
- package/src/lib/components/coding-question/coding-question.component.ts +0 -101
- package/src/lib/components/coding-section/coding-section.component.html +0 -82
- package/src/lib/components/coding-section/coding-section.component.scss +0 -64
- package/src/lib/components/coding-section/coding-section.component.spec.ts +0 -257
- package/src/lib/components/coding-section/coding-section.component.ts +0 -186
- package/src/lib/components/coding-test.module.ts +0 -124
- package/src/lib/components/common/truncated-text/truncated-text.component.html +0 -6
- package/src/lib/components/common/truncated-text/truncated-text.component.scss +0 -18
- package/src/lib/components/common/truncated-text/truncated-text.component.spec.ts +0 -84
- package/src/lib/components/common/truncated-text/truncated-text.component.ts +0 -36
- package/src/lib/components/configurations/configurations.component.html +0 -57
- package/src/lib/components/configurations/configurations.component.scss +0 -42
- package/src/lib/components/configurations/configurations.component.spec.ts +0 -186
- package/src/lib/components/configurations/configurations.component.ts +0 -97
- package/src/lib/components/instructions/instructions.component.html +0 -41
- package/src/lib/components/instructions/instructions.component.scss +0 -173
- package/src/lib/components/instructions/instructions.component.spec.ts +0 -106
- package/src/lib/components/instructions/instructions.component.ts +0 -137
- package/src/lib/components/panel/panel.component.html +0 -19
- package/src/lib/components/panel/panel.component.scss +0 -41
- package/src/lib/components/panel/panel.component.spec.ts +0 -40
- package/src/lib/components/panel/panel.component.ts +0 -33
- package/src/lib/components/runnable-editor/runnable-editor.component.html +0 -75
- package/src/lib/components/runnable-editor/runnable-editor.component.scss +0 -55
- package/src/lib/components/runnable-editor/runnable-editor.component.spec.ts +0 -124
- package/src/lib/components/runnable-editor/runnable-editor.component.ts +0 -154
- package/src/lib/components/tests/test-cases/test-cases.component.html +0 -135
- package/src/lib/components/tests/test-cases/test-cases.component.scss +0 -220
- package/src/lib/components/tests/test-cases/test-cases.component.spec.ts +0 -401
- package/src/lib/components/tests/test-cases/test-cases.component.ts +0 -204
- package/src/lib/components/tests/test-cases-content/test-cases-content.component.html +0 -94
- package/src/lib/components/tests/test-cases-content/test-cases-content.component.scss +0 -103
- package/src/lib/components/tests/test-cases-content/test-cases-content.component.spec.ts +0 -122
- package/src/lib/components/tests/test-cases-content/test-cases-content.component.ts +0 -101
- package/src/lib/components/tests/test-cases-status/test-cases-status.component.html +0 -16
- package/src/lib/components/tests/test-cases-status/test-cases-status.component.scss +0 -49
- package/src/lib/components/tests/test-cases-status/test-cases-status.component.spec.ts +0 -22
- package/src/lib/components/tests/test-cases-status/test-cases-status.component.ts +0 -17
- package/src/lib/components/tests/test-results.component.html +0 -119
- package/src/lib/components/tests/test-results.component.scss +0 -189
- package/src/lib/components/tests/test-results.component.spec.ts +0 -140
- package/src/lib/components/tests/test-results.component.ts +0 -97
- package/src/lib/components/tgo-coding-test/tgo-coding-test.component.html +0 -96
- package/src/lib/components/tgo-coding-test/tgo-coding-test.component.scss +0 -6
- package/src/lib/components/tgo-coding-test/tgo-coding-test.component.spec.ts +0 -599
- package/src/lib/components/tgo-coding-test/tgo-coding-test.component.ts +0 -278
- package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.html +0 -36
- package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.scss +0 -183
- package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.spec.ts +0 -883
- package/src/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.ts +0 -578
- package/src/lib/config/tgo-coding-test.config.ts +0 -26
- package/src/lib/config/tgo-coding-test.token.ts +0 -21
- package/src/lib/models/.gitkeep +0 -0
- package/src/lib/models/auto-saved-data.ts +0 -51
- package/src/lib/models/code-event.ts +0 -17
- package/src/lib/models/coderunner-execution-results.ts +0 -58
- package/src/lib/models/coding-lib.mocks.ts +0 -246
- package/src/lib/models/configs.ts +0 -18
- package/src/lib/models/language-change-action.ts +0 -4
- package/src/lib/models/lat-languages.ts +0 -12
- package/src/lib/models/mixpanel-events.ts +0 -3
- package/src/lib/models/mode.ts +0 -5
- package/src/lib/models/paste-data.ts +0 -4
- package/src/lib/models/programming-language.ts +0 -9
- package/src/lib/models/test-cases.ts +0 -74
- package/src/lib/models/theme.ts +0 -5
- package/src/lib/models/translations.ts +0 -1
- package/src/lib/models/view-mode.ts +0 -6
- package/src/lib/services/.gitkeep +0 -0
- package/src/lib/services/candidate-coding-test-services/candidature-api.service.spec.ts +0 -40
- package/src/lib/services/candidate-coding-test-services/candidature-api.service.ts +0 -15
- package/src/lib/services/candidate-coding-test-services/coderunner-api.service.spec.ts +0 -134
- package/src/lib/services/candidate-coding-test-services/coderunner-api.service.ts +0 -105
- package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.spec.ts +0 -161
- package/src/lib/services/candidate-coding-test-services/coding-test-tour.service.ts +0 -100
- package/src/lib/services/candidate-coding-test-services/coding-test.service.spec.ts +0 -1524
- package/src/lib/services/candidate-coding-test-services/coding-test.service.ts +0 -843
- package/src/lib/services/coding-test-config.service.ts +0 -48
- package/src/lib/services/configurations.service.mocks.ts +0 -77
- package/src/lib/services/configurations.service.spec.ts +0 -79
- package/src/lib/services/configurations.service.ts +0 -111
- package/src/lib/services/index.ts +0 -0
- package/src/lib/services/lib-coding-test.service.spec.ts +0 -265
- package/src/lib/services/lib-coding-test.service.ts +0 -157
- package/src/lib/services/local-storage.service.mocks.ts +0 -22
- package/src/lib/services/storage.service.spec.ts +0 -1119
- package/src/lib/services/storage.service.ts +0 -729
- package/src/lib/services/test-cases.service.spec.ts +0 -53
- package/src/lib/services/test-cases.service.ts +0 -29
- package/src/lib/services/theme.service.spec.ts +0 -76
- package/src/lib/services/theme.service.ts +0 -34
- package/src/lib/styles/mixins.scss +0 -86
- package/src/lib/styles/styles.scss +0 -112
- package/src/lib/styles/variables.scss +0 -105
- package/src/lib/utils/.gitkeep +0 -0
- package/src/lib/utils/additional-languages/erlang.ts +0 -115
- package/src/lib/utils/resize-element.ts +0 -15
- package/src/lib/utils/time-to-ms.util.ts +0 -10
- package/src/test-setup.ts +0 -3
- package/tsconfig.json +0 -19
- package/tsconfig.lib.json +0 -19
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
- /package/{src/assets → assets}/i18n/en.json +0 -0
- /package/{src/lib/components/code-editor/helpers/index.ts → lib/components/code-editor/helpers/index.d.ts} +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
export type CustomTestCase = {
|
|
2
|
+
localId?: number;
|
|
3
|
+
name: string;
|
|
4
|
+
input?: string;
|
|
5
|
+
expectedOutput: string;
|
|
6
|
+
preloaded: boolean;
|
|
7
|
+
};
|
|
8
|
+
export type ExampleTestCase = CustomTestCase & {
|
|
9
|
+
id: number;
|
|
10
|
+
};
|
|
11
|
+
export type TestCaseResult = {
|
|
12
|
+
actualOutput: string;
|
|
13
|
+
logs: string;
|
|
14
|
+
status: TestCaseStatus;
|
|
15
|
+
};
|
|
16
|
+
export type AllowedModificationFields = {
|
|
17
|
+
input: string;
|
|
18
|
+
expectedOutput: string;
|
|
19
|
+
};
|
|
20
|
+
export declare enum TestCaseStatus {
|
|
21
|
+
Passed = "passed",
|
|
22
|
+
Error = "error",
|
|
23
|
+
Empty = "empty"
|
|
24
|
+
}
|
|
25
|
+
export interface TestCaseDeletionData {
|
|
26
|
+
index: number;
|
|
27
|
+
action: TestCaseDeletionAction;
|
|
28
|
+
}
|
|
29
|
+
export declare const enum TestCaseDeletionAction {
|
|
30
|
+
Try = "try",
|
|
31
|
+
Confirm = "confirm"
|
|
32
|
+
}
|
|
33
|
+
export interface LATFormattedTestCases {
|
|
34
|
+
input: string;
|
|
35
|
+
solution: string;
|
|
36
|
+
}
|
|
37
|
+
export interface SqlTestCase {
|
|
38
|
+
id?: number;
|
|
39
|
+
name: string;
|
|
40
|
+
category: CategorySqlTestCaseEnum;
|
|
41
|
+
/** Expected test case result */
|
|
42
|
+
result?: string;
|
|
43
|
+
initial_sql?: string;
|
|
44
|
+
/** Previous sql query for checking */
|
|
45
|
+
pre_sql?: string;
|
|
46
|
+
/** Post sql query for checking */
|
|
47
|
+
post_sql?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface Testcase {
|
|
50
|
+
id?: number;
|
|
51
|
+
name: string;
|
|
52
|
+
input?: string;
|
|
53
|
+
solution?: string;
|
|
54
|
+
points?: number;
|
|
55
|
+
}
|
|
56
|
+
export interface GroupedTestCasesResult {
|
|
57
|
+
custom: {
|
|
58
|
+
failed: number;
|
|
59
|
+
passed: number;
|
|
60
|
+
};
|
|
61
|
+
example: {
|
|
62
|
+
failed: number;
|
|
63
|
+
passed: number;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
type CategorySqlTestCaseEnum = 'user' | 'validation';
|
|
67
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ROOT_TRANSLATIONS_SCOPE = "CODING_QUESTION";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
3
|
/**
|
|
4
4
|
* USAGE:
|
|
5
5
|
* {{ argument | memoizeFunc : method [: context] }}
|
|
@@ -19,16 +19,8 @@ import { Pipe, PipeTransform } from '@angular/core';
|
|
|
19
19
|
* {{ argument | memoizeFunc : method.bind(this) }}
|
|
20
20
|
*
|
|
21
21
|
* */
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
export class MemoizeFuncPipe implements PipeTransform {
|
|
27
|
-
transform<T, K>(value: T, handler: (value: T) => K, context?: any): K {
|
|
28
|
-
if (context) {
|
|
29
|
-
return handler.call(context, value);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return handler(value);
|
|
33
|
-
}
|
|
22
|
+
export declare class MemoizeFuncPipe implements PipeTransform {
|
|
23
|
+
transform<T, K>(value: T, handler: (value: T) => K, context?: any): K;
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MemoizeFuncPipe, never>;
|
|
25
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<MemoizeFuncPipe, "memoizeFunc", true>;
|
|
34
26
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ApiService } from '../../../shared/index';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class CandidatureApiService {
|
|
5
|
+
private apiService;
|
|
6
|
+
constructor(apiService: ApiService);
|
|
7
|
+
getAvailableLanguages$(): Observable<number[]>;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CandidatureApiService, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CandidatureApiService>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { LATFormattedTestCases, SqlTestCase } from '../../models/test-cases';
|
|
3
|
+
import { CoderunnerAttemptModel } from '../../models/coderunner-execution-results';
|
|
4
|
+
import { CodeEvent, CodeEventResponse } from '../../models/code-event';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class CoderunnerApiService {
|
|
7
|
+
private readonly snackbarService;
|
|
8
|
+
private readonly apiService;
|
|
9
|
+
private readonly configService;
|
|
10
|
+
private readonly CR2Url;
|
|
11
|
+
runPublicTest$(code: string, testcases: LATFormattedTestCases[] | SqlTestCase[], language: string): Observable<CoderunnerAttemptModel>;
|
|
12
|
+
runPreviewTest$(test_result_id: number, code: string, testcases: LATFormattedTestCases[] | SqlTestCase[], language: string): Observable<CoderunnerAttemptModel>;
|
|
13
|
+
runNonPreviewTest$(question_id: number, question_result_id: number, code: string, testcases: LATFormattedTestCases[] | SqlTestCase[], language: string): Observable<CoderunnerAttemptModel>;
|
|
14
|
+
sendCodeEvent$(event: CodeEvent): Observable<CodeEventResponse>;
|
|
15
|
+
private handleError;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CoderunnerApiService, never>;
|
|
17
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CoderunnerApiService>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { GuidedTourService } from 'ngx-guided-tour';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare const enum CodingTestTourMode {
|
|
4
|
+
PracticeQuestion = "practice",
|
|
5
|
+
RealQuestion = "real"
|
|
6
|
+
}
|
|
7
|
+
export declare class CodingTestTourService {
|
|
8
|
+
private guidedTourService;
|
|
9
|
+
private readonly translationContext;
|
|
10
|
+
private readonly guidedTourId;
|
|
11
|
+
private readonly MINIMUM_SCREEN_SIZE;
|
|
12
|
+
private activeGuidedTourIdSub$;
|
|
13
|
+
activeGuidedTourId$: import("rxjs").Observable<string>;
|
|
14
|
+
constructor(guidedTourService: GuidedTourService);
|
|
15
|
+
init(mode: CodingTestTourMode): void;
|
|
16
|
+
skipTour(): void;
|
|
17
|
+
private start;
|
|
18
|
+
private publishActiveGuidedTourId;
|
|
19
|
+
private getTour;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CodingTestTourService, never>;
|
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CodingTestTourService>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ApplicationTheme, DialogService, SnackbarService } from '@testgorilla/tgo-ui';
|
|
2
|
+
import { MixpanelService, TestResultRead } from '../../../shared/index';
|
|
3
|
+
import { ExampleTestCase, TestCaseDeletionData } from '../../models/test-cases';
|
|
4
|
+
import { LibCodingTestService, ResetCodeAction } from '../lib-coding-test.service';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
6
|
+
import { CodeEventResponse } from '../../models/code-event';
|
|
7
|
+
import { CodingTestsResultsModel } from '../../models/coderunner-execution-results';
|
|
8
|
+
import { ProgrammingLanguage } from '../../models/programming-language';
|
|
9
|
+
import { SqlTestCase, Testcase } from '../../models/test-cases';
|
|
10
|
+
import { CoderunnerApiService } from './coderunner-api.service';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export declare class CodingTestService {
|
|
13
|
+
private coderunnerApiService;
|
|
14
|
+
private libCodingTestService;
|
|
15
|
+
private mixpanel;
|
|
16
|
+
private snackBar;
|
|
17
|
+
private dialog;
|
|
18
|
+
readonly translationContext = "CODING_QUESTION.CODING_LIB.";
|
|
19
|
+
private codingTestResults;
|
|
20
|
+
private currentLanguage;
|
|
21
|
+
private codingTestResutsSubj$;
|
|
22
|
+
codingTestResults$: Observable<CodingTestsResultsModel>;
|
|
23
|
+
isTestResultsLoading: import("@angular/core").WritableSignal<boolean>;
|
|
24
|
+
private unsubscribe$;
|
|
25
|
+
private sqlTestCases;
|
|
26
|
+
private isSQLTest;
|
|
27
|
+
constructor(coderunnerApiService: CoderunnerApiService, libCodingTestService: LibCodingTestService, mixpanel: MixpanelService, snackBar: SnackbarService, dialog: DialogService);
|
|
28
|
+
private getBaseExampleTestCase;
|
|
29
|
+
transformToExampleLATtestCase: (testcase: Testcase, index: number) => ExampleTestCase;
|
|
30
|
+
transformToExampleSQLTestCase: (testcase: SqlTestCase, index: number) => ExampleTestCase;
|
|
31
|
+
setSqlTestCases(sqlTestCases: SqlTestCase[]): void;
|
|
32
|
+
getSqlTestCases(): SqlTestCase[];
|
|
33
|
+
handleResetCodeModal(applicationTheme: ApplicationTheme, companyColor: string): void;
|
|
34
|
+
listenDeleteCustomTestCases(): Observable<TestCaseDeletionData>;
|
|
35
|
+
handleDeleteTestCaseModal(index: number, applicationTheme: ApplicationTheme, companyColor: string): void;
|
|
36
|
+
handleLanguageChangeModal(questionResultId: number, selectedLanguage?: ProgrammingLanguage, applicationTheme?: ApplicationTheme, companyColor?: string): void;
|
|
37
|
+
setCurrentLanguageLAT(language: ProgrammingLanguage): void;
|
|
38
|
+
listenCodingTestChanges(): Observable<ResetCodeAction>;
|
|
39
|
+
runTest(resultId: number, code: string, isLAT?: boolean, isSQL?: boolean, publicPreview?: boolean, preview?: boolean, id?: number, testResultId?: number, testData?: TestResultRead): void;
|
|
40
|
+
sendCopypasteEvent$(code: string, copiedText: string, questionResultId: number): Observable<CodeEventResponse>;
|
|
41
|
+
sendAutosaveEvent$(code: string, questionResultId: number): Observable<CodeEventResponse>;
|
|
42
|
+
private sendLanguageChangeEvent$;
|
|
43
|
+
private getBaseEvent;
|
|
44
|
+
private sendCodeEvent$;
|
|
45
|
+
private countTestResults;
|
|
46
|
+
private handleTestCasesResult;
|
|
47
|
+
private getSQLrequest;
|
|
48
|
+
private runSql;
|
|
49
|
+
private getLATrequest;
|
|
50
|
+
setIsSQLTest(isSQL: boolean): void;
|
|
51
|
+
private runLAT;
|
|
52
|
+
private finalizeReq;
|
|
53
|
+
private getNoOutputCopies;
|
|
54
|
+
private getSendCodeEventStream$;
|
|
55
|
+
unsubscribeAll(): void;
|
|
56
|
+
resetRunTestSummary(): void;
|
|
57
|
+
trackConfigChanged(isPracticeQuestion?: boolean): void;
|
|
58
|
+
private getCoderunnerLogs;
|
|
59
|
+
private trackTestcasesRun;
|
|
60
|
+
private preRunTests;
|
|
61
|
+
private getMixpanelTestCasesData;
|
|
62
|
+
private getGroupedTestCaseResult;
|
|
63
|
+
private getMixpanelSettingsData;
|
|
64
|
+
private getMixpanelInstanceValue;
|
|
65
|
+
private publishTestResults;
|
|
66
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CodingTestService, never>;
|
|
67
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CodingTestService>;
|
|
68
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
* Service for accessing TGO Coding Test library configuration.
|
|
4
|
+
*
|
|
5
|
+
* This service provides a clean abstraction layer over the configuration
|
|
6
|
+
* injection token, allowing services to access configuration values
|
|
7
|
+
* without directly injecting the token.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* @Injectable()
|
|
12
|
+
* export class MyService {
|
|
13
|
+
* private readonly configService = inject(CodingTestConfigService);
|
|
14
|
+
*
|
|
15
|
+
* doSomething() {
|
|
16
|
+
* const endpoint = this.configService.getCoderunnerV2Endpoint();
|
|
17
|
+
* // Use endpoint...
|
|
18
|
+
* }
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare class CodingTestConfigService {
|
|
23
|
+
private readonly config;
|
|
24
|
+
/**
|
|
25
|
+
* Gets the main API endpoint URL.
|
|
26
|
+
*
|
|
27
|
+
* @returns The base URL for the main API endpoint
|
|
28
|
+
*/
|
|
29
|
+
getApiUrl(): string;
|
|
30
|
+
/**
|
|
31
|
+
* Gets the CodeRunner V2 API endpoint URL.
|
|
32
|
+
*
|
|
33
|
+
* @returns The base URL for the CodeRunner V2 API endpoint
|
|
34
|
+
*/
|
|
35
|
+
getCoderunnerV2Endpoint(): string;
|
|
36
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CodingTestConfigService, never>;
|
|
37
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CodingTestConfigService>;
|
|
38
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { Config } from '../models/configs';
|
|
3
|
+
import { Themes } from '../models/theme';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ConfigurationsService {
|
|
6
|
+
private defaultConfigs;
|
|
7
|
+
private formattingOptions;
|
|
8
|
+
private codingAssistanceOptions;
|
|
9
|
+
private configSubj$;
|
|
10
|
+
config$: Observable<Config>;
|
|
11
|
+
private configFieldChangedSubj$;
|
|
12
|
+
configFieldChanged$: Observable<Partial<Config>>;
|
|
13
|
+
private currentConfig;
|
|
14
|
+
colorTheme$: Observable<Themes>;
|
|
15
|
+
private codeComponentDestroyed;
|
|
16
|
+
private configurationsPanelOpenSubj$;
|
|
17
|
+
configurationsPanelOpen$: Observable<boolean>;
|
|
18
|
+
setColorTheme(value: Themes): void;
|
|
19
|
+
setConfig(config: Config): void;
|
|
20
|
+
trackConfigChanged(changedField: Partial<Config>): void;
|
|
21
|
+
getInitialConfig(): Config;
|
|
22
|
+
openConfigPanel(): void;
|
|
23
|
+
closeConfigPanel(): void;
|
|
24
|
+
getFormattingOptions(): {
|
|
25
|
+
[key: string]: {
|
|
26
|
+
label: string;
|
|
27
|
+
value: Themes | number;
|
|
28
|
+
}[];
|
|
29
|
+
};
|
|
30
|
+
getCodingAssistanceOptions(): {
|
|
31
|
+
[key: string]: boolean;
|
|
32
|
+
};
|
|
33
|
+
getCodeComponentDestroyed(): boolean;
|
|
34
|
+
setCodeComponentDestroyed(value: boolean): void;
|
|
35
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationsService, never>;
|
|
36
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationsService>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { CodeEditorLanguages } from '../components/code-editor/helpers/code-editor-helper.model';
|
|
3
|
+
import { LanguageChangeAction } from '../models/language-change-action';
|
|
4
|
+
import { CustomTestCase, ExampleTestCase, TestCaseDeletionData } from '../models/test-cases';
|
|
5
|
+
import { Themes } from '../models/theme';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare const enum ResetCodeAction {
|
|
8
|
+
Try = "try",
|
|
9
|
+
Confirm = "confirm"
|
|
10
|
+
}
|
|
11
|
+
declare global {
|
|
12
|
+
interface Window {
|
|
13
|
+
monaco: any;
|
|
14
|
+
hljs: any;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export declare class LibCodingTestService {
|
|
18
|
+
private readonly configurationsService;
|
|
19
|
+
private codeResetSubj$;
|
|
20
|
+
codeReset$: Observable<ResetCodeAction>;
|
|
21
|
+
private codeChangeSubj$;
|
|
22
|
+
codeChange$: Observable<string>;
|
|
23
|
+
private isFullscreenSubj$;
|
|
24
|
+
isFullscreen$: Observable<boolean>;
|
|
25
|
+
private isBoilerplateLoadingSub$;
|
|
26
|
+
isBoilerplateLoading$: Observable<boolean>;
|
|
27
|
+
themeChanged$: Observable<Themes>;
|
|
28
|
+
private languageChangeSub$;
|
|
29
|
+
languageChange$: Observable<LanguageChangeAction>;
|
|
30
|
+
private testCaseDeletionSub$;
|
|
31
|
+
testCaseDeletion$: Observable<TestCaseDeletionData>;
|
|
32
|
+
private currentLanguageSub$;
|
|
33
|
+
currentLanguage$: Observable<CodeEditorLanguages>;
|
|
34
|
+
private clearSavedCodeSub$;
|
|
35
|
+
clearSavedCode$: Observable<boolean>;
|
|
36
|
+
private clearLastLangSub$;
|
|
37
|
+
clearLastLang$: Observable<boolean>;
|
|
38
|
+
private startGuidedTourSubj$;
|
|
39
|
+
startGuidedTour$: Observable<void>;
|
|
40
|
+
private testCases;
|
|
41
|
+
initCode: string;
|
|
42
|
+
private version;
|
|
43
|
+
configFieldChanged$: Observable<Partial<import("@testgorilla/tgo-coding-test").LibCodingConfig> | {
|
|
44
|
+
'Full screen': boolean;
|
|
45
|
+
}>;
|
|
46
|
+
setFullscreen(isEnabled: boolean): void;
|
|
47
|
+
resetCode(): void;
|
|
48
|
+
startGuidedTour(): void;
|
|
49
|
+
confirmReset(): void;
|
|
50
|
+
changeCurrentCode(code: string): void;
|
|
51
|
+
cancelLanguageChange(): void;
|
|
52
|
+
confirmLanguageChange(): void;
|
|
53
|
+
handleTestCaseDeletion(index: number): void;
|
|
54
|
+
confirmTestCaseDeletion(index: number): void;
|
|
55
|
+
changeCurrentLanguage(value: CodeEditorLanguages): void;
|
|
56
|
+
updateTestCases(testCases: (ExampleTestCase | CustomTestCase)[]): void;
|
|
57
|
+
getTestCases(): (ExampleTestCase | CustomTestCase)[];
|
|
58
|
+
getValidTestCases(): (ExampleTestCase | CustomTestCase)[];
|
|
59
|
+
getTestCasesCount(): number;
|
|
60
|
+
setVersion(version: string): void;
|
|
61
|
+
getVersion(): string;
|
|
62
|
+
setInitCode(code: string): void;
|
|
63
|
+
getInitCode(): string;
|
|
64
|
+
setBoilerplateLoadingStatus(value: boolean): void;
|
|
65
|
+
triggerClearSavedCode(): void;
|
|
66
|
+
clearLastLanguageSelected(): void;
|
|
67
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LibCodingTestService, never>;
|
|
68
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<LibCodingTestService>;
|
|
69
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { LocalStorageService } from 'ngx-webstorage';
|
|
2
|
+
import { CodeEditorLanguages } from '../components/code-editor/helpers/code-editor-helper.model';
|
|
3
|
+
import { Config } from '../models/configs';
|
|
4
|
+
import { Modes } from '../models/mode';
|
|
5
|
+
import { CustomTestCase, ExampleTestCase } from '../models/test-cases';
|
|
6
|
+
import { ConfigurationsService } from './configurations.service';
|
|
7
|
+
import { LibCodingTestService } from './lib-coding-test.service';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export declare class StorageCodingService {
|
|
10
|
+
private storage;
|
|
11
|
+
private libCodingTestService;
|
|
12
|
+
private configurationsService;
|
|
13
|
+
private readonly CURRENT_STORAGE_VERSION;
|
|
14
|
+
private autoSavedData;
|
|
15
|
+
private readonly key;
|
|
16
|
+
private assessmentId;
|
|
17
|
+
private questionId;
|
|
18
|
+
private language;
|
|
19
|
+
private codeSaveEnabled;
|
|
20
|
+
private testCasesSaveEnabled;
|
|
21
|
+
private isLAT;
|
|
22
|
+
private currentMode;
|
|
23
|
+
private isPreview;
|
|
24
|
+
private codeChangeSubscription;
|
|
25
|
+
private configSubscription;
|
|
26
|
+
private isFullscreenSubscription;
|
|
27
|
+
private currentLanguageSubscription;
|
|
28
|
+
private isCodeComponentAlive;
|
|
29
|
+
private readonly MAX_STORAGE_AGE_DAYS;
|
|
30
|
+
private readonly MAX_QUESTION_DATA_AGE_DAYS;
|
|
31
|
+
private readonly MAX_ASSESSMENTS;
|
|
32
|
+
private readonly DEFAULT_MIGRATION_QUESTION_ID;
|
|
33
|
+
constructor(storage: LocalStorageService, libCodingTestService: LibCodingTestService, configurationsService: ConfigurationsService);
|
|
34
|
+
/**
|
|
35
|
+
* Performs a safety check on localStorage data.
|
|
36
|
+
* This is called at service initialization to ensure data integrity.
|
|
37
|
+
*/
|
|
38
|
+
private performStorageSafetyCheck;
|
|
39
|
+
initializeSaving(): void;
|
|
40
|
+
setupAutoSavedData(language: CodeEditorLanguages, assessmentId: string, questionId: string, codeSaveEnabled: boolean, testCasesSaveEnabled: boolean, isLAT: boolean, mode: Modes): void;
|
|
41
|
+
private migrateFromV1ToV2;
|
|
42
|
+
private ensureDataStructure;
|
|
43
|
+
private updateLastModified;
|
|
44
|
+
/**
|
|
45
|
+
* Cleanup with a temporary age threshold
|
|
46
|
+
* @param maxAgeDays Maximum age in days for data to be considered valid
|
|
47
|
+
*/
|
|
48
|
+
private cleanupWithReducedThreshold;
|
|
49
|
+
/**
|
|
50
|
+
* Unified method to clean up localStorage data with configurable intensity
|
|
51
|
+
* @param options Cleanup options to control the aggressiveness of the cleanup
|
|
52
|
+
*/
|
|
53
|
+
private cleanupStorageData;
|
|
54
|
+
changeLanguage(language: CodeEditorLanguages): void;
|
|
55
|
+
/**
|
|
56
|
+
* Gets data from v1 schema format
|
|
57
|
+
* Used for backward compatibility when retrieving data
|
|
58
|
+
*/
|
|
59
|
+
private getDataFromV1Schema;
|
|
60
|
+
getSavedCode(): string | null | undefined;
|
|
61
|
+
getLastLanguageLAT(): {
|
|
62
|
+
value: CodeEditorLanguages;
|
|
63
|
+
version: string;
|
|
64
|
+
} | null;
|
|
65
|
+
getSavedTestCases(): (ExampleTestCase | CustomTestCase)[] | null | undefined;
|
|
66
|
+
getSavedConfig(): Config | null;
|
|
67
|
+
getSavedFullScreenMode(): boolean | null;
|
|
68
|
+
clearSavedCode(): void;
|
|
69
|
+
clearLastLang(): void;
|
|
70
|
+
clearSavedTestCases(): void;
|
|
71
|
+
updateVersion(version: string): void;
|
|
72
|
+
updateTestCases(testCases: (ExampleTestCase | CustomTestCase)[]): void;
|
|
73
|
+
private storeData;
|
|
74
|
+
private retrieveData;
|
|
75
|
+
/**
|
|
76
|
+
* Manually triggers data cleanup and migration.
|
|
77
|
+
* Useful for handling large localStorage or migration when needed.
|
|
78
|
+
* This can be called from application startup or after major events.
|
|
79
|
+
*/
|
|
80
|
+
performMaintenanceAndCleanup(): void;
|
|
81
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StorageCodingService, never>;
|
|
82
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<StorageCodingService>;
|
|
83
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class TestCasesService {
|
|
3
|
+
private lastTestCaseLocalId;
|
|
4
|
+
private activeTestCaseIndexSubj$;
|
|
5
|
+
activeTestCaseIndex$: import("rxjs").Observable<number>;
|
|
6
|
+
setActiveTestCase(index: number | null): void;
|
|
7
|
+
createTestCaseLocalId(): number;
|
|
8
|
+
updateTestCaseLocalId(value: number): void;
|
|
9
|
+
resetLastTestCaseLocalId(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TestCasesService, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TestCasesService>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LibCodingTestService } from './lib-coding-test.service';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ThemeService {
|
|
4
|
+
private libCodingService;
|
|
5
|
+
private defaultCompanyColor;
|
|
6
|
+
private companyColorSubject;
|
|
7
|
+
private themeSubject;
|
|
8
|
+
themeColors$: import("rxjs").Observable<{
|
|
9
|
+
companyColor: string;
|
|
10
|
+
themeSpecificColor: string;
|
|
11
|
+
}>;
|
|
12
|
+
constructor(libCodingService: LibCodingTestService);
|
|
13
|
+
set companyColor(color: string);
|
|
14
|
+
private getAdjustedColorForTheme;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ThemeService, never>;
|
|
16
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ThemeService>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare const erlangLanguage: {
|
|
2
|
+
defaultToken: string;
|
|
3
|
+
keywords: string[];
|
|
4
|
+
typeKeywords: string[];
|
|
5
|
+
operators: string[];
|
|
6
|
+
symbols: RegExp;
|
|
7
|
+
tokenizer: {
|
|
8
|
+
root: ((string | RegExp)[] | (RegExp | {
|
|
9
|
+
cases: {
|
|
10
|
+
'@keywords': string;
|
|
11
|
+
'@default': string;
|
|
12
|
+
};
|
|
13
|
+
})[] | {
|
|
14
|
+
include: string;
|
|
15
|
+
} | (RegExp | {
|
|
16
|
+
cases: {
|
|
17
|
+
'@operators': string;
|
|
18
|
+
'@default': string;
|
|
19
|
+
};
|
|
20
|
+
})[] | (RegExp | {
|
|
21
|
+
token: string;
|
|
22
|
+
bracket: string;
|
|
23
|
+
next: string;
|
|
24
|
+
})[])[];
|
|
25
|
+
string: ((string | RegExp)[] | (RegExp | {
|
|
26
|
+
token: string;
|
|
27
|
+
bracket: string;
|
|
28
|
+
next: string;
|
|
29
|
+
})[])[];
|
|
30
|
+
atom: ((string | RegExp)[] | (RegExp | {
|
|
31
|
+
token: string;
|
|
32
|
+
bracket: string;
|
|
33
|
+
next: string;
|
|
34
|
+
})[])[];
|
|
35
|
+
whitespace: (string | RegExp)[][];
|
|
36
|
+
};
|
|
37
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function timeToMs(time: number, type?: 'days' | 'hours'): number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@testgorilla/tgo-coding-test",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/animations": "^19.2.17",
|
|
6
6
|
"@angular/common": "^19.2.17",
|
|
@@ -24,5 +24,19 @@
|
|
|
24
24
|
"sideEffects": false,
|
|
25
25
|
"license": "PROPRIETARY",
|
|
26
26
|
"displayName": "Coding test",
|
|
27
|
-
"description": "Coding test component"
|
|
28
|
-
|
|
27
|
+
"description": "Coding test component",
|
|
28
|
+
"module": "fesm2022/testgorilla-tgo-coding-test.mjs",
|
|
29
|
+
"typings": "index.d.ts",
|
|
30
|
+
"exports": {
|
|
31
|
+
"./package.json": {
|
|
32
|
+
"default": "./package.json"
|
|
33
|
+
},
|
|
34
|
+
".": {
|
|
35
|
+
"types": "./index.d.ts",
|
|
36
|
+
"default": "./fesm2022/testgorilla-tgo-coding-test.mjs"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"tslib": "^2.3.0"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { OnChanges, OnDestroy, WritableSignal } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class AudioAnimationComponent implements OnChanges, OnDestroy {
|
|
4
|
+
volume: number;
|
|
5
|
+
fakeData: boolean;
|
|
6
|
+
private isAnimationRunning;
|
|
7
|
+
private animationFrameId;
|
|
8
|
+
private lastAnimationUpdate;
|
|
9
|
+
volumeSignal: WritableSignal<number>;
|
|
10
|
+
barHeightsSignal: import("@angular/core").Signal<{
|
|
11
|
+
'first-bar': string;
|
|
12
|
+
'second-bar': string;
|
|
13
|
+
'third-bar': string;
|
|
14
|
+
}>;
|
|
15
|
+
constructor();
|
|
16
|
+
ngOnChanges(): void;
|
|
17
|
+
private normalizeRealVolume;
|
|
18
|
+
private startAnimation;
|
|
19
|
+
private stopAnimation;
|
|
20
|
+
private getBarHeights;
|
|
21
|
+
private getFakeVolumeRange;
|
|
22
|
+
private getRealVolumeRange;
|
|
23
|
+
private getRandomHeight;
|
|
24
|
+
ngOnDestroy(): void;
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AudioAnimationComponent, never>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AudioAnimationComponent, "tgo-audio-animation", never, { "volume": { "alias": "volume"; "required": false; }; "fakeData": { "alias": "fakeData"; "required": false; }; }, {}, never, never, true, never>;
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './audio-animation.component';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './vimeo-video.component';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import Player from '@vimeo/player';
|
|
3
|
+
import type { VimeoEmbedParameters } from '@vimeo/player/types/formats';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
type Options = VimeoEmbedParameters;
|
|
6
|
+
export declare class VimeoVideoComponent implements OnInit, OnDestroy, OnChanges {
|
|
7
|
+
class: string;
|
|
8
|
+
videoUrl: string;
|
|
9
|
+
isPlaying: boolean;
|
|
10
|
+
options: Options;
|
|
11
|
+
videoEnded: EventEmitter<void>;
|
|
12
|
+
videoStarted: EventEmitter<void>;
|
|
13
|
+
vimeoPlayer?: Player;
|
|
14
|
+
private elRef;
|
|
15
|
+
ngOnInit(): Promise<void>;
|
|
16
|
+
ngOnDestroy(): Promise<void>;
|
|
17
|
+
ngOnChanges(simpleChanges: SimpleChanges): Promise<void>;
|
|
18
|
+
private removeVimeoPlayer;
|
|
19
|
+
private configureVimeoPlayer;
|
|
20
|
+
private playVideo;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VimeoVideoComponent, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VimeoVideoComponent, "tgo-vimeo-video", never, { "videoUrl": { "alias": "videoUrl"; "required": false; }; "isPlaying": { "alias": "isPlaying"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "videoEnded": "videoEnded"; "videoStarted": "videoStarted"; }, never, never, true, never>;
|
|
23
|
+
}
|
|
24
|
+
export {};
|