@testgorilla/tgo-coding-test 0.0.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -2
- package/esm2022/index.mjs +12 -0
- package/esm2022/lib/components/code-editor/code-editor.component.mjs +335 -0
- package/esm2022/lib/components/code-editor/code-editor.service.mjs +72 -0
- package/esm2022/lib/components/code-editor/helpers/c-helper.mjs +40 -0
- package/esm2022/lib/components/code-editor/helpers/code-editor-helper.base.mjs +11 -0
- package/esm2022/lib/components/code-editor/helpers/code-editor-helper.model.mjs +2 -0
- package/esm2022/lib/components/code-editor/helpers/cpp-helper.mjs +41 -0
- package/esm2022/lib/components/code-editor/helpers/csharp-helper.mjs +42 -0
- package/esm2022/lib/components/code-editor/helpers/go-helper.mjs +42 -0
- package/esm2022/lib/components/code-editor/helpers/index.mjs +16 -0
- package/esm2022/lib/components/code-editor/helpers/java-helper.mjs +42 -0
- package/esm2022/lib/components/code-editor/helpers/javascript-helper.mjs +26 -0
- package/esm2022/lib/components/code-editor/helpers/kotlin-helper.mjs +42 -0
- package/esm2022/lib/components/code-editor/helpers/php-helper.mjs +26 -0
- package/esm2022/lib/components/code-editor/helpers/python-helper.mjs +26 -0
- package/esm2022/lib/components/code-editor/helpers/r-helper.mjs +26 -0
- package/esm2022/lib/components/code-editor/helpers/ruby-helper.mjs +26 -0
- package/esm2022/lib/components/code-editor/helpers/scala-helper.mjs +41 -0
- package/esm2022/lib/components/code-editor/helpers/sql-helper.mjs +34 -0
- package/esm2022/lib/components/code-editor/helpers/swift-helper.mjs +40 -0
- package/esm2022/lib/components/code-editor/helpers/typescript-helper.mjs +41 -0
- package/esm2022/lib/components/code-editor/models/code-editor.model.mjs +2 -0
- package/esm2022/lib/components/code-editor/models/coding-snapshot.model.mjs +2 -0
- package/esm2022/lib/components/coding-question/coding-question.component.mjs +126 -0
- package/esm2022/lib/components/coding-section/coding-section.component.mjs +188 -0
- package/esm2022/lib/components/common/truncated-text/truncated-text.component.mjs +38 -0
- package/esm2022/lib/components/configurations/configurations.component.mjs +97 -0
- package/esm2022/lib/components/instructions/instructions.component.mjs +139 -0
- package/esm2022/lib/components/panel/panel.component.mjs +34 -0
- package/esm2022/lib/components/runnable-editor/runnable-editor.component.mjs +169 -0
- package/esm2022/lib/components/tests/test-cases/test-cases.component.mjs +198 -0
- package/esm2022/lib/components/tests/test-cases-content/test-cases-content.component.mjs +96 -0
- package/esm2022/lib/components/tests/test-cases-status/test-cases-status.component.mjs +21 -0
- package/esm2022/lib/components/tests/test-results.component.mjs +127 -0
- package/esm2022/lib/components/tgo-coding-test/tgo-coding-test.component.mjs +280 -0
- package/esm2022/lib/components/tgo-coding-test-candidate-view/tgo-coding-test-candidate-view.component.mjs +476 -0
- package/esm2022/lib/config/index.mjs +2 -0
- package/esm2022/lib/config/tgo-coding-test.config.mjs +2 -0
- package/esm2022/lib/config/tgo-coding-test.provider.mjs +34 -0
- package/esm2022/lib/config/tgo-coding-test.token.mjs +14 -0
- package/esm2022/lib/models/auto-saved-data.mjs +2 -0
- package/esm2022/lib/models/code-event.mjs +2 -0
- package/esm2022/lib/models/coderunner-execution-results.mjs +2 -0
- package/esm2022/lib/models/configs.mjs +2 -0
- package/esm2022/lib/models/language-change-action.mjs +2 -0
- package/esm2022/lib/models/lat-languages.mjs +3 -0
- package/esm2022/lib/models/mixpanel-events.mjs +2 -0
- package/esm2022/lib/models/mode.mjs +2 -0
- package/esm2022/lib/models/paste-data.mjs +2 -0
- package/esm2022/lib/models/programming-language.mjs +2 -0
- package/esm2022/lib/models/test-cases.mjs +7 -0
- package/esm2022/lib/models/theme.mjs +2 -0
- package/esm2022/lib/models/translations.mjs +2 -0
- package/esm2022/lib/models/view-mode.mjs +8 -0
- package/esm2022/lib/pipes/memoize-func.pipe.mjs +39 -0
- package/esm2022/lib/services/candidate-coding-test-services/candidature-api.service.mjs +19 -0
- package/esm2022/lib/services/candidate-coding-test-services/coderunner-api.service.mjs +58 -0
- package/esm2022/lib/services/candidate-coding-test-services/coding-test-tour.service.mjs +89 -0
- package/esm2022/lib/services/candidate-coding-test-services/coding-test.service.mjs +490 -0
- package/esm2022/lib/services/candidate-coding-test-services/index.mjs +5 -0
- package/esm2022/lib/services/coding-test-config.service.mjs +51 -0
- package/esm2022/lib/services/configurations.service.mjs +89 -0
- package/esm2022/lib/services/lib-coding-test.service.mjs +106 -0
- package/esm2022/lib/services/storage.service.mjs +624 -0
- package/esm2022/lib/services/test-cases.service.mjs +30 -0
- package/esm2022/lib/services/theme.service.mjs +36 -0
- package/esm2022/lib/utils/additional-languages/erlang.mjs +103 -0
- package/esm2022/lib/utils/resize-element.mjs +13 -0
- package/esm2022/lib/utils/time-to-ms.util.mjs +11 -0
- package/esm2022/shared/index.mjs +5 -0
- package/esm2022/shared/lib/components/audio-animation/audio-animation.component.mjs +114 -0
- package/esm2022/shared/lib/components/audio-animation/index.mjs +2 -0
- package/esm2022/shared/lib/components/index.mjs +3 -0
- package/esm2022/shared/lib/components/vimeo-video/index.mjs +2 -0
- package/esm2022/shared/lib/components/vimeo-video/vimeo-video.component.mjs +101 -0
- package/esm2022/shared/lib/models/answer.mjs +2 -0
- package/esm2022/shared/lib/models/assessment.mjs +2 -0
- package/esm2022/shared/lib/models/environment.mjs +2 -0
- package/esm2022/shared/lib/models/index.mjs +9 -0
- package/esm2022/shared/lib/models/question-component.mjs +2 -0
- package/esm2022/shared/lib/models/question.mjs +2 -0
- package/esm2022/shared/lib/models/test.mjs +2 -0
- package/esm2022/shared/lib/models/translations.mjs +2 -0
- package/esm2022/shared/lib/models/window.mjs +2 -0
- package/esm2022/shared/lib/services/api/api.service.mjs +97 -0
- package/esm2022/shared/lib/services/api/mocked-api.service.mjs +131 -0
- package/esm2022/shared/lib/services/environment/environment.service.mjs +13 -0
- package/esm2022/shared/lib/services/index.mjs +10 -0
- package/esm2022/shared/lib/services/localization/languages.model.mjs +19 -0
- package/esm2022/shared/lib/services/localization/transloco-lazy-module-utils.mjs +27 -0
- package/esm2022/shared/lib/services/localization/transloco-testing.module.mjs +11 -0
- package/esm2022/shared/lib/services/media/media.service.mjs +129 -0
- package/esm2022/shared/lib/services/mixpanel/mixpanel.service.mjs +30 -0
- package/esm2022/shared/lib/services/theme/theme.service.mjs +24 -0
- package/esm2022/shared/test-mocks/assessment-test.mock.mjs +112 -0
- package/esm2022/shared/test-mocks/index.mjs +3 -0
- package/esm2022/shared/test-mocks/tgo-ui.mock.mjs +39 -0
- package/esm2022/testgorilla-tgo-coding-test.mjs +5 -0
- 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 +18 -7
- 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 -45
- package/jest.config.ts +0 -21
- package/ng-package.json +0 -14
- package/project.json +0 -36
- 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 -369
- 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 -76
- package/src/lib/components/coding-question/coding-question.component.spec.ts +0 -85
- package/src/lib/components/coding-question/coding-question.component.ts +0 -102
- 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 -187
- 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 -37
- 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 -98
- package/src/lib/components/instructions/instructions.component.html +0 -41
- package/src/lib/components/instructions/instructions.component.scss +0 -167
- package/src/lib/components/instructions/instructions.component.spec.ts +0 -106
- package/src/lib/components/instructions/instructions.component.ts +0 -138
- 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 -34
- 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 -155
- 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 -205
- 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 -102
- 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 -18
- 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 -98
- 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 -279
- 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 -575
- 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 -1120
- 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 -1
- package/tsconfig.json +0 -16
- package/tsconfig.lib.json +0 -12
- package/tsconfig.lib.prod.json +0 -9
- package/tsconfig.spec.json +0 -13
- /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,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3ItaGVscGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGdvLWNvZGluZy10ZXN0L3NyYy9saWIvY29tcG9uZW50cy9jb2RlLWVkaXRvci9oZWxwZXJzL2NvZGUtZWRpdG9yLWhlbHBlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb2RlRWRpdG9ySGVscGVyIHtcbiAgZ2V0SW5pdENvZGU/KCk6IHN0cmluZztcbiAgZ2V0RWRpdG9yTGFuZygpOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIENvZGVFZGl0b3JMYW5ndWFnZXMge1xuICBKYXZhc2NyaXB0ID0gJ2phdmFzY3JpcHQnLFxuICBUeXBlc2NyaXB0ID0gJ3R5cGVzY3JpcHQnLFxuICBFbGl4aXIgPSAnZWxpeGlyJyxcbiAgUnVzdCA9ICdydXN0JyxcbiAgRGFydCA9ICdkYXJ0JyxcbiAgRXJsYW5nID0gJ2VybGFuZycsXG4gIEp1bGlhID0gJ2p1bGlhJyxcbiAgUGVybCA9ICdwZXJsJyxcbiAgUGhwID0gJ3BocCcsXG4gIFB5dGhvbiA9ICdweXRob24nLFxuICBKYXZhID0gJ2phdmEnLFxuICBLb3RsaW4gPSAna290bGluJyxcbiAgUnVieSA9ICdydWJ5JyxcbiAgQyA9ICdjJyxcbiAgQ3BwID0gJ2MrKycsXG4gIENwcEVkaXRvciA9ICdjcHAnLFxuICBSID0gJ3InLFxuICBTd2lmdCA9ICdzd2lmdCcsXG4gIFNjYWxhID0gJ3NjYWxhJyxcbiAgQ1NoYXJwID0gJ2MjJyxcbiAgQ1NoYXJwRWRpdG9yID0gJ2NzaGFycCcsXG4gIENTaGFycExlZ2FjeSA9ICdjI19sZWdhY3knLFxuICBHbyA9ICdnbycsXG4gIFNxbCA9ICdzcWwnLFxuICBTcWxpdGUgPSAnc3FsaXRlMycsXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIENvZGVFZGl0b3JTcWxPcGVyYXRpb25zIHtcbiAgU2VsZWN0ID0gJ1NFTEVDVCcsXG4gIFVwZGF0ZSA9ICdVUERBVEUnLFxuICBJbnNlcnQgPSAnSU5TRVJUJyxcbiAgRGVsZXRlID0gJ0RFTEVURScsXG4gIENyZWF0ZVRhYmxlID0gJ0NSRUFURSBUQUJMRScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUVkaXRvckZ1bmNPcHRpb25zIHtcbiAgbmFtZT86IHN0cmluZyB8IENvZGVFZGl0b3JTcWxPcGVyYXRpb25zO1xuICBwYXJhbXM/OiBDb2RlRWRpdG9yRnVuY1BhcmFtW107XG4gIHJldHVyblR5cGU/OiBrZXlvZiBDb2RlRWRpdG9yVHlwZXNNYXA7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUVkaXRvckZ1bmNQYXJhbSB7XG4gIGlkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBvcmRlcj86IHN0cmluZztcbiAgdHlwZT86IGtleW9mIENvZGVFZGl0b3JUeXBlc01hcDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RlRWRpdG9yVHlwZXNNYXAge1xuICBib29sZWFuOiBzdHJpbmc7XG4gIGludDogc3RyaW5nO1xuICBudW1iZXI/OiBzdHJpbmc7XG4gIGRvdWJsZTogc3RyaW5nO1xuICBmbG9hdDogc3RyaW5nO1xuICBzdHI6IHN0cmluZztcbiAgYXJyYXlfYm9vbGVhbjogc3RyaW5nO1xuICBhcnJheV9pbnQ6IHN0cmluZztcbiAgYXJyYXlfZmxvYXQ6IHN0cmluZztcbiAgYXJyYXlfZG91YmxlPzogc3RyaW5nO1xuICBhcnJheV9zdHI/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorCppHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "cpp" /* CodeEditorLanguages.CppEditor */;
|
|
5
|
+
typesMap = {
|
|
6
|
+
boolean: 'bool',
|
|
7
|
+
int: 'int',
|
|
8
|
+
number: 'int',
|
|
9
|
+
double: 'double',
|
|
10
|
+
float: 'float',
|
|
11
|
+
str: 'std::string',
|
|
12
|
+
array_boolean: 'std::vector<bool>',
|
|
13
|
+
array_int: 'std::vector<int>',
|
|
14
|
+
array_float: 'std::vector<float>',
|
|
15
|
+
array_double: 'std::vector<double>',
|
|
16
|
+
array_str: 'std::vector<std::string>',
|
|
17
|
+
};
|
|
18
|
+
constructor(functionOptions) {
|
|
19
|
+
super();
|
|
20
|
+
this.functionOptions = functionOptions;
|
|
21
|
+
}
|
|
22
|
+
getInitCode() {
|
|
23
|
+
return `${this.getFunctionOpening()}\t //Insert your code here \n}`;
|
|
24
|
+
}
|
|
25
|
+
getFunctionOpening() {
|
|
26
|
+
const { name: funcName, returnType } = this.functionOptions;
|
|
27
|
+
const params = this.getParamsString();
|
|
28
|
+
const showingReturnType = this.parseType(returnType);
|
|
29
|
+
return `${showingReturnType} ${funcName}(${params}) {\n`;
|
|
30
|
+
}
|
|
31
|
+
getParamsString() {
|
|
32
|
+
const { params } = this.functionOptions;
|
|
33
|
+
let paramsString = '';
|
|
34
|
+
if (params && params.length > 0) {
|
|
35
|
+
params.forEach(values => (paramsString += `${this.parseType(values.type)} ${values.name}, `));
|
|
36
|
+
paramsString = paramsString.slice(0, -2);
|
|
37
|
+
}
|
|
38
|
+
return paramsString;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BwLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL2NvbXBvbmVudHMvY29kZS1lZGl0b3IvaGVscGVycy9jcHAtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUWpFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxvQkFBb0I7SUFnQnZDO0lBZnBCLFFBQVEsNkNBQWlDO0lBQ3pDLFFBQVEsR0FBdUI7UUFDN0IsT0FBTyxFQUFFLE1BQU07UUFDZixHQUFHLEVBQUUsS0FBSztRQUNWLE1BQU0sRUFBRSxLQUFLO1FBQ2IsTUFBTSxFQUFFLFFBQVE7UUFDaEIsS0FBSyxFQUFFLE9BQU87UUFDZCxHQUFHLEVBQUUsYUFBYTtRQUNsQixhQUFhLEVBQUUsbUJBQW1CO1FBQ2xDLFNBQVMsRUFBRSxrQkFBa0I7UUFDN0IsV0FBVyxFQUFFLG9CQUFvQjtRQUNqQyxZQUFZLEVBQUUscUJBQXFCO1FBQ25DLFNBQVMsRUFBRSwwQkFBMEI7S0FDdEMsQ0FBQztJQUVGLFlBQW9CLGVBQXNDO1FBQ3hELEtBQUssRUFBRSxDQUFDO1FBRFUsb0JBQWUsR0FBZixlQUFlLENBQXVCO0lBRTFELENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxnQ0FBZ0MsQ0FBQztJQUN0RSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDNUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVyRCxPQUFPLEdBQUcsaUJBQWlCLElBQUksUUFBUSxJQUFJLE1BQU0sT0FBTyxDQUFDO0lBQzNELENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3hDLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUV0QixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDOUYsWUFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVFZGl0b3JIZWxwZXJCYXNlIH0gZnJvbSAnLi9jb2RlLWVkaXRvci1oZWxwZXIuYmFzZSc7XG5pbXBvcnQge1xuICBDb2RlRWRpdG9yRnVuY09wdGlvbnMsXG4gIENvZGVFZGl0b3JIZWxwZXIsXG4gIENvZGVFZGl0b3JMYW5ndWFnZXMsXG4gIENvZGVFZGl0b3JUeXBlc01hcCxcbn0gZnJvbSAnLi9jb2RlLWVkaXRvci1oZWxwZXIubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvckNwcEhlbHBlciBleHRlbmRzIENvZGVFZGl0b3JIZWxwZXJCYXNlIGltcGxlbWVudHMgQ29kZUVkaXRvckhlbHBlciB7XG4gIGxhbmd1YWdlID0gQ29kZUVkaXRvckxhbmd1YWdlcy5DcHBFZGl0b3I7XG4gIHR5cGVzTWFwOiBDb2RlRWRpdG9yVHlwZXNNYXAgPSB7XG4gICAgYm9vbGVhbjogJ2Jvb2wnLFxuICAgIGludDogJ2ludCcsXG4gICAgbnVtYmVyOiAnaW50JyxcbiAgICBkb3VibGU6ICdkb3VibGUnLFxuICAgIGZsb2F0OiAnZmxvYXQnLFxuICAgIHN0cjogJ3N0ZDo6c3RyaW5nJyxcbiAgICBhcnJheV9ib29sZWFuOiAnc3RkOjp2ZWN0b3I8Ym9vbD4nLFxuICAgIGFycmF5X2ludDogJ3N0ZDo6dmVjdG9yPGludD4nLFxuICAgIGFycmF5X2Zsb2F0OiAnc3RkOjp2ZWN0b3I8ZmxvYXQ+JyxcbiAgICBhcnJheV9kb3VibGU6ICdzdGQ6OnZlY3Rvcjxkb3VibGU+JyxcbiAgICBhcnJheV9zdHI6ICdzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4nLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVuY3Rpb25PcHRpb25zOiBDb2RlRWRpdG9yRnVuY09wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0SW5pdENvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5nZXRGdW5jdGlvbk9wZW5pbmcoKX1cXHQgLy9JbnNlcnQgeW91ciBjb2RlIGhlcmUgXFxufWA7XG4gIH1cblxuICBnZXRGdW5jdGlvbk9wZW5pbmcoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IG5hbWU6IGZ1bmNOYW1lLCByZXR1cm5UeXBlIH0gPSB0aGlzLmZ1bmN0aW9uT3B0aW9ucztcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldFBhcmFtc1N0cmluZygpO1xuICAgIGNvbnN0IHNob3dpbmdSZXR1cm5UeXBlID0gdGhpcy5wYXJzZVR5cGUocmV0dXJuVHlwZSk7XG5cbiAgICByZXR1cm4gYCR7c2hvd2luZ1JldHVyblR5cGV9ICR7ZnVuY05hbWV9KCR7cGFyYW1zfSkge1xcbmA7XG4gIH1cblxuICBwcml2YXRlIGdldFBhcmFtc1N0cmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgcGFyYW1zIH0gPSB0aGlzLmZ1bmN0aW9uT3B0aW9ucztcbiAgICBsZXQgcGFyYW1zU3RyaW5nID0gJyc7XG5cbiAgICBpZiAocGFyYW1zICYmIHBhcmFtcy5sZW5ndGggPiAwKSB7XG4gICAgICBwYXJhbXMuZm9yRWFjaCh2YWx1ZXMgPT4gKHBhcmFtc1N0cmluZyArPSBgJHt0aGlzLnBhcnNlVHlwZSh2YWx1ZXMudHlwZSl9ICR7dmFsdWVzLm5hbWV9LCBgKSk7XG4gICAgICBwYXJhbXNTdHJpbmcgPSBwYXJhbXNTdHJpbmcuc2xpY2UoMCwgLTIpO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXNTdHJpbmc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorCSharpHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "csharp" /* CodeEditorLanguages.CSharpEditor */;
|
|
5
|
+
typesMap = {
|
|
6
|
+
boolean: 'bool',
|
|
7
|
+
int: 'int',
|
|
8
|
+
number: 'int',
|
|
9
|
+
double: 'double',
|
|
10
|
+
float: 'float',
|
|
11
|
+
str: 'string',
|
|
12
|
+
array_boolean: 'bool[]',
|
|
13
|
+
array_int: 'int[]',
|
|
14
|
+
array_float: 'Float[]',
|
|
15
|
+
array_double: 'double[]',
|
|
16
|
+
array_str: 'string[]',
|
|
17
|
+
};
|
|
18
|
+
importText = 'using System;\nusing System.Linq;\nnamespace TestTaker\n{\n\tpublic static class CustomCode\n\t{\n';
|
|
19
|
+
constructor(functionOptions) {
|
|
20
|
+
super();
|
|
21
|
+
this.functionOptions = functionOptions;
|
|
22
|
+
}
|
|
23
|
+
getInitCode() {
|
|
24
|
+
return `${this.importText}${this.getFunctionOpening()}\t\t //Insert your code here \n\t\t}\n\t}\n}`;
|
|
25
|
+
}
|
|
26
|
+
getFunctionOpening() {
|
|
27
|
+
const { name: funcName, returnType } = this.functionOptions;
|
|
28
|
+
const params = this.getParamsString();
|
|
29
|
+
const showingReturnType = this.parseType(returnType);
|
|
30
|
+
return `\t\tpublic static ${showingReturnType} ${funcName}(${params}) {\n`;
|
|
31
|
+
}
|
|
32
|
+
getParamsString() {
|
|
33
|
+
const { params } = this.functionOptions;
|
|
34
|
+
let paramsString = '';
|
|
35
|
+
if (params && params.length > 0) {
|
|
36
|
+
params.forEach(values => (paramsString += `${this.parseType(values.type)} ${values.name}, `));
|
|
37
|
+
paramsString = paramsString.slice(0, -2);
|
|
38
|
+
}
|
|
39
|
+
return paramsString;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NoYXJwLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL2NvbXBvbmVudHMvY29kZS1lZGl0b3IvaGVscGVycy9jc2hhcnAtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUWpFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxvQkFBb0I7SUFtQjFDO0lBbEJwQixRQUFRLG1EQUFvQztJQUM1QyxRQUFRLEdBQXVCO1FBQzdCLE9BQU8sRUFBRSxNQUFNO1FBQ2YsR0FBRyxFQUFFLEtBQUs7UUFDVixNQUFNLEVBQUUsS0FBSztRQUNiLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLEtBQUssRUFBRSxPQUFPO1FBQ2QsR0FBRyxFQUFFLFFBQVE7UUFDYixhQUFhLEVBQUUsUUFBUTtRQUN2QixTQUFTLEVBQUUsT0FBTztRQUNsQixXQUFXLEVBQUUsU0FBUztRQUN0QixZQUFZLEVBQUUsVUFBVTtRQUN4QixTQUFTLEVBQUUsVUFBVTtLQUN0QixDQUFDO0lBRU0sVUFBVSxHQUNoQixvR0FBb0csQ0FBQztJQUV2RyxZQUFvQixlQUFzQztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQURVLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtJQUUxRCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSw4Q0FBOEMsQ0FBQztJQUN0RyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDNUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVyRCxPQUFPLHFCQUFxQixpQkFBaUIsSUFBSSxRQUFRLElBQUksTUFBTSxPQUFPLENBQUM7SUFDN0UsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDeEMsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBRXRCLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM5RixZQUFZLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29kZUVkaXRvckhlbHBlckJhc2UgfSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5iYXNlJztcbmltcG9ydCB7XG4gIENvZGVFZGl0b3JGdW5jT3B0aW9ucyxcbiAgQ29kZUVkaXRvckhlbHBlcixcbiAgQ29kZUVkaXRvckxhbmd1YWdlcyxcbiAgQ29kZUVkaXRvclR5cGVzTWFwLFxufSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBDb2RlRWRpdG9yQ1NoYXJwSGVscGVyIGV4dGVuZHMgQ29kZUVkaXRvckhlbHBlckJhc2UgaW1wbGVtZW50cyBDb2RlRWRpdG9ySGVscGVyIHtcbiAgbGFuZ3VhZ2UgPSBDb2RlRWRpdG9yTGFuZ3VhZ2VzLkNTaGFycEVkaXRvcjtcbiAgdHlwZXNNYXA6IENvZGVFZGl0b3JUeXBlc01hcCA9IHtcbiAgICBib29sZWFuOiAnYm9vbCcsXG4gICAgaW50OiAnaW50JyxcbiAgICBudW1iZXI6ICdpbnQnLFxuICAgIGRvdWJsZTogJ2RvdWJsZScsXG4gICAgZmxvYXQ6ICdmbG9hdCcsXG4gICAgc3RyOiAnc3RyaW5nJyxcbiAgICBhcnJheV9ib29sZWFuOiAnYm9vbFtdJyxcbiAgICBhcnJheV9pbnQ6ICdpbnRbXScsXG4gICAgYXJyYXlfZmxvYXQ6ICdGbG9hdFtdJyxcbiAgICBhcnJheV9kb3VibGU6ICdkb3VibGVbXScsXG4gICAgYXJyYXlfc3RyOiAnc3RyaW5nW10nLFxuICB9O1xuXG4gIHByaXZhdGUgaW1wb3J0VGV4dCA9XG4gICAgJ3VzaW5nIFN5c3RlbTtcXG51c2luZyBTeXN0ZW0uTGlucTtcXG5uYW1lc3BhY2UgVGVzdFRha2VyXFxue1xcblxcdHB1YmxpYyBzdGF0aWMgY2xhc3MgQ3VzdG9tQ29kZVxcblxcdHtcXG4nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVuY3Rpb25PcHRpb25zOiBDb2RlRWRpdG9yRnVuY09wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0SW5pdENvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5pbXBvcnRUZXh0fSR7dGhpcy5nZXRGdW5jdGlvbk9wZW5pbmcoKX1cXHRcXHQgLy9JbnNlcnQgeW91ciBjb2RlIGhlcmUgXFxuXFx0XFx0fVxcblxcdH1cXG59YDtcbiAgfVxuXG4gIGdldEZ1bmN0aW9uT3BlbmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbmFtZTogZnVuY05hbWUsIHJldHVyblR5cGUgfSA9IHRoaXMuZnVuY3Rpb25PcHRpb25zO1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0UGFyYW1zU3RyaW5nKCk7XG4gICAgY29uc3Qgc2hvd2luZ1JldHVyblR5cGUgPSB0aGlzLnBhcnNlVHlwZShyZXR1cm5UeXBlKTtcblxuICAgIHJldHVybiBgXFx0XFx0cHVibGljIHN0YXRpYyAke3Nob3dpbmdSZXR1cm5UeXBlfSAke2Z1bmNOYW1lfSgke3BhcmFtc30pIHtcXG5gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJhbXNTdHJpbmcoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IHBhcmFtcyB9ID0gdGhpcy5mdW5jdGlvbk9wdGlvbnM7XG4gICAgbGV0IHBhcmFtc1N0cmluZyA9ICcnO1xuXG4gICAgaWYgKHBhcmFtcyAmJiBwYXJhbXMubGVuZ3RoID4gMCkge1xuICAgICAgcGFyYW1zLmZvckVhY2godmFsdWVzID0+IChwYXJhbXNTdHJpbmcgKz0gYCR7dGhpcy5wYXJzZVR5cGUodmFsdWVzLnR5cGUpfSAke3ZhbHVlcy5uYW1lfSwgYCkpO1xuICAgICAgcGFyYW1zU3RyaW5nID0gcGFyYW1zU3RyaW5nLnNsaWNlKDAsIC0yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyYW1zU3RyaW5nO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorGoHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "go" /* CodeEditorLanguages.Go */;
|
|
5
|
+
typesMap = {
|
|
6
|
+
boolean: 'bool',
|
|
7
|
+
int: 'int',
|
|
8
|
+
number: 'int',
|
|
9
|
+
double: 'double',
|
|
10
|
+
float: 'float64',
|
|
11
|
+
str: 'string',
|
|
12
|
+
array_boolean: '[]bool',
|
|
13
|
+
array_int: '[]int',
|
|
14
|
+
array_float: '[]float64',
|
|
15
|
+
array_str: '[]string',
|
|
16
|
+
};
|
|
17
|
+
importPackagesText = 'package testtaker\nimport ()\n';
|
|
18
|
+
constructor(functionOptions) {
|
|
19
|
+
super();
|
|
20
|
+
this.functionOptions = functionOptions;
|
|
21
|
+
}
|
|
22
|
+
getInitCode() {
|
|
23
|
+
return `${this.importPackagesText}${this.getFunctionOpening()}\t //Insert your code here \n}`;
|
|
24
|
+
}
|
|
25
|
+
getFunctionOpening() {
|
|
26
|
+
const { name: funcName, returnType } = this.functionOptions;
|
|
27
|
+
const params = this.getParamsString();
|
|
28
|
+
const showingReturnType = this.parseType(returnType);
|
|
29
|
+
const uppercasedFuncName = `${funcName.charAt(0).toUpperCase()}${funcName.slice(1)}`;
|
|
30
|
+
return `func ${uppercasedFuncName}(${params}) ${showingReturnType} {\n`;
|
|
31
|
+
}
|
|
32
|
+
getParamsString() {
|
|
33
|
+
const { params } = this.functionOptions;
|
|
34
|
+
let paramsString = '';
|
|
35
|
+
if (params && params.length > 0) {
|
|
36
|
+
params.forEach(values => (paramsString += `${values.name} ${this.parseType(values.type)}, `));
|
|
37
|
+
paramsString = paramsString.slice(0, -2);
|
|
38
|
+
}
|
|
39
|
+
return paramsString;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ28taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGdvLWNvZGluZy10ZXN0L3NyYy9saWIvY29tcG9uZW50cy9jb2RlLWVkaXRvci9oZWxwZXJzL2dvLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVFqRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsb0JBQW9CO0lBaUJ0QztJQWhCcEIsUUFBUSxxQ0FBMEI7SUFDbEMsUUFBUSxHQUF1QjtRQUM3QixPQUFPLEVBQUUsTUFBTTtRQUNmLEdBQUcsRUFBRSxLQUFLO1FBQ1YsTUFBTSxFQUFFLEtBQUs7UUFDYixNQUFNLEVBQUUsUUFBUTtRQUNoQixLQUFLLEVBQUUsU0FBUztRQUNoQixHQUFHLEVBQUUsUUFBUTtRQUNiLGFBQWEsRUFBRSxRQUFRO1FBQ3ZCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLFNBQVMsRUFBRSxVQUFVO0tBQ3RCLENBQUM7SUFFTSxrQkFBa0IsR0FBRyxnQ0FBZ0MsQ0FBQztJQUU5RCxZQUFvQixlQUFzQztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQURVLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtJQUUxRCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLGdDQUFnQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM1RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVyRixPQUFPLFFBQVEsa0JBQWtCLElBQUksTUFBTSxLQUFLLGlCQUFpQixNQUFNLENBQUM7SUFDMUUsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDeEMsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBRXRCLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM5RixZQUFZLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29kZUVkaXRvckhlbHBlckJhc2UgfSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5iYXNlJztcbmltcG9ydCB7XG4gIENvZGVFZGl0b3JGdW5jT3B0aW9ucyxcbiAgQ29kZUVkaXRvckhlbHBlcixcbiAgQ29kZUVkaXRvckxhbmd1YWdlcyxcbiAgQ29kZUVkaXRvclR5cGVzTWFwLFxufSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBDb2RlRWRpdG9yR29IZWxwZXIgZXh0ZW5kcyBDb2RlRWRpdG9ySGVscGVyQmFzZSBpbXBsZW1lbnRzIENvZGVFZGl0b3JIZWxwZXIge1xuICBsYW5ndWFnZSA9IENvZGVFZGl0b3JMYW5ndWFnZXMuR287XG4gIHR5cGVzTWFwOiBDb2RlRWRpdG9yVHlwZXNNYXAgPSB7XG4gICAgYm9vbGVhbjogJ2Jvb2wnLFxuICAgIGludDogJ2ludCcsXG4gICAgbnVtYmVyOiAnaW50JyxcbiAgICBkb3VibGU6ICdkb3VibGUnLFxuICAgIGZsb2F0OiAnZmxvYXQ2NCcsXG4gICAgc3RyOiAnc3RyaW5nJyxcbiAgICBhcnJheV9ib29sZWFuOiAnW11ib29sJyxcbiAgICBhcnJheV9pbnQ6ICdbXWludCcsXG4gICAgYXJyYXlfZmxvYXQ6ICdbXWZsb2F0NjQnLFxuICAgIGFycmF5X3N0cjogJ1tdc3RyaW5nJyxcbiAgfTtcblxuICBwcml2YXRlIGltcG9ydFBhY2thZ2VzVGV4dCA9ICdwYWNrYWdlIHRlc3R0YWtlclxcbmltcG9ydCAoKVxcbic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmdW5jdGlvbk9wdGlvbnM6IENvZGVFZGl0b3JGdW5jT3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXRJbml0Q29kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmltcG9ydFBhY2thZ2VzVGV4dH0ke3RoaXMuZ2V0RnVuY3Rpb25PcGVuaW5nKCl9XFx0IC8vSW5zZXJ0IHlvdXIgY29kZSBoZXJlIFxcbn1gO1xuICB9XG5cbiAgZ2V0RnVuY3Rpb25PcGVuaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBuYW1lOiBmdW5jTmFtZSwgcmV0dXJuVHlwZSB9ID0gdGhpcy5mdW5jdGlvbk9wdGlvbnM7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5nZXRQYXJhbXNTdHJpbmcoKTtcbiAgICBjb25zdCBzaG93aW5nUmV0dXJuVHlwZSA9IHRoaXMucGFyc2VUeXBlKHJldHVyblR5cGUpO1xuICAgIGNvbnN0IHVwcGVyY2FzZWRGdW5jTmFtZSA9IGAke2Z1bmNOYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfSR7ZnVuY05hbWUuc2xpY2UoMSl9YDtcblxuICAgIHJldHVybiBgZnVuYyAke3VwcGVyY2FzZWRGdW5jTmFtZX0oJHtwYXJhbXN9KSAke3Nob3dpbmdSZXR1cm5UeXBlfSB7XFxuYDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFyYW1zU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBwYXJhbXMgfSA9IHRoaXMuZnVuY3Rpb25PcHRpb25zO1xuICAgIGxldCBwYXJhbXNTdHJpbmcgPSAnJztcblxuICAgIGlmIChwYXJhbXMgJiYgcGFyYW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHBhcmFtcy5mb3JFYWNoKHZhbHVlcyA9PiAocGFyYW1zU3RyaW5nICs9IGAke3ZhbHVlcy5uYW1lfSAke3RoaXMucGFyc2VUeXBlKHZhbHVlcy50eXBlKX0sIGApKTtcbiAgICAgIHBhcmFtc1N0cmluZyA9IHBhcmFtc1N0cmluZy5zbGljZSgwLCAtMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtc1N0cmluZztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { CodeEditorCHelper } from './c-helper';
|
|
2
|
+
export { CodeEditorCppHelper } from './cpp-helper';
|
|
3
|
+
export { CodeEditorCSharpHelper } from './csharp-helper';
|
|
4
|
+
export { CodeEditorGoHelper } from './go-helper';
|
|
5
|
+
export { CodeEditorJavaHelper } from './java-helper';
|
|
6
|
+
export { CodeEditorJavascriptHelper } from './javascript-helper';
|
|
7
|
+
export { CodeEditorKotlinHelper } from './kotlin-helper';
|
|
8
|
+
export { CodeEditorPhpHelper } from './php-helper';
|
|
9
|
+
export { CodeEditorPythonHelper } from './python-helper';
|
|
10
|
+
export { CodeEditorRHelper } from './r-helper';
|
|
11
|
+
export { CodeEditorRubyHelper } from './ruby-helper';
|
|
12
|
+
export { CodeEditorScalaHelper } from './scala-helper';
|
|
13
|
+
export { CodeEditorSqlHelper } from './sql-helper';
|
|
14
|
+
export { CodeEditorSwiftHelper } from './swift-helper';
|
|
15
|
+
export { CodeEditorTypescriptHelper } from './typescript-helper';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90Z28tY29kaW5nLXRlc3Qvc3JjL2xpYi9jb21wb25lbnRzL2NvZGUtZWRpdG9yL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENvZGVFZGl0b3JDSGVscGVyIH0gZnJvbSAnLi9jLWhlbHBlcic7XG5leHBvcnQgeyBDb2RlRWRpdG9yQ3BwSGVscGVyIH0gZnJvbSAnLi9jcHAtaGVscGVyJztcbmV4cG9ydCB7IENvZGVFZGl0b3JDU2hhcnBIZWxwZXIgfSBmcm9tICcuL2NzaGFycC1oZWxwZXInO1xuZXhwb3J0IHsgQ29kZUVkaXRvckdvSGVscGVyIH0gZnJvbSAnLi9nby1oZWxwZXInO1xuZXhwb3J0IHsgQ29kZUVkaXRvckphdmFIZWxwZXIgfSBmcm9tICcuL2phdmEtaGVscGVyJztcbmV4cG9ydCB7IENvZGVFZGl0b3JKYXZhc2NyaXB0SGVscGVyIH0gZnJvbSAnLi9qYXZhc2NyaXB0LWhlbHBlcic7XG5leHBvcnQgeyBDb2RlRWRpdG9yS290bGluSGVscGVyIH0gZnJvbSAnLi9rb3RsaW4taGVscGVyJztcbmV4cG9ydCB7IENvZGVFZGl0b3JQaHBIZWxwZXIgfSBmcm9tICcuL3BocC1oZWxwZXInO1xuZXhwb3J0IHsgQ29kZUVkaXRvclB5dGhvbkhlbHBlciB9IGZyb20gJy4vcHl0aG9uLWhlbHBlcic7XG5leHBvcnQgeyBDb2RlRWRpdG9yUkhlbHBlciB9IGZyb20gJy4vci1oZWxwZXInO1xuZXhwb3J0IHsgQ29kZUVkaXRvclJ1YnlIZWxwZXIgfSBmcm9tICcuL3J1YnktaGVscGVyJztcbmV4cG9ydCB7IENvZGVFZGl0b3JTY2FsYUhlbHBlciB9IGZyb20gJy4vc2NhbGEtaGVscGVyJztcbmV4cG9ydCB7IENvZGVFZGl0b3JTcWxIZWxwZXIgfSBmcm9tICcuL3NxbC1oZWxwZXInO1xuZXhwb3J0IHsgQ29kZUVkaXRvclN3aWZ0SGVscGVyIH0gZnJvbSAnLi9zd2lmdC1oZWxwZXInO1xuZXhwb3J0IHsgQ29kZUVkaXRvclR5cGVzY3JpcHRIZWxwZXIgfSBmcm9tICcuL3R5cGVzY3JpcHQtaGVscGVyJztcbiJdfQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorJavaHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "java" /* CodeEditorLanguages.Java */;
|
|
5
|
+
typesMap = {
|
|
6
|
+
boolean: 'Boolean',
|
|
7
|
+
int: 'Integer',
|
|
8
|
+
number: 'Integer',
|
|
9
|
+
double: 'Double',
|
|
10
|
+
float: 'Float',
|
|
11
|
+
str: 'String',
|
|
12
|
+
array_boolean: 'Boolean[]',
|
|
13
|
+
array_int: 'Integer[]',
|
|
14
|
+
array_float: 'Float[]',
|
|
15
|
+
array_double: 'Double[]',
|
|
16
|
+
array_str: 'String[]',
|
|
17
|
+
};
|
|
18
|
+
classOpening = 'public class TestTaker {\n';
|
|
19
|
+
constructor(functionOptions) {
|
|
20
|
+
super();
|
|
21
|
+
this.functionOptions = functionOptions;
|
|
22
|
+
}
|
|
23
|
+
getInitCode() {
|
|
24
|
+
return `${this.classOpening}${this.getFunctionOpening()}\t\t //Insert your code here \n\t}\n`;
|
|
25
|
+
}
|
|
26
|
+
getFunctionOpening() {
|
|
27
|
+
const { name: funcName, returnType } = this.functionOptions;
|
|
28
|
+
const params = this.getParamsString();
|
|
29
|
+
const showingReturnType = this.parseType(returnType);
|
|
30
|
+
return `\tpublic static ${showingReturnType} ${funcName}(${params}) {\n`;
|
|
31
|
+
}
|
|
32
|
+
getParamsString() {
|
|
33
|
+
const { params } = this.functionOptions;
|
|
34
|
+
let paramsString = '';
|
|
35
|
+
if (params && params.length > 0) {
|
|
36
|
+
params.forEach(values => (paramsString += `${this.parseType(values.type)} ${values.name}, `));
|
|
37
|
+
paramsString = paramsString.slice(0, -2);
|
|
38
|
+
}
|
|
39
|
+
return paramsString;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90Z28tY29kaW5nLXRlc3Qvc3JjL2xpYi9jb21wb25lbnRzL2NvZGUtZWRpdG9yL2hlbHBlcnMvamF2YS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFRakUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG9CQUFvQjtJQWtCeEM7SUFqQnBCLFFBQVEseUNBQTRCO0lBQ3BDLFFBQVEsR0FBdUI7UUFDN0IsT0FBTyxFQUFFLFNBQVM7UUFDbEIsR0FBRyxFQUFFLFNBQVM7UUFDZCxNQUFNLEVBQUUsU0FBUztRQUNqQixNQUFNLEVBQUUsUUFBUTtRQUNoQixLQUFLLEVBQUUsT0FBTztRQUNkLEdBQUcsRUFBRSxRQUFRO1FBQ2IsYUFBYSxFQUFFLFdBQVc7UUFDMUIsU0FBUyxFQUFFLFdBQVc7UUFDdEIsV0FBVyxFQUFFLFNBQVM7UUFDdEIsWUFBWSxFQUFFLFVBQVU7UUFDeEIsU0FBUyxFQUFFLFVBQVU7S0FDdEIsQ0FBQztJQUVNLFlBQVksR0FBRyw0QkFBNEIsQ0FBQztJQUVwRCxZQUFvQixlQUFzQztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQURVLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtJQUUxRCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxzQ0FBc0MsQ0FBQztJQUNoRyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDNUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVyRCxPQUFPLG1CQUFtQixpQkFBaUIsSUFBSSxRQUFRLElBQUksTUFBTSxPQUFPLENBQUM7SUFDM0UsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDeEMsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBRXRCLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM5RixZQUFZLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29kZUVkaXRvckhlbHBlckJhc2UgfSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5iYXNlJztcbmltcG9ydCB7XG4gIENvZGVFZGl0b3JGdW5jT3B0aW9ucyxcbiAgQ29kZUVkaXRvckhlbHBlcixcbiAgQ29kZUVkaXRvckxhbmd1YWdlcyxcbiAgQ29kZUVkaXRvclR5cGVzTWFwLFxufSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBDb2RlRWRpdG9ySmF2YUhlbHBlciBleHRlbmRzIENvZGVFZGl0b3JIZWxwZXJCYXNlIGltcGxlbWVudHMgQ29kZUVkaXRvckhlbHBlciB7XG4gIGxhbmd1YWdlID0gQ29kZUVkaXRvckxhbmd1YWdlcy5KYXZhO1xuICB0eXBlc01hcDogQ29kZUVkaXRvclR5cGVzTWFwID0ge1xuICAgIGJvb2xlYW46ICdCb29sZWFuJyxcbiAgICBpbnQ6ICdJbnRlZ2VyJyxcbiAgICBudW1iZXI6ICdJbnRlZ2VyJyxcbiAgICBkb3VibGU6ICdEb3VibGUnLFxuICAgIGZsb2F0OiAnRmxvYXQnLFxuICAgIHN0cjogJ1N0cmluZycsXG4gICAgYXJyYXlfYm9vbGVhbjogJ0Jvb2xlYW5bXScsXG4gICAgYXJyYXlfaW50OiAnSW50ZWdlcltdJyxcbiAgICBhcnJheV9mbG9hdDogJ0Zsb2F0W10nLFxuICAgIGFycmF5X2RvdWJsZTogJ0RvdWJsZVtdJyxcbiAgICBhcnJheV9zdHI6ICdTdHJpbmdbXScsXG4gIH07XG5cbiAgcHJpdmF0ZSBjbGFzc09wZW5pbmcgPSAncHVibGljIGNsYXNzIFRlc3RUYWtlciB7XFxuJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZ1bmN0aW9uT3B0aW9uczogQ29kZUVkaXRvckZ1bmNPcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldEluaXRDb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuY2xhc3NPcGVuaW5nfSR7dGhpcy5nZXRGdW5jdGlvbk9wZW5pbmcoKX1cXHRcXHQgLy9JbnNlcnQgeW91ciBjb2RlIGhlcmUgXFxuXFx0fVxcbmA7XG4gIH1cblxuICBnZXRGdW5jdGlvbk9wZW5pbmcoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IG5hbWU6IGZ1bmNOYW1lLCByZXR1cm5UeXBlIH0gPSB0aGlzLmZ1bmN0aW9uT3B0aW9ucztcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldFBhcmFtc1N0cmluZygpO1xuICAgIGNvbnN0IHNob3dpbmdSZXR1cm5UeXBlID0gdGhpcy5wYXJzZVR5cGUocmV0dXJuVHlwZSk7XG5cbiAgICByZXR1cm4gYFxcdHB1YmxpYyBzdGF0aWMgJHtzaG93aW5nUmV0dXJuVHlwZX0gJHtmdW5jTmFtZX0oJHtwYXJhbXN9KSB7XFxuYDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFyYW1zU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBwYXJhbXMgfSA9IHRoaXMuZnVuY3Rpb25PcHRpb25zO1xuICAgIGxldCBwYXJhbXNTdHJpbmcgPSAnJztcblxuICAgIGlmIChwYXJhbXMgJiYgcGFyYW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHBhcmFtcy5mb3JFYWNoKHZhbHVlcyA9PiAocGFyYW1zU3RyaW5nICs9IGAke3RoaXMucGFyc2VUeXBlKHZhbHVlcy50eXBlKX0gJHt2YWx1ZXMubmFtZX0sIGApKTtcbiAgICAgIHBhcmFtc1N0cmluZyA9IHBhcmFtc1N0cmluZy5zbGljZSgwLCAtMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtc1N0cmluZztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorJavascriptHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "javascript" /* CodeEditorLanguages.Javascript */;
|
|
5
|
+
constructor(functionOptions) {
|
|
6
|
+
super();
|
|
7
|
+
this.functionOptions = functionOptions;
|
|
8
|
+
}
|
|
9
|
+
getInitCode() {
|
|
10
|
+
return `${this.getFunctionOpening()}\t //Insert your code here \n}`;
|
|
11
|
+
}
|
|
12
|
+
getFunctionOpening() {
|
|
13
|
+
const { name: funcName } = this.functionOptions;
|
|
14
|
+
return `export function ${funcName}(${this.getParamsString()}) {\n`;
|
|
15
|
+
}
|
|
16
|
+
getParamsString() {
|
|
17
|
+
const { params } = this.functionOptions;
|
|
18
|
+
let paramsString = '';
|
|
19
|
+
if (params && params.length > 0) {
|
|
20
|
+
params.forEach(values => (paramsString += `${values.name}, `));
|
|
21
|
+
paramsString = paramsString.slice(0, -2);
|
|
22
|
+
}
|
|
23
|
+
return paramsString;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90Z28tY29kaW5nLXRlc3Qvc3JjL2xpYi9jb21wb25lbnRzL2NvZGUtZWRpdG9yL2hlbHBlcnMvamF2YXNjcmlwdC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHakUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG9CQUFvQjtJQUc5QztJQUZwQixRQUFRLHFEQUFrQztJQUUxQyxZQUFvQixlQUFzQztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQURVLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtJQUUxRCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsZ0NBQWdDLENBQUM7SUFDdEUsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFFaEQsT0FBTyxtQkFBbUIsUUFBUSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDO0lBQ3RFLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3hDLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUV0QixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDL0QsWUFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVFZGl0b3JIZWxwZXJCYXNlIH0gZnJvbSAnLi9jb2RlLWVkaXRvci1oZWxwZXIuYmFzZSc7XG5pbXBvcnQgeyBDb2RlRWRpdG9yRnVuY09wdGlvbnMsIENvZGVFZGl0b3JIZWxwZXIsIENvZGVFZGl0b3JMYW5ndWFnZXMgfSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBDb2RlRWRpdG9ySmF2YXNjcmlwdEhlbHBlciBleHRlbmRzIENvZGVFZGl0b3JIZWxwZXJCYXNlIGltcGxlbWVudHMgQ29kZUVkaXRvckhlbHBlciB7XG4gIGxhbmd1YWdlID0gQ29kZUVkaXRvckxhbmd1YWdlcy5KYXZhc2NyaXB0O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVuY3Rpb25PcHRpb25zOiBDb2RlRWRpdG9yRnVuY09wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0SW5pdENvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5nZXRGdW5jdGlvbk9wZW5pbmcoKX1cXHQgLy9JbnNlcnQgeW91ciBjb2RlIGhlcmUgXFxufWA7XG4gIH1cblxuICBnZXRGdW5jdGlvbk9wZW5pbmcoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IG5hbWU6IGZ1bmNOYW1lIH0gPSB0aGlzLmZ1bmN0aW9uT3B0aW9ucztcblxuICAgIHJldHVybiBgZXhwb3J0IGZ1bmN0aW9uICR7ZnVuY05hbWV9KCR7dGhpcy5nZXRQYXJhbXNTdHJpbmcoKX0pIHtcXG5gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJhbXNTdHJpbmcoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IHBhcmFtcyB9ID0gdGhpcy5mdW5jdGlvbk9wdGlvbnM7XG4gICAgbGV0IHBhcmFtc1N0cmluZyA9ICcnO1xuXG4gICAgaWYgKHBhcmFtcyAmJiBwYXJhbXMubGVuZ3RoID4gMCkge1xuICAgICAgcGFyYW1zLmZvckVhY2godmFsdWVzID0+IChwYXJhbXNTdHJpbmcgKz0gYCR7dmFsdWVzLm5hbWV9LCBgKSk7XG4gICAgICBwYXJhbXNTdHJpbmcgPSBwYXJhbXNTdHJpbmcuc2xpY2UoMCwgLTIpO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXNTdHJpbmc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorKotlinHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "kotlin" /* CodeEditorLanguages.Kotlin */;
|
|
5
|
+
typesMap = {
|
|
6
|
+
boolean: 'Boolean',
|
|
7
|
+
int: 'Int',
|
|
8
|
+
number: 'int',
|
|
9
|
+
double: 'Double',
|
|
10
|
+
float: 'Float',
|
|
11
|
+
str: 'String',
|
|
12
|
+
array_boolean: 'Array<Boolean>',
|
|
13
|
+
array_int: 'Array<Int>',
|
|
14
|
+
array_float: 'Array<Float>',
|
|
15
|
+
array_double: 'Array<Double>',
|
|
16
|
+
array_str: 'Array<String>',
|
|
17
|
+
};
|
|
18
|
+
packagesText = 'package com.testgorilla.testtaker\n';
|
|
19
|
+
constructor(functionOptions) {
|
|
20
|
+
super();
|
|
21
|
+
this.functionOptions = functionOptions;
|
|
22
|
+
}
|
|
23
|
+
getInitCode() {
|
|
24
|
+
return `${this.packagesText}${this.getFunctionOpening()}\t //Insert your code here \n}`;
|
|
25
|
+
}
|
|
26
|
+
getFunctionOpening() {
|
|
27
|
+
const { name: funcName, returnType } = this.functionOptions;
|
|
28
|
+
const params = this.getParamsString();
|
|
29
|
+
const showingReturnType = this.parseType(returnType);
|
|
30
|
+
return `fun ${funcName}(${params}): ${showingReturnType} {\n`;
|
|
31
|
+
}
|
|
32
|
+
getParamsString() {
|
|
33
|
+
const { params } = this.functionOptions;
|
|
34
|
+
let paramsString = '';
|
|
35
|
+
if (params && params.length > 0) {
|
|
36
|
+
params.forEach(values => (paramsString += `${values.name}: ${this.parseType(values.type)}, `));
|
|
37
|
+
paramsString = paramsString.slice(0, -2);
|
|
38
|
+
}
|
|
39
|
+
return paramsString;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia290bGluLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL2NvbXBvbmVudHMvY29kZS1lZGl0b3IvaGVscGVycy9rb3RsaW4taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUWpFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxvQkFBb0I7SUFrQjFDO0lBakJwQixRQUFRLDZDQUE4QjtJQUN0QyxRQUFRLEdBQXVCO1FBQzdCLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLEdBQUcsRUFBRSxLQUFLO1FBQ1YsTUFBTSxFQUFFLEtBQUs7UUFDYixNQUFNLEVBQUUsUUFBUTtRQUNoQixLQUFLLEVBQUUsT0FBTztRQUNkLEdBQUcsRUFBRSxRQUFRO1FBQ2IsYUFBYSxFQUFFLGdCQUFnQjtRQUMvQixTQUFTLEVBQUUsWUFBWTtRQUN2QixXQUFXLEVBQUUsY0FBYztRQUMzQixZQUFZLEVBQUUsZUFBZTtRQUM3QixTQUFTLEVBQUUsZUFBZTtLQUMzQixDQUFDO0lBRU0sWUFBWSxHQUFHLHFDQUFxQyxDQUFDO0lBRTdELFlBQW9CLGVBQXNDO1FBQ3hELEtBQUssRUFBRSxDQUFDO1FBRFUsb0JBQWUsR0FBZixlQUFlLENBQXVCO0lBRTFELENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLGdDQUFnQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM1RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXJELE9BQU8sT0FBTyxRQUFRLElBQUksTUFBTSxNQUFNLGlCQUFpQixNQUFNLENBQUM7SUFDaEUsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDeEMsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBRXRCLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMvRixZQUFZLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29kZUVkaXRvckhlbHBlckJhc2UgfSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5iYXNlJztcbmltcG9ydCB7XG4gIENvZGVFZGl0b3JGdW5jT3B0aW9ucyxcbiAgQ29kZUVkaXRvckhlbHBlcixcbiAgQ29kZUVkaXRvckxhbmd1YWdlcyxcbiAgQ29kZUVkaXRvclR5cGVzTWFwLFxufSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBDb2RlRWRpdG9yS290bGluSGVscGVyIGV4dGVuZHMgQ29kZUVkaXRvckhlbHBlckJhc2UgaW1wbGVtZW50cyBDb2RlRWRpdG9ySGVscGVyIHtcbiAgbGFuZ3VhZ2UgPSBDb2RlRWRpdG9yTGFuZ3VhZ2VzLktvdGxpbjtcbiAgdHlwZXNNYXA6IENvZGVFZGl0b3JUeXBlc01hcCA9IHtcbiAgICBib29sZWFuOiAnQm9vbGVhbicsXG4gICAgaW50OiAnSW50JyxcbiAgICBudW1iZXI6ICdpbnQnLFxuICAgIGRvdWJsZTogJ0RvdWJsZScsXG4gICAgZmxvYXQ6ICdGbG9hdCcsXG4gICAgc3RyOiAnU3RyaW5nJyxcbiAgICBhcnJheV9ib29sZWFuOiAnQXJyYXk8Qm9vbGVhbj4nLFxuICAgIGFycmF5X2ludDogJ0FycmF5PEludD4nLFxuICAgIGFycmF5X2Zsb2F0OiAnQXJyYXk8RmxvYXQ+JyxcbiAgICBhcnJheV9kb3VibGU6ICdBcnJheTxEb3VibGU+JyxcbiAgICBhcnJheV9zdHI6ICdBcnJheTxTdHJpbmc+JyxcbiAgfTtcblxuICBwcml2YXRlIHBhY2thZ2VzVGV4dCA9ICdwYWNrYWdlIGNvbS50ZXN0Z29yaWxsYS50ZXN0dGFrZXJcXG4nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVuY3Rpb25PcHRpb25zOiBDb2RlRWRpdG9yRnVuY09wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0SW5pdENvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5wYWNrYWdlc1RleHR9JHt0aGlzLmdldEZ1bmN0aW9uT3BlbmluZygpfVxcdCAvL0luc2VydCB5b3VyIGNvZGUgaGVyZSBcXG59YDtcbiAgfVxuXG4gIGdldEZ1bmN0aW9uT3BlbmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbmFtZTogZnVuY05hbWUsIHJldHVyblR5cGUgfSA9IHRoaXMuZnVuY3Rpb25PcHRpb25zO1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0UGFyYW1zU3RyaW5nKCk7XG4gICAgY29uc3Qgc2hvd2luZ1JldHVyblR5cGUgPSB0aGlzLnBhcnNlVHlwZShyZXR1cm5UeXBlKTtcblxuICAgIHJldHVybiBgZnVuICR7ZnVuY05hbWV9KCR7cGFyYW1zfSk6ICR7c2hvd2luZ1JldHVyblR5cGV9IHtcXG5gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJhbXNTdHJpbmcoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IHBhcmFtcyB9ID0gdGhpcy5mdW5jdGlvbk9wdGlvbnM7XG4gICAgbGV0IHBhcmFtc1N0cmluZyA9ICcnO1xuXG4gICAgaWYgKHBhcmFtcyAmJiBwYXJhbXMubGVuZ3RoID4gMCkge1xuICAgICAgcGFyYW1zLmZvckVhY2godmFsdWVzID0+IChwYXJhbXNTdHJpbmcgKz0gYCR7dmFsdWVzLm5hbWV9OiAke3RoaXMucGFyc2VUeXBlKHZhbHVlcy50eXBlKX0sIGApKTtcbiAgICAgIHBhcmFtc1N0cmluZyA9IHBhcmFtc1N0cmluZy5zbGljZSgwLCAtMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtc1N0cmluZztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorPhpHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "php" /* CodeEditorLanguages.Php */;
|
|
5
|
+
constructor(functionOptions) {
|
|
6
|
+
super();
|
|
7
|
+
this.functionOptions = functionOptions;
|
|
8
|
+
}
|
|
9
|
+
getInitCode() {
|
|
10
|
+
return `${this.getFunctionOpening()}\t //Insert your code here \n}\n ?>`;
|
|
11
|
+
}
|
|
12
|
+
getFunctionOpening() {
|
|
13
|
+
const { name: funcName } = this.functionOptions;
|
|
14
|
+
return `<?php function ${funcName}(${this.getParamsString()}) {\n`;
|
|
15
|
+
}
|
|
16
|
+
getParamsString() {
|
|
17
|
+
const { params } = this.functionOptions;
|
|
18
|
+
let paramsString = '';
|
|
19
|
+
if (params && params.length > 0) {
|
|
20
|
+
params.forEach(values => (paramsString += `$${values.name}, `));
|
|
21
|
+
paramsString = paramsString.slice(0, -2);
|
|
22
|
+
}
|
|
23
|
+
return paramsString;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhwLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL2NvbXBvbmVudHMvY29kZS1lZGl0b3IvaGVscGVycy9waHAtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR2pFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxvQkFBb0I7SUFHdkM7SUFGcEIsUUFBUSx1Q0FBMkI7SUFFbkMsWUFBb0IsZUFBc0M7UUFDeEQsS0FBSyxFQUFFLENBQUM7UUFEVSxvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7SUFFMUQsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLHFDQUFxQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRWhELE9BQU8sa0JBQWtCLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQztJQUNyRSxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN4QyxJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7UUFFdEIsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLFlBQVksR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2RlRWRpdG9ySGVscGVyQmFzZSB9IGZyb20gJy4vY29kZS1lZGl0b3ItaGVscGVyLmJhc2UnO1xuaW1wb3J0IHsgQ29kZUVkaXRvckZ1bmNPcHRpb25zLCBDb2RlRWRpdG9ySGVscGVyLCBDb2RlRWRpdG9yTGFuZ3VhZ2VzIH0gZnJvbSAnLi9jb2RlLWVkaXRvci1oZWxwZXIubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvclBocEhlbHBlciBleHRlbmRzIENvZGVFZGl0b3JIZWxwZXJCYXNlIGltcGxlbWVudHMgQ29kZUVkaXRvckhlbHBlciB7XG4gIGxhbmd1YWdlID0gQ29kZUVkaXRvckxhbmd1YWdlcy5QaHA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmdW5jdGlvbk9wdGlvbnM6IENvZGVFZGl0b3JGdW5jT3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXRJbml0Q29kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmdldEZ1bmN0aW9uT3BlbmluZygpfVxcdCAvL0luc2VydCB5b3VyIGNvZGUgaGVyZSBcXG59XFxuID8+YDtcbiAgfVxuXG4gIGdldEZ1bmN0aW9uT3BlbmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbmFtZTogZnVuY05hbWUgfSA9IHRoaXMuZnVuY3Rpb25PcHRpb25zO1xuXG4gICAgcmV0dXJuIGA8P3BocCBmdW5jdGlvbiAke2Z1bmNOYW1lfSgke3RoaXMuZ2V0UGFyYW1zU3RyaW5nKCl9KSB7XFxuYDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFyYW1zU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBwYXJhbXMgfSA9IHRoaXMuZnVuY3Rpb25PcHRpb25zO1xuICAgIGxldCBwYXJhbXNTdHJpbmcgPSAnJztcblxuICAgIGlmIChwYXJhbXMgJiYgcGFyYW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHBhcmFtcy5mb3JFYWNoKHZhbHVlcyA9PiAocGFyYW1zU3RyaW5nICs9IGAkJHt2YWx1ZXMubmFtZX0sIGApKTtcbiAgICAgIHBhcmFtc1N0cmluZyA9IHBhcmFtc1N0cmluZy5zbGljZSgwLCAtMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtc1N0cmluZztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorPythonHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "python" /* CodeEditorLanguages.Python */;
|
|
5
|
+
constructor(functionOptions) {
|
|
6
|
+
super();
|
|
7
|
+
this.functionOptions = functionOptions;
|
|
8
|
+
}
|
|
9
|
+
getInitCode() {
|
|
10
|
+
return `${this.getFunctionOpening()}\t #Insert your code here \n`;
|
|
11
|
+
}
|
|
12
|
+
getFunctionOpening() {
|
|
13
|
+
const { name: funcName } = this.functionOptions;
|
|
14
|
+
return `def ${funcName}(${this.getParamsString()}): \n`;
|
|
15
|
+
}
|
|
16
|
+
getParamsString() {
|
|
17
|
+
const { params } = this.functionOptions;
|
|
18
|
+
let paramsString = '';
|
|
19
|
+
if (params && params.length > 0) {
|
|
20
|
+
params.forEach(values => (paramsString += `${values.name}, `));
|
|
21
|
+
paramsString = paramsString.slice(0, -2);
|
|
22
|
+
}
|
|
23
|
+
return paramsString;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHl0aG9uLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL2NvbXBvbmVudHMvY29kZS1lZGl0b3IvaGVscGVycy9weXRob24taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR2pFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxvQkFBb0I7SUFHMUM7SUFGcEIsUUFBUSw2Q0FBOEI7SUFFdEMsWUFBb0IsZUFBc0M7UUFDeEQsS0FBSyxFQUFFLENBQUM7UUFEVSxvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7SUFFMUQsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLDhCQUE4QixDQUFDO0lBQ3BFLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRWhELE9BQU8sT0FBTyxRQUFRLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUM7SUFDMUQsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDeEMsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBRXRCLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMvRCxZQUFZLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29kZUVkaXRvckhlbHBlckJhc2UgfSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5iYXNlJztcbmltcG9ydCB7IENvZGVFZGl0b3JGdW5jT3B0aW9ucywgQ29kZUVkaXRvckhlbHBlciwgQ29kZUVkaXRvckxhbmd1YWdlcyB9IGZyb20gJy4vY29kZS1lZGl0b3ItaGVscGVyLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIENvZGVFZGl0b3JQeXRob25IZWxwZXIgZXh0ZW5kcyBDb2RlRWRpdG9ySGVscGVyQmFzZSBpbXBsZW1lbnRzIENvZGVFZGl0b3JIZWxwZXIge1xuICBsYW5ndWFnZSA9IENvZGVFZGl0b3JMYW5ndWFnZXMuUHl0aG9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVuY3Rpb25PcHRpb25zOiBDb2RlRWRpdG9yRnVuY09wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0SW5pdENvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5nZXRGdW5jdGlvbk9wZW5pbmcoKX1cXHQgI0luc2VydCB5b3VyIGNvZGUgaGVyZSBcXG5gO1xuICB9XG5cbiAgZ2V0RnVuY3Rpb25PcGVuaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBuYW1lOiBmdW5jTmFtZSB9ID0gdGhpcy5mdW5jdGlvbk9wdGlvbnM7XG5cbiAgICByZXR1cm4gYGRlZiAke2Z1bmNOYW1lfSgke3RoaXMuZ2V0UGFyYW1zU3RyaW5nKCl9KTogXFxuYDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFyYW1zU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBwYXJhbXMgfSA9IHRoaXMuZnVuY3Rpb25PcHRpb25zO1xuICAgIGxldCBwYXJhbXNTdHJpbmcgPSAnJztcblxuICAgIGlmIChwYXJhbXMgJiYgcGFyYW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHBhcmFtcy5mb3JFYWNoKHZhbHVlcyA9PiAocGFyYW1zU3RyaW5nICs9IGAke3ZhbHVlcy5uYW1lfSwgYCkpO1xuICAgICAgcGFyYW1zU3RyaW5nID0gcGFyYW1zU3RyaW5nLnNsaWNlKDAsIC0yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyYW1zU3RyaW5nO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorRHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "r" /* CodeEditorLanguages.R */;
|
|
5
|
+
constructor(functionOptions) {
|
|
6
|
+
super();
|
|
7
|
+
this.functionOptions = functionOptions;
|
|
8
|
+
}
|
|
9
|
+
getInitCode() {
|
|
10
|
+
return `${this.getFunctionOpening()}\t #Insert your code here \n}`;
|
|
11
|
+
}
|
|
12
|
+
getFunctionOpening() {
|
|
13
|
+
const { name: funcName } = this.functionOptions;
|
|
14
|
+
return `${funcName} <- function(${this.getParamsString()}) {\n`;
|
|
15
|
+
}
|
|
16
|
+
getParamsString() {
|
|
17
|
+
const { params } = this.functionOptions;
|
|
18
|
+
let paramsString = '';
|
|
19
|
+
if (params && params.length > 0) {
|
|
20
|
+
params.forEach(values => (paramsString += `${values.name}, `));
|
|
21
|
+
paramsString = paramsString.slice(0, -2);
|
|
22
|
+
}
|
|
23
|
+
return paramsString;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoici1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90Z28tY29kaW5nLXRlc3Qvc3JjL2xpYi9jb21wb25lbnRzL2NvZGUtZWRpdG9yL2hlbHBlcnMvci1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHakUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG9CQUFvQjtJQUdyQztJQUZwQixRQUFRLG1DQUF5QjtJQUVqQyxZQUFvQixlQUFzQztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQURVLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtJQUUxRCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsK0JBQStCLENBQUM7SUFDckUsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFFaEQsT0FBTyxHQUFHLFFBQVEsZ0JBQWdCLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3hDLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUV0QixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDL0QsWUFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVFZGl0b3JIZWxwZXJCYXNlIH0gZnJvbSAnLi9jb2RlLWVkaXRvci1oZWxwZXIuYmFzZSc7XG5pbXBvcnQgeyBDb2RlRWRpdG9yRnVuY09wdGlvbnMsIENvZGVFZGl0b3JIZWxwZXIsIENvZGVFZGl0b3JMYW5ndWFnZXMgfSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBDb2RlRWRpdG9yUkhlbHBlciBleHRlbmRzIENvZGVFZGl0b3JIZWxwZXJCYXNlIGltcGxlbWVudHMgQ29kZUVkaXRvckhlbHBlciB7XG4gIGxhbmd1YWdlID0gQ29kZUVkaXRvckxhbmd1YWdlcy5SO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVuY3Rpb25PcHRpb25zOiBDb2RlRWRpdG9yRnVuY09wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0SW5pdENvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5nZXRGdW5jdGlvbk9wZW5pbmcoKX1cXHQgI0luc2VydCB5b3VyIGNvZGUgaGVyZSBcXG59YDtcbiAgfVxuXG4gIGdldEZ1bmN0aW9uT3BlbmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbmFtZTogZnVuY05hbWUgfSA9IHRoaXMuZnVuY3Rpb25PcHRpb25zO1xuXG4gICAgcmV0dXJuIGAke2Z1bmNOYW1lfSA8LSBmdW5jdGlvbigke3RoaXMuZ2V0UGFyYW1zU3RyaW5nKCl9KSB7XFxuYDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFyYW1zU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBwYXJhbXMgfSA9IHRoaXMuZnVuY3Rpb25PcHRpb25zO1xuICAgIGxldCBwYXJhbXNTdHJpbmcgPSAnJztcblxuICAgIGlmIChwYXJhbXMgJiYgcGFyYW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHBhcmFtcy5mb3JFYWNoKHZhbHVlcyA9PiAocGFyYW1zU3RyaW5nICs9IGAke3ZhbHVlcy5uYW1lfSwgYCkpO1xuICAgICAgcGFyYW1zU3RyaW5nID0gcGFyYW1zU3RyaW5nLnNsaWNlKDAsIC0yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyYW1zU3RyaW5nO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorRubyHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "ruby" /* CodeEditorLanguages.Ruby */;
|
|
5
|
+
constructor(functionOptions) {
|
|
6
|
+
super();
|
|
7
|
+
this.functionOptions = functionOptions;
|
|
8
|
+
}
|
|
9
|
+
getInitCode() {
|
|
10
|
+
return `${this.getFunctionOpening()}\t #Insert your code here \nend`;
|
|
11
|
+
}
|
|
12
|
+
getFunctionOpening() {
|
|
13
|
+
const { name: funcName } = this.functionOptions;
|
|
14
|
+
return `def ${funcName}(${this.getParamsString()})\n`;
|
|
15
|
+
}
|
|
16
|
+
getParamsString() {
|
|
17
|
+
const { params } = this.functionOptions;
|
|
18
|
+
let paramsString = '';
|
|
19
|
+
if (params && params.length > 0) {
|
|
20
|
+
params.forEach(values => (paramsString += `${values.name}, `));
|
|
21
|
+
paramsString = paramsString.slice(0, -2);
|
|
22
|
+
}
|
|
23
|
+
return paramsString;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVieS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90Z28tY29kaW5nLXRlc3Qvc3JjL2xpYi9jb21wb25lbnRzL2NvZGUtZWRpdG9yL2hlbHBlcnMvcnVieS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHakUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG9CQUFvQjtJQUd4QztJQUZwQixRQUFRLHlDQUE0QjtJQUVwQyxZQUFvQixlQUFzQztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQURVLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtJQUUxRCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsaUNBQWlDLENBQUM7SUFDdkUsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFFaEQsT0FBTyxPQUFPLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQztJQUN4RCxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN4QyxJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7UUFFdEIsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQy9ELFlBQVksR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2RlRWRpdG9ySGVscGVyQmFzZSB9IGZyb20gJy4vY29kZS1lZGl0b3ItaGVscGVyLmJhc2UnO1xuaW1wb3J0IHsgQ29kZUVkaXRvckZ1bmNPcHRpb25zLCBDb2RlRWRpdG9ySGVscGVyLCBDb2RlRWRpdG9yTGFuZ3VhZ2VzIH0gZnJvbSAnLi9jb2RlLWVkaXRvci1oZWxwZXIubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvclJ1YnlIZWxwZXIgZXh0ZW5kcyBDb2RlRWRpdG9ySGVscGVyQmFzZSBpbXBsZW1lbnRzIENvZGVFZGl0b3JIZWxwZXIge1xuICBsYW5ndWFnZSA9IENvZGVFZGl0b3JMYW5ndWFnZXMuUnVieTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZ1bmN0aW9uT3B0aW9uczogQ29kZUVkaXRvckZ1bmNPcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldEluaXRDb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuZ2V0RnVuY3Rpb25PcGVuaW5nKCl9XFx0ICNJbnNlcnQgeW91ciBjb2RlIGhlcmUgXFxuZW5kYDtcbiAgfVxuXG4gIGdldEZ1bmN0aW9uT3BlbmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbmFtZTogZnVuY05hbWUgfSA9IHRoaXMuZnVuY3Rpb25PcHRpb25zO1xuXG4gICAgcmV0dXJuIGBkZWYgJHtmdW5jTmFtZX0oJHt0aGlzLmdldFBhcmFtc1N0cmluZygpfSlcXG5gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJhbXNTdHJpbmcoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IHBhcmFtcyB9ID0gdGhpcy5mdW5jdGlvbk9wdGlvbnM7XG4gICAgbGV0IHBhcmFtc1N0cmluZyA9ICcnO1xuXG4gICAgaWYgKHBhcmFtcyAmJiBwYXJhbXMubGVuZ3RoID4gMCkge1xuICAgICAgcGFyYW1zLmZvckVhY2godmFsdWVzID0+IChwYXJhbXNTdHJpbmcgKz0gYCR7dmFsdWVzLm5hbWV9LCBgKSk7XG4gICAgICBwYXJhbXNTdHJpbmcgPSBwYXJhbXNTdHJpbmcuc2xpY2UoMCwgLTIpO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXNTdHJpbmc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorScalaHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "scala" /* CodeEditorLanguages.Scala */;
|
|
5
|
+
typesMap = {
|
|
6
|
+
boolean: 'Boolean',
|
|
7
|
+
int: 'Int',
|
|
8
|
+
double: 'Double',
|
|
9
|
+
float: 'Float',
|
|
10
|
+
str: 'String',
|
|
11
|
+
array_boolean: 'Array[Boolean]',
|
|
12
|
+
array_int: 'Array[Integer]',
|
|
13
|
+
array_float: 'Array[Float]',
|
|
14
|
+
array_double: 'Array[Double]',
|
|
15
|
+
array_str: 'Array[String]',
|
|
16
|
+
};
|
|
17
|
+
packagesText = 'package Testgorilla\nobject TestTaker\n';
|
|
18
|
+
constructor(functionOptions) {
|
|
19
|
+
super();
|
|
20
|
+
this.functionOptions = functionOptions;
|
|
21
|
+
}
|
|
22
|
+
getInitCode() {
|
|
23
|
+
return `${this.packagesText}${this.getFunctionOpening()}\t //Insert your code here \n}`;
|
|
24
|
+
}
|
|
25
|
+
getFunctionOpening() {
|
|
26
|
+
const { name: funcName, returnType } = this.functionOptions;
|
|
27
|
+
const params = this.getParamsString();
|
|
28
|
+
const showingReturnType = this.parseType(returnType);
|
|
29
|
+
return `def ${funcName}(${params}) : ${showingReturnType} = {\n`;
|
|
30
|
+
}
|
|
31
|
+
getParamsString() {
|
|
32
|
+
const { params } = this.functionOptions;
|
|
33
|
+
let paramsString = '';
|
|
34
|
+
if (params && params.length > 0) {
|
|
35
|
+
params.forEach(values => (paramsString += `${values.name}: ${this.parseType(values.type)}, `));
|
|
36
|
+
paramsString = paramsString.slice(0, -2);
|
|
37
|
+
}
|
|
38
|
+
return paramsString;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGEtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGdvLWNvZGluZy10ZXN0L3NyYy9saWIvY29tcG9uZW50cy9jb2RlLWVkaXRvci9oZWxwZXJzL3NjYWxhLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVFqRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsb0JBQW9CO0lBaUJ6QztJQWhCcEIsUUFBUSwyQ0FBNkI7SUFDckMsUUFBUSxHQUF1QjtRQUM3QixPQUFPLEVBQUUsU0FBUztRQUNsQixHQUFHLEVBQUUsS0FBSztRQUNWLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLEtBQUssRUFBRSxPQUFPO1FBQ2QsR0FBRyxFQUFFLFFBQVE7UUFDYixhQUFhLEVBQUUsZ0JBQWdCO1FBQy9CLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsV0FBVyxFQUFFLGNBQWM7UUFDM0IsWUFBWSxFQUFFLGVBQWU7UUFDN0IsU0FBUyxFQUFFLGVBQWU7S0FDM0IsQ0FBQztJQUVNLFlBQVksR0FBRyx5Q0FBeUMsQ0FBQztJQUVqRSxZQUFvQixlQUFzQztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQURVLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtJQUUxRCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxnQ0FBZ0MsQ0FBQztJQUMxRixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDNUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVyRCxPQUFPLE9BQU8sUUFBUSxJQUFJLE1BQU0sT0FBTyxpQkFBaUIsUUFBUSxDQUFDO0lBQ25FLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3hDLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUV0QixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDL0YsWUFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVFZGl0b3JIZWxwZXJCYXNlIH0gZnJvbSAnLi9jb2RlLWVkaXRvci1oZWxwZXIuYmFzZSc7XG5pbXBvcnQge1xuICBDb2RlRWRpdG9yRnVuY09wdGlvbnMsXG4gIENvZGVFZGl0b3JIZWxwZXIsXG4gIENvZGVFZGl0b3JMYW5ndWFnZXMsXG4gIENvZGVFZGl0b3JUeXBlc01hcCxcbn0gZnJvbSAnLi9jb2RlLWVkaXRvci1oZWxwZXIubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvclNjYWxhSGVscGVyIGV4dGVuZHMgQ29kZUVkaXRvckhlbHBlckJhc2UgaW1wbGVtZW50cyBDb2RlRWRpdG9ySGVscGVyIHtcbiAgbGFuZ3VhZ2UgPSBDb2RlRWRpdG9yTGFuZ3VhZ2VzLlNjYWxhO1xuICB0eXBlc01hcDogQ29kZUVkaXRvclR5cGVzTWFwID0ge1xuICAgIGJvb2xlYW46ICdCb29sZWFuJyxcbiAgICBpbnQ6ICdJbnQnLFxuICAgIGRvdWJsZTogJ0RvdWJsZScsXG4gICAgZmxvYXQ6ICdGbG9hdCcsXG4gICAgc3RyOiAnU3RyaW5nJyxcbiAgICBhcnJheV9ib29sZWFuOiAnQXJyYXlbQm9vbGVhbl0nLFxuICAgIGFycmF5X2ludDogJ0FycmF5W0ludGVnZXJdJyxcbiAgICBhcnJheV9mbG9hdDogJ0FycmF5W0Zsb2F0XScsXG4gICAgYXJyYXlfZG91YmxlOiAnQXJyYXlbRG91YmxlXScsXG4gICAgYXJyYXlfc3RyOiAnQXJyYXlbU3RyaW5nXScsXG4gIH07XG5cbiAgcHJpdmF0ZSBwYWNrYWdlc1RleHQgPSAncGFja2FnZSBUZXN0Z29yaWxsYVxcbm9iamVjdCBUZXN0VGFrZXJcXG4nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVuY3Rpb25PcHRpb25zOiBDb2RlRWRpdG9yRnVuY09wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0SW5pdENvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5wYWNrYWdlc1RleHR9JHt0aGlzLmdldEZ1bmN0aW9uT3BlbmluZygpfVxcdCAvL0luc2VydCB5b3VyIGNvZGUgaGVyZSBcXG59YDtcbiAgfVxuXG4gIGdldEZ1bmN0aW9uT3BlbmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbmFtZTogZnVuY05hbWUsIHJldHVyblR5cGUgfSA9IHRoaXMuZnVuY3Rpb25PcHRpb25zO1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0UGFyYW1zU3RyaW5nKCk7XG4gICAgY29uc3Qgc2hvd2luZ1JldHVyblR5cGUgPSB0aGlzLnBhcnNlVHlwZShyZXR1cm5UeXBlKTtcblxuICAgIHJldHVybiBgZGVmICR7ZnVuY05hbWV9KCR7cGFyYW1zfSkgOiAke3Nob3dpbmdSZXR1cm5UeXBlfSA9IHtcXG5gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJhbXNTdHJpbmcoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IHBhcmFtcyB9ID0gdGhpcy5mdW5jdGlvbk9wdGlvbnM7XG4gICAgbGV0IHBhcmFtc1N0cmluZyA9ICcnO1xuXG4gICAgaWYgKHBhcmFtcyAmJiBwYXJhbXMubGVuZ3RoID4gMCkge1xuICAgICAgcGFyYW1zLmZvckVhY2godmFsdWVzID0+IChwYXJhbXNTdHJpbmcgKz0gYCR7dmFsdWVzLm5hbWV9OiAke3RoaXMucGFyc2VUeXBlKHZhbHVlcy50eXBlKX0sIGApKTtcbiAgICAgIHBhcmFtc1N0cmluZyA9IHBhcmFtc1N0cmluZy5zbGljZSgwLCAtMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtc1N0cmluZztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorSqlHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "sql" /* CodeEditorLanguages.Sql */;
|
|
5
|
+
constructor(functionOptions) {
|
|
6
|
+
super();
|
|
7
|
+
this.functionOptions = functionOptions;
|
|
8
|
+
}
|
|
9
|
+
getInitCode() {
|
|
10
|
+
return `${this.getFunctionOpening()}${this.getOperationCode()}`;
|
|
11
|
+
}
|
|
12
|
+
getFunctionOpening() {
|
|
13
|
+
const { name: funcName } = this.functionOptions;
|
|
14
|
+
return `${funcName || ''}\n`;
|
|
15
|
+
}
|
|
16
|
+
getOperationCode() {
|
|
17
|
+
const { name: funcName } = this.functionOptions;
|
|
18
|
+
switch (funcName) {
|
|
19
|
+
case "SELECT" /* CodeEditorSqlOperations.Select */:
|
|
20
|
+
return '## FROM ## WHERE ##;\n';
|
|
21
|
+
case "UPDATE" /* CodeEditorSqlOperations.Update */:
|
|
22
|
+
return '## SET ## WHERE ##;\n';
|
|
23
|
+
case "INSERT" /* CodeEditorSqlOperations.Insert */:
|
|
24
|
+
return 'INTO ## WHERE ##;\n';
|
|
25
|
+
case "DELETE" /* CodeEditorSqlOperations.Delete */:
|
|
26
|
+
return '## FROM ## WHERE ##;\n';
|
|
27
|
+
case "CREATE TABLE" /* CodeEditorSqlOperations.CreateTable */:
|
|
28
|
+
return '## VALUES ##;\n';
|
|
29
|
+
default:
|
|
30
|
+
return '';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Rnby1jb2RpbmctdGVzdC9zcmMvbGliL2NvbXBvbmVudHMvY29kZS1lZGl0b3IvaGVscGVycy9zcWwtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUWpFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxvQkFBb0I7SUFHdkM7SUFGcEIsUUFBUSx1Q0FBMkI7SUFFbkMsWUFBb0IsZUFBc0M7UUFDeEQsS0FBSyxFQUFFLENBQUM7UUFEVSxvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7SUFFMUQsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUVoRCxPQUFPLEdBQUcsUUFBUSxJQUFJLEVBQUUsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRWhELFFBQVEsUUFBUSxFQUFFLENBQUM7WUFDakI7Z0JBQ0UsT0FBTyx3QkFBd0IsQ0FBQztZQUNsQztnQkFDRSxPQUFPLHVCQUF1QixDQUFDO1lBQ2pDO2dCQUNFLE9BQU8scUJBQXFCLENBQUM7WUFDL0I7Z0JBQ0UsT0FBTyx3QkFBd0IsQ0FBQztZQUNsQztnQkFDRSxPQUFPLGlCQUFpQixDQUFDO1lBQzNCO2dCQUNFLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVFZGl0b3JIZWxwZXJCYXNlIH0gZnJvbSAnLi9jb2RlLWVkaXRvci1oZWxwZXIuYmFzZSc7XG5pbXBvcnQge1xuICBDb2RlRWRpdG9yRnVuY09wdGlvbnMsXG4gIENvZGVFZGl0b3JIZWxwZXIsXG4gIENvZGVFZGl0b3JMYW5ndWFnZXMsXG4gIENvZGVFZGl0b3JTcWxPcGVyYXRpb25zLFxufSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBDb2RlRWRpdG9yU3FsSGVscGVyIGV4dGVuZHMgQ29kZUVkaXRvckhlbHBlckJhc2UgaW1wbGVtZW50cyBDb2RlRWRpdG9ySGVscGVyIHtcbiAgbGFuZ3VhZ2UgPSBDb2RlRWRpdG9yTGFuZ3VhZ2VzLlNxbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZ1bmN0aW9uT3B0aW9uczogQ29kZUVkaXRvckZ1bmNPcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldEluaXRDb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuZ2V0RnVuY3Rpb25PcGVuaW5nKCl9JHt0aGlzLmdldE9wZXJhdGlvbkNvZGUoKX1gO1xuICB9XG5cbiAgZ2V0RnVuY3Rpb25PcGVuaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBuYW1lOiBmdW5jTmFtZSB9ID0gdGhpcy5mdW5jdGlvbk9wdGlvbnM7XG5cbiAgICByZXR1cm4gYCR7ZnVuY05hbWUgfHwgJyd9XFxuYDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3BlcmF0aW9uQ29kZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbmFtZTogZnVuY05hbWUgfSA9IHRoaXMuZnVuY3Rpb25PcHRpb25zO1xuXG4gICAgc3dpdGNoIChmdW5jTmFtZSkge1xuICAgICAgY2FzZSBDb2RlRWRpdG9yU3FsT3BlcmF0aW9ucy5TZWxlY3Q6XG4gICAgICAgIHJldHVybiAnIyMgRlJPTSAjIyBXSEVSRSAjIztcXG4nO1xuICAgICAgY2FzZSBDb2RlRWRpdG9yU3FsT3BlcmF0aW9ucy5VcGRhdGU6XG4gICAgICAgIHJldHVybiAnIyMgU0VUICMjIFdIRVJFICMjO1xcbic7XG4gICAgICBjYXNlIENvZGVFZGl0b3JTcWxPcGVyYXRpb25zLkluc2VydDpcbiAgICAgICAgcmV0dXJuICdJTlRPICMjIFdIRVJFICMjO1xcbic7XG4gICAgICBjYXNlIENvZGVFZGl0b3JTcWxPcGVyYXRpb25zLkRlbGV0ZTpcbiAgICAgICAgcmV0dXJuICcjIyBGUk9NICMjIFdIRVJFICMjO1xcbic7XG4gICAgICBjYXNlIENvZGVFZGl0b3JTcWxPcGVyYXRpb25zLkNyZWF0ZVRhYmxlOlxuICAgICAgICByZXR1cm4gJyMjIFZBTFVFUyAjIztcXG4nO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorSwiftHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "swift" /* CodeEditorLanguages.Swift */;
|
|
5
|
+
typesMap = {
|
|
6
|
+
boolean: 'Bool',
|
|
7
|
+
int: 'Int',
|
|
8
|
+
double: 'Double',
|
|
9
|
+
float: 'Float',
|
|
10
|
+
str: 'String',
|
|
11
|
+
array_boolean: '[Bool]',
|
|
12
|
+
array_int: '[Int]',
|
|
13
|
+
array_float: '[Float]',
|
|
14
|
+
array_double: '[Double]',
|
|
15
|
+
array_str: '[String]',
|
|
16
|
+
};
|
|
17
|
+
constructor(functionOptions) {
|
|
18
|
+
super();
|
|
19
|
+
this.functionOptions = functionOptions;
|
|
20
|
+
}
|
|
21
|
+
getInitCode() {
|
|
22
|
+
return `${this.getFunctionOpening()}\t //Insert your code here \n}`;
|
|
23
|
+
}
|
|
24
|
+
getFunctionOpening() {
|
|
25
|
+
const { name: funcName, returnType } = this.functionOptions;
|
|
26
|
+
const params = this.getParamsString();
|
|
27
|
+
const showingReturnType = this.parseType(returnType);
|
|
28
|
+
return `func ${funcName}(${params}) -> ${showingReturnType} {\n`;
|
|
29
|
+
}
|
|
30
|
+
getParamsString() {
|
|
31
|
+
const { params } = this.functionOptions;
|
|
32
|
+
let paramsString = '';
|
|
33
|
+
if (params && params.length > 0) {
|
|
34
|
+
params.forEach(values => (paramsString += `_ ${values.name}: ${this.parseType(values.type)}, `));
|
|
35
|
+
paramsString = paramsString.slice(0, -2);
|
|
36
|
+
}
|
|
37
|
+
return paramsString;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpZnQtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGdvLWNvZGluZy10ZXN0L3NyYy9saWIvY29tcG9uZW50cy9jb2RlLWVkaXRvci9oZWxwZXJzL3N3aWZ0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVFqRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsb0JBQW9CO0lBZXpDO0lBZHBCLFFBQVEsMkNBQTZCO0lBQ3JDLFFBQVEsR0FBdUI7UUFDN0IsT0FBTyxFQUFFLE1BQU07UUFDZixHQUFHLEVBQUUsS0FBSztRQUNWLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLEtBQUssRUFBRSxPQUFPO1FBQ2QsR0FBRyxFQUFFLFFBQVE7UUFDYixhQUFhLEVBQUUsUUFBUTtRQUN2QixTQUFTLEVBQUUsT0FBTztRQUNsQixXQUFXLEVBQUUsU0FBUztRQUN0QixZQUFZLEVBQUUsVUFBVTtRQUN4QixTQUFTLEVBQUUsVUFBVTtLQUN0QixDQUFDO0lBRUYsWUFBb0IsZUFBc0M7UUFDeEQsS0FBSyxFQUFFLENBQUM7UUFEVSxvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7SUFFMUQsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLGdDQUFnQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM1RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXJELE9BQU8sUUFBUSxRQUFRLElBQUksTUFBTSxRQUFRLGlCQUFpQixNQUFNLENBQUM7SUFDbkUsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDeEMsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBRXRCLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNqRyxZQUFZLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29kZUVkaXRvckhlbHBlckJhc2UgfSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5iYXNlJztcbmltcG9ydCB7XG4gIENvZGVFZGl0b3JGdW5jT3B0aW9ucyxcbiAgQ29kZUVkaXRvckhlbHBlcixcbiAgQ29kZUVkaXRvckxhbmd1YWdlcyxcbiAgQ29kZUVkaXRvclR5cGVzTWFwLFxufSBmcm9tICcuL2NvZGUtZWRpdG9yLWhlbHBlci5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBDb2RlRWRpdG9yU3dpZnRIZWxwZXIgZXh0ZW5kcyBDb2RlRWRpdG9ySGVscGVyQmFzZSBpbXBsZW1lbnRzIENvZGVFZGl0b3JIZWxwZXIge1xuICBsYW5ndWFnZSA9IENvZGVFZGl0b3JMYW5ndWFnZXMuU3dpZnQ7XG4gIHR5cGVzTWFwOiBDb2RlRWRpdG9yVHlwZXNNYXAgPSB7XG4gICAgYm9vbGVhbjogJ0Jvb2wnLFxuICAgIGludDogJ0ludCcsXG4gICAgZG91YmxlOiAnRG91YmxlJyxcbiAgICBmbG9hdDogJ0Zsb2F0JyxcbiAgICBzdHI6ICdTdHJpbmcnLFxuICAgIGFycmF5X2Jvb2xlYW46ICdbQm9vbF0nLFxuICAgIGFycmF5X2ludDogJ1tJbnRdJyxcbiAgICBhcnJheV9mbG9hdDogJ1tGbG9hdF0nLFxuICAgIGFycmF5X2RvdWJsZTogJ1tEb3VibGVdJyxcbiAgICBhcnJheV9zdHI6ICdbU3RyaW5nXScsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmdW5jdGlvbk9wdGlvbnM6IENvZGVFZGl0b3JGdW5jT3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXRJbml0Q29kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmdldEZ1bmN0aW9uT3BlbmluZygpfVxcdCAvL0luc2VydCB5b3VyIGNvZGUgaGVyZSBcXG59YDtcbiAgfVxuXG4gIGdldEZ1bmN0aW9uT3BlbmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbmFtZTogZnVuY05hbWUsIHJldHVyblR5cGUgfSA9IHRoaXMuZnVuY3Rpb25PcHRpb25zO1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0UGFyYW1zU3RyaW5nKCk7XG4gICAgY29uc3Qgc2hvd2luZ1JldHVyblR5cGUgPSB0aGlzLnBhcnNlVHlwZShyZXR1cm5UeXBlKTtcblxuICAgIHJldHVybiBgZnVuYyAke2Z1bmNOYW1lfSgke3BhcmFtc30pIC0+ICR7c2hvd2luZ1JldHVyblR5cGV9IHtcXG5gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJhbXNTdHJpbmcoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IHBhcmFtcyB9ID0gdGhpcy5mdW5jdGlvbk9wdGlvbnM7XG4gICAgbGV0IHBhcmFtc1N0cmluZyA9ICcnO1xuXG4gICAgaWYgKHBhcmFtcyAmJiBwYXJhbXMubGVuZ3RoID4gMCkge1xuICAgICAgcGFyYW1zLmZvckVhY2godmFsdWVzID0+IChwYXJhbXNTdHJpbmcgKz0gYF8gJHt2YWx1ZXMubmFtZX06ICR7dGhpcy5wYXJzZVR5cGUodmFsdWVzLnR5cGUpfSwgYCkpO1xuICAgICAgcGFyYW1zU3RyaW5nID0gcGFyYW1zU3RyaW5nLnNsaWNlKDAsIC0yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyYW1zU3RyaW5nO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { CodeEditorHelperBase } from './code-editor-helper.base';
|
|
2
|
+
export class CodeEditorTypescriptHelper extends CodeEditorHelperBase {
|
|
3
|
+
functionOptions;
|
|
4
|
+
language = "typescript" /* CodeEditorLanguages.Typescript */;
|
|
5
|
+
typesMap = {
|
|
6
|
+
boolean: 'boolean',
|
|
7
|
+
int: 'number',
|
|
8
|
+
number: 'number',
|
|
9
|
+
double: 'number',
|
|
10
|
+
float: 'number',
|
|
11
|
+
str: 'string',
|
|
12
|
+
array_boolean: 'Array<boolean>',
|
|
13
|
+
array_int: 'Array<number>',
|
|
14
|
+
array_float: 'Array<number>',
|
|
15
|
+
array_double: 'Array<number>',
|
|
16
|
+
array_str: 'Array<string>',
|
|
17
|
+
};
|
|
18
|
+
constructor(functionOptions) {
|
|
19
|
+
super();
|
|
20
|
+
this.functionOptions = functionOptions;
|
|
21
|
+
}
|
|
22
|
+
getInitCode() {
|
|
23
|
+
return `${this.getFunctionOpening()}\t //Insert your code here \n}`;
|
|
24
|
+
}
|
|
25
|
+
getFunctionOpening() {
|
|
26
|
+
const { name: funcName, returnType } = this.functionOptions;
|
|
27
|
+
const params = this.getParamsString();
|
|
28
|
+
const showingReturnType = this.parseType(returnType);
|
|
29
|
+
return `export default function ${funcName}(${params}): ${showingReturnType} {\n`;
|
|
30
|
+
}
|
|
31
|
+
getParamsString() {
|
|
32
|
+
const { params } = this.functionOptions;
|
|
33
|
+
let paramsString = '';
|
|
34
|
+
if (params && params.length > 0) {
|
|
35
|
+
params.forEach(values => (paramsString += `${values.name}: ${this.parseType(values.type)}, `));
|
|
36
|
+
paramsString = paramsString.slice(0, -2);
|
|
37
|
+
}
|
|
38
|
+
return paramsString;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90Z28tY29kaW5nLXRlc3Qvc3JjL2xpYi9jb21wb25lbnRzL2NvZGUtZWRpdG9yL2hlbHBlcnMvdHlwZXNjcmlwdC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFRakUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG9CQUFvQjtJQWdCOUM7SUFmcEIsUUFBUSxxREFBa0M7SUFDMUMsUUFBUSxHQUF1QjtRQUM3QixPQUFPLEVBQUUsU0FBUztRQUNsQixHQUFHLEVBQUUsUUFBUTtRQUNiLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLEtBQUssRUFBRSxRQUFRO1FBQ2YsR0FBRyxFQUFFLFFBQVE7UUFDYixhQUFhLEVBQUUsZ0JBQWdCO1FBQy9CLFNBQVMsRUFBRSxlQUFlO1FBQzFCLFdBQVcsRUFBRSxlQUFlO1FBQzVCLFlBQVksRUFBRSxlQUFlO1FBQzdCLFNBQVMsRUFBRSxlQUFlO0tBQzNCLENBQUM7SUFFRixZQUFvQixlQUFzQztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQURVLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtJQUUxRCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsZ0NBQWdDLENBQUM7SUFDdEUsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFckQsT0FBTywyQkFBMkIsUUFBUSxJQUFJLE1BQU0sTUFBTSxpQkFBaUIsTUFBTSxDQUFDO0lBQ3BGLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3hDLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUV0QixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDL0YsWUFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVFZGl0b3JIZWxwZXJCYXNlIH0gZnJvbSAnLi9jb2RlLWVkaXRvci1oZWxwZXIuYmFzZSc7XG5pbXBvcnQge1xuICBDb2RlRWRpdG9yRnVuY09wdGlvbnMsXG4gIENvZGVFZGl0b3JIZWxwZXIsXG4gIENvZGVFZGl0b3JMYW5ndWFnZXMsXG4gIENvZGVFZGl0b3JUeXBlc01hcCxcbn0gZnJvbSAnLi9jb2RlLWVkaXRvci1oZWxwZXIubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvclR5cGVzY3JpcHRIZWxwZXIgZXh0ZW5kcyBDb2RlRWRpdG9ySGVscGVyQmFzZSBpbXBsZW1lbnRzIENvZGVFZGl0b3JIZWxwZXIge1xuICBsYW5ndWFnZSA9IENvZGVFZGl0b3JMYW5ndWFnZXMuVHlwZXNjcmlwdDtcbiAgdHlwZXNNYXA6IENvZGVFZGl0b3JUeXBlc01hcCA9IHtcbiAgICBib29sZWFuOiAnYm9vbGVhbicsXG4gICAgaW50OiAnbnVtYmVyJyxcbiAgICBudW1iZXI6ICdudW1iZXInLFxuICAgIGRvdWJsZTogJ251bWJlcicsXG4gICAgZmxvYXQ6ICdudW1iZXInLFxuICAgIHN0cjogJ3N0cmluZycsXG4gICAgYXJyYXlfYm9vbGVhbjogJ0FycmF5PGJvb2xlYW4+JyxcbiAgICBhcnJheV9pbnQ6ICdBcnJheTxudW1iZXI+JyxcbiAgICBhcnJheV9mbG9hdDogJ0FycmF5PG51bWJlcj4nLFxuICAgIGFycmF5X2RvdWJsZTogJ0FycmF5PG51bWJlcj4nLFxuICAgIGFycmF5X3N0cjogJ0FycmF5PHN0cmluZz4nLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnVuY3Rpb25PcHRpb25zOiBDb2RlRWRpdG9yRnVuY09wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0SW5pdENvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5nZXRGdW5jdGlvbk9wZW5pbmcoKX1cXHQgLy9JbnNlcnQgeW91ciBjb2RlIGhlcmUgXFxufWA7XG4gIH1cblxuICBnZXRGdW5jdGlvbk9wZW5pbmcoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IG5hbWU6IGZ1bmNOYW1lLCByZXR1cm5UeXBlIH0gPSB0aGlzLmZ1bmN0aW9uT3B0aW9ucztcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldFBhcmFtc1N0cmluZygpO1xuICAgIGNvbnN0IHNob3dpbmdSZXR1cm5UeXBlID0gdGhpcy5wYXJzZVR5cGUocmV0dXJuVHlwZSk7XG5cbiAgICByZXR1cm4gYGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uICR7ZnVuY05hbWV9KCR7cGFyYW1zfSk6ICR7c2hvd2luZ1JldHVyblR5cGV9IHtcXG5gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJhbXNTdHJpbmcoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IHBhcmFtcyB9ID0gdGhpcy5mdW5jdGlvbk9wdGlvbnM7XG4gICAgbGV0IHBhcmFtc1N0cmluZyA9ICcnO1xuXG4gICAgaWYgKHBhcmFtcyAmJiBwYXJhbXMubGVuZ3RoID4gMCkge1xuICAgICAgcGFyYW1zLmZvckVhY2godmFsdWVzID0+IChwYXJhbXNTdHJpbmcgKz0gYCR7dmFsdWVzLm5hbWV9OiAke3RoaXMucGFyc2VUeXBlKHZhbHVlcy50eXBlKX0sIGApKTtcbiAgICAgIHBhcmFtc1N0cmluZyA9IHBhcmFtc1N0cmluZy5zbGljZSgwLCAtMik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtc1N0cmluZztcbiAgfVxufVxuIl19
|