@explorer02/cfm-survey-sdk 0.1.0 → 0.1.2
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/dist/cli/index.d.mts +1 -0
- package/dist/cli/index.d.ts +0 -2
- package/dist/cli/index.js +38 -40
- package/dist/cli/index.mjs +39 -0
- package/dist/index.d.mts +706 -0
- package/dist/index.d.ts +706 -3
- package/dist/index.js +1 -6
- package/dist/index.mjs +1 -0
- package/package.json +9 -7
- package/templates/AGENT.md +650 -29
- package/dist/analytics/analyticsTracker.d.ts +0 -3
- package/dist/analytics/analyticsTracker.d.ts.map +0 -1
- package/dist/analytics/analyticsTracker.js +0 -34
- package/dist/analytics/analyticsTracker.js.map +0 -1
- package/dist/analytics/types.d.ts +0 -76
- package/dist/analytics/types.d.ts.map +0 -1
- package/dist/analytics/types.js +0 -3
- package/dist/analytics/types.js.map +0 -1
- package/dist/cli/const.d.ts +0 -10
- package/dist/cli/const.d.ts.map +0 -1
- package/dist/cli/const.js +0 -13
- package/dist/cli/const.js.map +0 -1
- package/dist/cli/constants.d.ts +0 -9
- package/dist/cli/constants.js +0 -12
- package/dist/cli/deploy.d.ts +0 -2
- package/dist/cli/deploy.d.ts.map +0 -1
- package/dist/cli/deploy.js +0 -21
- package/dist/cli/deploy.js.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/init.d.ts +0 -2
- package/dist/cli/init.d.ts.map +0 -1
- package/dist/cli/init.js +0 -145
- package/dist/cli/init.js.map +0 -1
- package/dist/cli/questionnaire/engine.d.ts +0 -22
- package/dist/cli/questionnaire/engine.d.ts.map +0 -1
- package/dist/cli/questionnaire/engine.js +0 -218
- package/dist/cli/questionnaire/engine.js.map +0 -1
- package/dist/cli/questionnaire/questionnaire-cli.d.ts +0 -2
- package/dist/cli/questionnaire/questionnaire-cli.d.ts.map +0 -1
- package/dist/cli/questionnaire/questionnaire-cli.js +0 -3
- package/dist/cli/questionnaire/questionnaire-cli.js.map +0 -1
- package/dist/cli/questionnaire/questions.d.ts +0 -3
- package/dist/cli/questionnaire/questions.d.ts.map +0 -1
- package/dist/cli/questionnaire/questions.js +0 -337
- package/dist/cli/questionnaire/questions.js.map +0 -1
- package/dist/cli/questionnaire/runner.d.ts +0 -3
- package/dist/cli/questionnaire/runner.d.ts.map +0 -1
- package/dist/cli/questionnaire/runner.js +0 -161
- package/dist/cli/questionnaire/runner.js.map +0 -1
- package/dist/cli/questionnaire/server.d.ts +0 -11
- package/dist/cli/questionnaire/server.d.ts.map +0 -1
- package/dist/cli/questionnaire/server.js +0 -80
- package/dist/cli/questionnaire/server.js.map +0 -1
- package/dist/cli/questionnaire/types.d.ts +0 -95
- package/dist/cli/questionnaire/types.d.ts.map +0 -1
- package/dist/cli/questionnaire/types.js +0 -7
- package/dist/cli/questionnaire/types.js.map +0 -1
- package/dist/cli/utils/exec.d.ts +0 -4
- package/dist/cli/utils/exec.d.ts.map +0 -1
- package/dist/cli/utils/exec.js +0 -41
- package/dist/cli/utils/exec.js.map +0 -1
- package/dist/cli/utils/nodeCheck.d.ts +0 -2
- package/dist/cli/utils/nodeCheck.d.ts.map +0 -1
- package/dist/cli/utils/nodeCheck.js +0 -72
- package/dist/cli/utils/nodeCheck.js.map +0 -1
- package/dist/cli/utils/prompts.d.ts +0 -2
- package/dist/cli/utils/prompts.d.ts.map +0 -1
- package/dist/cli/utils/prompts.js +0 -29
- package/dist/cli/utils/prompts.js.map +0 -1
- package/dist/cli/utils/vercelCliCheck.d.ts +0 -6
- package/dist/cli/utils/vercelCliCheck.d.ts.map +0 -1
- package/dist/cli/utils/vercelCliCheck.js +0 -38
- package/dist/cli/utils/vercelCliCheck.js.map +0 -1
- package/dist/cli/utils/vercelDeploy.d.ts +0 -2
- package/dist/cli/utils/vercelDeploy.d.ts.map +0 -1
- package/dist/cli/utils/vercelDeploy.js +0 -21
- package/dist/cli/utils/vercelDeploy.js.map +0 -1
- package/dist/cli/utils/vercelLoginCheck.d.ts +0 -2
- package/dist/cli/utils/vercelLoginCheck.d.ts.map +0 -1
- package/dist/cli/utils/vercelLoginCheck.js +0 -42
- package/dist/cli/utils/vercelLoginCheck.js.map +0 -1
- package/dist/fetchSurvey/internalTypes.d.ts +0 -60
- package/dist/fetchSurvey/internalTypes.d.ts.map +0 -1
- package/dist/fetchSurvey/internalTypes.js +0 -3
- package/dist/fetchSurvey/internalTypes.js.map +0 -1
- package/dist/fetchSurvey/logger/fetchLogger.d.ts +0 -6
- package/dist/fetchSurvey/logger/fetchLogger.d.ts.map +0 -1
- package/dist/fetchSurvey/logger/fetchLogger.js +0 -37
- package/dist/fetchSurvey/logger/fetchLogger.js.map +0 -1
- package/dist/fetchSurvey/logger/mapperLogger.d.ts +0 -4
- package/dist/fetchSurvey/logger/mapperLogger.d.ts.map +0 -1
- package/dist/fetchSurvey/logger/mapperLogger.js +0 -16
- package/dist/fetchSurvey/logger/mapperLogger.js.map +0 -1
- package/dist/fetchSurvey/telemetry/fetchTelemetry.d.ts +0 -3
- package/dist/fetchSurvey/telemetry/fetchTelemetry.d.ts.map +0 -1
- package/dist/fetchSurvey/telemetry/fetchTelemetry.js +0 -29
- package/dist/fetchSurvey/telemetry/fetchTelemetry.js.map +0 -1
- package/dist/fetchSurvey/types.d.ts +0 -54
- package/dist/fetchSurvey/types.d.ts.map +0 -1
- package/dist/fetchSurvey/types.js +0 -3
- package/dist/fetchSurvey/types.js.map +0 -1
- package/dist/fetchSurvey/useFetchSurvey.d.ts +0 -25
- package/dist/fetchSurvey/useFetchSurvey.d.ts.map +0 -1
- package/dist/fetchSurvey/useFetchSurvey.js +0 -115
- package/dist/fetchSurvey/useFetchSurvey.js.map +0 -1
- package/dist/fetchSurvey/utils/cleaner.d.ts +0 -7
- package/dist/fetchSurvey/utils/cleaner.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/cleaner.js +0 -35
- package/dist/fetchSurvey/utils/cleaner.js.map +0 -1
- package/dist/fetchSurvey/utils/constants.d.ts +0 -10
- package/dist/fetchSurvey/utils/constants.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/constants.js +0 -13
- package/dist/fetchSurvey/utils/constants.js.map +0 -1
- package/dist/fetchSurvey/utils/extractSurveyLanguages.d.ts +0 -17
- package/dist/fetchSurvey/utils/extractSurveyLanguages.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/extractSurveyLanguages.js +0 -61
- package/dist/fetchSurvey/utils/extractSurveyLanguages.js.map +0 -1
- package/dist/fetchSurvey/utils/index.d.ts +0 -6
- package/dist/fetchSurvey/utils/index.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/index.js +0 -22
- package/dist/fetchSurvey/utils/index.js.map +0 -1
- package/dist/fetchSurvey/utils/mapSurveyPages.d.ts +0 -12
- package/dist/fetchSurvey/utils/mapSurveyPages.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/mapSurveyPages.js +0 -30
- package/dist/fetchSurvey/utils/mapSurveyPages.js.map +0 -1
- package/dist/fetchSurvey/utils/mappers/index.d.ts +0 -3
- package/dist/fetchSurvey/utils/mappers/index.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/mappers/index.js +0 -19
- package/dist/fetchSurvey/utils/mappers/index.js.map +0 -1
- package/dist/fetchSurvey/utils/mappers/questionMapper.d.ts +0 -42
- package/dist/fetchSurvey/utils/mappers/questionMapper.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/mappers/questionMapper.js +0 -183
- package/dist/fetchSurvey/utils/mappers/questionMapper.js.map +0 -1
- package/dist/fetchSurvey/utils/mappers/questionMapper.test.d.ts +0 -2
- package/dist/fetchSurvey/utils/mappers/questionMapper.test.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/mappers/questionMapper.test.js +0 -79
- package/dist/fetchSurvey/utils/mappers/questionMapper.test.js.map +0 -1
- package/dist/fetchSurvey/utils/mappers/surveyMapper.d.ts +0 -36
- package/dist/fetchSurvey/utils/mappers/surveyMapper.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/mappers/surveyMapper.js +0 -65
- package/dist/fetchSurvey/utils/mappers/surveyMapper.js.map +0 -1
- package/dist/fetchSurvey/utils/url.d.ts +0 -14
- package/dist/fetchSurvey/utils/url.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/url.js +0 -26
- package/dist/fetchSurvey/utils/url.js.map +0 -1
- package/dist/fetchSurvey/utils/validation.d.ts +0 -15
- package/dist/fetchSurvey/utils/validation.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/validation.js +0 -36
- package/dist/fetchSurvey/utils/validation.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/logger/logger.d.ts +0 -26
- package/dist/logger/logger.d.ts.map +0 -1
- package/dist/logger/logger.js +0 -57
- package/dist/logger/logger.js.map +0 -1
- package/dist/queryClient.d.ts +0 -3
- package/dist/queryClient.d.ts.map +0 -1
- package/dist/queryClient.js +0 -64
- package/dist/queryClient.js.map +0 -1
- package/dist/submitSurvey/logger/resolutionLogger.d.ts +0 -4
- package/dist/submitSurvey/logger/resolutionLogger.d.ts.map +0 -1
- package/dist/submitSurvey/logger/resolutionLogger.js +0 -16
- package/dist/submitSurvey/logger/resolutionLogger.js.map +0 -1
- package/dist/submitSurvey/logger/submitLogger.d.ts +0 -7
- package/dist/submitSurvey/logger/submitLogger.d.ts.map +0 -1
- package/dist/submitSurvey/logger/submitLogger.js +0 -43
- package/dist/submitSurvey/logger/submitLogger.js.map +0 -1
- package/dist/submitSurvey/telemetry/submitTelemetry.d.ts +0 -3
- package/dist/submitSurvey/telemetry/submitTelemetry.d.ts.map +0 -1
- package/dist/submitSurvey/telemetry/submitTelemetry.js +0 -30
- package/dist/submitSurvey/telemetry/submitTelemetry.js.map +0 -1
- package/dist/submitSurvey/types.d.ts +0 -37
- package/dist/submitSurvey/types.d.ts.map +0 -1
- package/dist/submitSurvey/types.js +0 -3
- package/dist/submitSurvey/types.js.map +0 -1
- package/dist/submitSurvey/useSubmitResponse.d.ts +0 -18
- package/dist/submitSurvey/useSubmitResponse.d.ts.map +0 -1
- package/dist/submitSurvey/useSubmitResponse.js +0 -101
- package/dist/submitSurvey/useSubmitResponse.js.map +0 -1
- package/dist/submitSurvey/useSurveyPagination.d.ts +0 -0
- package/dist/submitSurvey/useSurveyPagination.js +0 -1
- package/dist/submitSurvey/utils/constants.d.ts +0 -5
- package/dist/submitSurvey/utils/constants.d.ts.map +0 -1
- package/dist/submitSurvey/utils/constants.js +0 -8
- package/dist/submitSurvey/utils/constants.js.map +0 -1
- package/dist/submitSurvey/utils/formatters.d.ts +0 -12
- package/dist/submitSurvey/utils/formatters.d.ts.map +0 -1
- package/dist/submitSurvey/utils/formatters.js +0 -29
- package/dist/submitSurvey/utils/formatters.js.map +0 -1
- package/dist/submitSurvey/utils/index.d.ts +0 -5
- package/dist/submitSurvey/utils/index.d.ts.map +0 -1
- package/dist/submitSurvey/utils/index.js +0 -21
- package/dist/submitSurvey/utils/index.js.map +0 -1
- package/dist/submitSurvey/utils/url.d.ts +0 -9
- package/dist/submitSurvey/utils/url.d.ts.map +0 -1
- package/dist/submitSurvey/utils/url.js +0 -20
- package/dist/submitSurvey/utils/url.js.map +0 -1
- package/dist/submitSurvey/utils/validation.d.ts +0 -20
- package/dist/submitSurvey/utils/validation.d.ts.map +0 -1
- package/dist/submitSurvey/utils/validation.js +0 -43
- package/dist/submitSurvey/utils/validation.js.map +0 -1
- package/dist/surveyPagination/actions/index.d.ts +0 -5
- package/dist/surveyPagination/actions/index.d.ts.map +0 -1
- package/dist/surveyPagination/actions/index.js +0 -12
- package/dist/surveyPagination/actions/index.js.map +0 -1
- package/dist/surveyPagination/actions/useOnBack.d.ts +0 -3
- package/dist/surveyPagination/actions/useOnBack.d.ts.map +0 -1
- package/dist/surveyPagination/actions/useOnBack.js +0 -33
- package/dist/surveyPagination/actions/useOnBack.js.map +0 -1
- package/dist/surveyPagination/actions/useOnChange.d.ts +0 -3
- package/dist/surveyPagination/actions/useOnChange.d.ts.map +0 -1
- package/dist/surveyPagination/actions/useOnChange.js +0 -14
- package/dist/surveyPagination/actions/useOnChange.js.map +0 -1
- package/dist/surveyPagination/actions/useOnNext.d.ts +0 -3
- package/dist/surveyPagination/actions/useOnNext.d.ts.map +0 -1
- package/dist/surveyPagination/actions/useOnNext.js +0 -82
- package/dist/surveyPagination/actions/useOnNext.js.map +0 -1
- package/dist/surveyPagination/actions/useOnSubmit.d.ts +0 -3
- package/dist/surveyPagination/actions/useOnSubmit.d.ts.map +0 -1
- package/dist/surveyPagination/actions/useOnSubmit.js +0 -102
- package/dist/surveyPagination/actions/useOnSubmit.js.map +0 -1
- package/dist/surveyPagination/dispatchers/index.d.ts +0 -4
- package/dist/surveyPagination/dispatchers/index.d.ts.map +0 -1
- package/dist/surveyPagination/dispatchers/index.js +0 -10
- package/dist/surveyPagination/dispatchers/index.js.map +0 -1
- package/dist/surveyPagination/dispatchers/useCheckBacktrackChanges.d.ts +0 -6
- package/dist/surveyPagination/dispatchers/useCheckBacktrackChanges.d.ts.map +0 -1
- package/dist/surveyPagination/dispatchers/useCheckBacktrackChanges.js +0 -28
- package/dist/surveyPagination/dispatchers/useCheckBacktrackChanges.js.map +0 -1
- package/dist/surveyPagination/dispatchers/useTrackOptionalSkips.d.ts +0 -4
- package/dist/surveyPagination/dispatchers/useTrackOptionalSkips.d.ts.map +0 -1
- package/dist/surveyPagination/dispatchers/useTrackOptionalSkips.js +0 -19
- package/dist/surveyPagination/dispatchers/useTrackOptionalSkips.js.map +0 -1
- package/dist/surveyPagination/dispatchers/useTrackPageTime.d.ts +0 -4
- package/dist/surveyPagination/dispatchers/useTrackPageTime.d.ts.map +0 -1
- package/dist/surveyPagination/dispatchers/useTrackPageTime.js +0 -12
- package/dist/surveyPagination/dispatchers/useTrackPageTime.js.map +0 -1
- package/dist/surveyPagination/effects/index.d.ts +0 -3
- package/dist/surveyPagination/effects/index.d.ts.map +0 -1
- package/dist/surveyPagination/effects/index.js +0 -8
- package/dist/surveyPagination/effects/index.js.map +0 -1
- package/dist/surveyPagination/effects/useResetPageStartTime.d.ts +0 -3
- package/dist/surveyPagination/effects/useResetPageStartTime.d.ts.map +0 -1
- package/dist/surveyPagination/effects/useResetPageStartTime.js +0 -11
- package/dist/surveyPagination/effects/useResetPageStartTime.js.map +0 -1
- package/dist/surveyPagination/effects/useSessionUnmountSummary.d.ts +0 -2
- package/dist/surveyPagination/effects/useSessionUnmountSummary.d.ts.map +0 -1
- package/dist/surveyPagination/effects/useSessionUnmountSummary.js +0 -32
- package/dist/surveyPagination/effects/useSessionUnmountSummary.js.map +0 -1
- package/dist/surveyPagination/effects/useTrackMaxVisitedPage.d.ts +0 -3
- package/dist/surveyPagination/effects/useTrackMaxVisitedPage.d.ts.map +0 -1
- package/dist/surveyPagination/effects/useTrackMaxVisitedPage.js +0 -13
- package/dist/surveyPagination/effects/useTrackMaxVisitedPage.js.map +0 -1
- package/dist/surveyPagination/effects/useUpdateAnalyticsContext.d.ts +0 -2
- package/dist/surveyPagination/effects/useUpdateAnalyticsContext.d.ts.map +0 -1
- package/dist/surveyPagination/effects/useUpdateAnalyticsContext.js +0 -15
- package/dist/surveyPagination/effects/useUpdateAnalyticsContext.js.map +0 -1
- package/dist/surveyPagination/logger/navigationLogger.d.ts +0 -7
- package/dist/surveyPagination/logger/navigationLogger.d.ts.map +0 -1
- package/dist/surveyPagination/logger/navigationLogger.js +0 -28
- package/dist/surveyPagination/logger/navigationLogger.js.map +0 -1
- package/dist/surveyPagination/logger/validationLogger.d.ts +0 -5
- package/dist/surveyPagination/logger/validationLogger.d.ts.map +0 -1
- package/dist/surveyPagination/logger/validationLogger.js +0 -20
- package/dist/surveyPagination/logger/validationLogger.js.map +0 -1
- package/dist/surveyPagination/telemetry/pageTelemetry.d.ts +0 -3
- package/dist/surveyPagination/telemetry/pageTelemetry.d.ts.map +0 -1
- package/dist/surveyPagination/telemetry/pageTelemetry.js +0 -25
- package/dist/surveyPagination/telemetry/pageTelemetry.js.map +0 -1
- package/dist/surveyPagination/telemetry/sessionTelemetry.d.ts +0 -8
- package/dist/surveyPagination/telemetry/sessionTelemetry.d.ts.map +0 -1
- package/dist/surveyPagination/telemetry/sessionTelemetry.js +0 -43
- package/dist/surveyPagination/telemetry/sessionTelemetry.js.map +0 -1
- package/dist/surveyPagination/types.d.ts +0 -43
- package/dist/surveyPagination/types.d.ts.map +0 -1
- package/dist/surveyPagination/types.js +0 -3
- package/dist/surveyPagination/types.js.map +0 -1
- package/dist/surveyPagination/useSurveyPagination.d.ts +0 -28
- package/dist/surveyPagination/useSurveyPagination.d.ts.map +0 -1
- package/dist/surveyPagination/useSurveyPagination.js +0 -93
- package/dist/surveyPagination/useSurveyPagination.js.map +0 -1
- package/dist/surveyPagination/utils/index.d.ts +0 -3
- package/dist/surveyPagination/utils/index.d.ts.map +0 -1
- package/dist/surveyPagination/utils/index.js +0 -19
- package/dist/surveyPagination/utils/index.js.map +0 -1
- package/dist/surveyPagination/utils/scroll.d.ts +0 -25
- package/dist/surveyPagination/utils/scroll.d.ts.map +0 -1
- package/dist/surveyPagination/utils/scroll.js +0 -67
- package/dist/surveyPagination/utils/scroll.js.map +0 -1
- package/dist/surveyPagination/utils/validation.d.ts +0 -24
- package/dist/surveyPagination/utils/validation.d.ts.map +0 -1
- package/dist/surveyPagination/utils/validation.js +0 -53
- package/dist/surveyPagination/utils/validation.js.map +0 -1
- package/dist/surveyProgress/useSurveyProgress.d.ts +0 -21
- package/dist/surveyProgress/useSurveyProgress.d.ts.map +0 -1
- package/dist/surveyProgress/useSurveyProgress.js +0 -34
- package/dist/surveyProgress/useSurveyProgress.js.map +0 -1
- package/dist/surveyProgress/utils/index.d.ts +0 -2
- package/dist/surveyProgress/utils/index.d.ts.map +0 -1
- package/dist/surveyProgress/utils/index.js +0 -18
- package/dist/surveyProgress/utils/index.js.map +0 -1
- package/dist/surveyProgress/utils/progress.d.ts +0 -27
- package/dist/surveyProgress/utils/progress.d.ts.map +0 -1
- package/dist/surveyProgress/utils/progress.js +0 -60
- package/dist/surveyProgress/utils/progress.js.map +0 -1
- package/dist/surveySDK/constants.d.ts +0 -10
- package/dist/surveySDK/constants.d.ts.map +0 -1
- package/dist/surveySDK/constants.js +0 -14
- package/dist/surveySDK/constants.js.map +0 -1
- package/dist/surveySDK/types.d.ts +0 -29
- package/dist/surveySDK/types.d.ts.map +0 -1
- package/dist/surveySDK/types.js +0 -3
- package/dist/surveySDK/types.js.map +0 -1
- package/dist/surveySDK/useSurveySDK.d.ts +0 -32
- package/dist/surveySDK/useSurveySDK.d.ts.map +0 -1
- package/dist/surveySDK/useSurveySDK.js +0 -86
- package/dist/surveySDK/useSurveySDK.js.map +0 -1
- package/dist/useFetchSurvey.d.ts +0 -73
- package/dist/useFetchSurvey.d.ts.map +0 -1
- package/dist/useFetchSurvey.js +0 -202
- package/dist/useFetchSurvey.js.map +0 -1
- package/dist/useSubmitResponse.d.ts +0 -40
- package/dist/useSubmitResponse.d.ts.map +0 -1
- package/dist/useSubmitResponse.js +0 -146
- package/dist/useSubmitResponse.js.map +0 -1
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLanguageName = getLanguageName;
|
|
4
|
-
exports.extractSurveyLanguages = extractSurveyLanguages;
|
|
5
|
-
const LANGUAGE_DISPLAY_NAMES = {
|
|
6
|
-
en: 'English',
|
|
7
|
-
hi: 'Hindi',
|
|
8
|
-
de: 'Deutsch',
|
|
9
|
-
es: 'Español',
|
|
10
|
-
fr: 'Français',
|
|
11
|
-
bn: 'Bengali',
|
|
12
|
-
gu: 'Gujarati',
|
|
13
|
-
it: 'Italiano',
|
|
14
|
-
ja: '日本語',
|
|
15
|
-
ko: '한국어',
|
|
16
|
-
mr: 'Marathi',
|
|
17
|
-
pa: 'Punjabi',
|
|
18
|
-
ta: 'Tamil',
|
|
19
|
-
te: 'Telugu',
|
|
20
|
-
ur: 'Urdu',
|
|
21
|
-
zh: '中文',
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Resolves the full human-readable display name for a given language code.
|
|
25
|
-
*
|
|
26
|
-
* @param code The ISO language code (e.g. 'de', 'en').
|
|
27
|
-
* @returns The resolved display name string.
|
|
28
|
-
*/
|
|
29
|
-
function getLanguageName(code) {
|
|
30
|
-
const norm = code.toLowerCase().trim();
|
|
31
|
-
return LANGUAGE_DISPLAY_NAMES[norm] || code.toUpperCase();
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Traverses all questions and translations to gather all unique languages supported by the survey.
|
|
35
|
-
*
|
|
36
|
-
* @param api The raw API response envelope containing the DTO pages.
|
|
37
|
-
* @returns List of supported language objects with code and resolved names.
|
|
38
|
-
*/
|
|
39
|
-
function extractSurveyLanguages(api) {
|
|
40
|
-
const dto = api.cfmSurveyDTO;
|
|
41
|
-
const languagesSet = new Set();
|
|
42
|
-
const defaultLanguage = dto?.baseLanguage ?? 'en';
|
|
43
|
-
languagesSet.add(defaultLanguage);
|
|
44
|
-
if (dto && Array.isArray(dto.surveyPages)) {
|
|
45
|
-
dto.surveyPages.forEach(page => {
|
|
46
|
-
(page.questionHolders ?? []).forEach(holder => {
|
|
47
|
-
const q = holder.question;
|
|
48
|
-
if (q && q.translations) {
|
|
49
|
-
Object.keys(q.translations).forEach(lang => {
|
|
50
|
-
languagesSet.add(lang);
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
return Array.from(languagesSet).map(lang => ({
|
|
57
|
-
code: lang,
|
|
58
|
-
name: getLanguageName(lang),
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=extractSurveyLanguages.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extractSurveyLanguages.js","sourceRoot":"","sources":["../../../src/fetchSurvey/utils/extractSurveyLanguages.ts"],"names":[],"mappings":";;AA4BA,0CAGC;AAQD,wDAuBC;AA3DD,MAAM,sBAAsB,GAA2B;IACrD,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,IAAI;CACT,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,GAAgB;IACrD,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;IAC7B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,eAAe,GAAG,GAAG,EAAE,YAAY,IAAI,IAAI,CAAC;IAClD,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAElC,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7B,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;wBACzC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACzB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;KAC5B,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fetchSurvey/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./constants"), exports);
|
|
18
|
-
__exportStar(require("./url"), exports);
|
|
19
|
-
__exportStar(require("./mappers"), exports);
|
|
20
|
-
__exportStar(require("./extractSurveyLanguages"), exports);
|
|
21
|
-
__exportStar(require("./mapSurveyPages"), exports);
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fetchSurvey/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,wCAAsB;AACtB,4CAA0B;AAC1B,2DAAyC;AACzC,mDAAiC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { SurveyPageData } from '../types';
|
|
2
|
-
import type { ApiResponse } from '../internalTypes';
|
|
3
|
-
/**
|
|
4
|
-
* Maps the raw DTO survey pages and their questions into UI-friendly structure.
|
|
5
|
-
*
|
|
6
|
-
* @param api The raw API response envelope containing survey DTO pages.
|
|
7
|
-
* @param surveyLanguage The resolved target language.
|
|
8
|
-
* @param placeholders Optional dictionary mapping placeholder keys to replacement values.
|
|
9
|
-
* @returns Array of mapped SurveyPageData objects.
|
|
10
|
-
*/
|
|
11
|
-
export declare function mapSurveyPages(api: ApiResponse, surveyLanguage: string, placeholders?: Record<string, string>): SurveyPageData[];
|
|
12
|
-
//# sourceMappingURL=mapSurveyPages.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mapSurveyPages.d.ts","sourceRoot":"","sources":["../../../src/fetchSurvey/utils/mapSurveyPages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGjE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,WAAW,EAChB,cAAc,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,cAAc,EAAE,CAkBlB"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mapSurveyPages = mapSurveyPages;
|
|
4
|
-
const questionMapper_1 = require("./mappers/questionMapper");
|
|
5
|
-
/**
|
|
6
|
-
* Maps the raw DTO survey pages and their questions into UI-friendly structure.
|
|
7
|
-
*
|
|
8
|
-
* @param api The raw API response envelope containing survey DTO pages.
|
|
9
|
-
* @param surveyLanguage The resolved target language.
|
|
10
|
-
* @param placeholders Optional dictionary mapping placeholder keys to replacement values.
|
|
11
|
-
* @returns Array of mapped SurveyPageData objects.
|
|
12
|
-
*/
|
|
13
|
-
function mapSurveyPages(api, surveyLanguage, placeholders) {
|
|
14
|
-
const dto = api.cfmSurveyDTO;
|
|
15
|
-
if (!dto || !Array.isArray(dto.surveyPages)) {
|
|
16
|
-
return [];
|
|
17
|
-
}
|
|
18
|
-
return dto.surveyPages.map((page, index) => {
|
|
19
|
-
const questions = (page.questionHolders ?? [])
|
|
20
|
-
.map(holder => holder.question)
|
|
21
|
-
.filter((q) => Boolean(q))
|
|
22
|
-
.map(q => (0, questionMapper_1.mapQuestion)(q, surveyLanguage, placeholders));
|
|
23
|
-
return {
|
|
24
|
-
id: `page_${index}`,
|
|
25
|
-
title: `Page ${index + 1}`,
|
|
26
|
-
questions,
|
|
27
|
-
};
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=mapSurveyPages.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mapSurveyPages.js","sourceRoot":"","sources":["../../../src/fetchSurvey/utils/mapSurveyPages.ts"],"names":[],"mappings":";;AAYA,wCAsBC;AAhCD,6DAAuD;AAEvD;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,GAAgB,EAChB,cAAsB,EACtB,YAAqC;IAErC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;IAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACzC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;aAC3C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;aAC9B,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,4BAAW,EAAC,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;QAE1D,OAAO;YACL,EAAE,EAAE,QAAQ,KAAK,EAAE;YACnB,KAAK,EAAE,QAAQ,KAAK,GAAG,CAAC,EAAE;YAC1B,SAAS;SACV,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fetchSurvey/utils/mappers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./questionMapper"), exports);
|
|
18
|
-
__exportStar(require("./surveyMapper"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fetchSurvey/utils/mappers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,iDAA+B"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import type { SurveyOption, SurveyQuestion } from '../../types';
|
|
2
|
-
import type { ApiAnswerDetail, ApiQuestion } from '../../internalTypes';
|
|
3
|
-
/**
|
|
4
|
-
* Normalizes different API string types to standardized UI question types.
|
|
5
|
-
*
|
|
6
|
-
* @param answerType The raw type string from the API.
|
|
7
|
-
* @returns Standardized widget representation ("rating" or "radio").
|
|
8
|
-
*/
|
|
9
|
-
export declare function normalizeType(answerType?: string): 'rating' | 'radio' | 'text';
|
|
10
|
-
/**
|
|
11
|
-
* Retrieves color representation based on rating scores.
|
|
12
|
-
* Matches client's 11-point NPS scale layout with a dynamic HSL fallback for other scale lengths.
|
|
13
|
-
*
|
|
14
|
-
* @param value Numerical score of the rating option.
|
|
15
|
-
* @returns Hex or HSL color string.
|
|
16
|
-
*/
|
|
17
|
-
export declare function getColor(value: number): string;
|
|
18
|
-
/**
|
|
19
|
-
* Extracts helper boundaries / label text (e.g., "Not Likely" at min, "Neutral" at mid, and "Extremely Likely" at max)
|
|
20
|
-
* from the list of raw answer options returned by the API.
|
|
21
|
-
*
|
|
22
|
-
* @param answerDetails The list of answer details containing hint definitions.
|
|
23
|
-
* @param language Optional language code to fetch the translated label text.
|
|
24
|
-
* @returns Object holding resolved labels.
|
|
25
|
-
*/
|
|
26
|
-
export declare function extractHintLabels(answerDetails?: ApiAnswerDetail[], language?: string): {
|
|
27
|
-
minLabel?: string;
|
|
28
|
-
midLabel?: string;
|
|
29
|
-
maxLabel?: string;
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Builds option models that are safe for components to select and render.
|
|
33
|
-
* Generates automated numerical sequences for ratings if the server doesn't explicitly define options.
|
|
34
|
-
*
|
|
35
|
-
* @param question Raw API Question data structure.
|
|
36
|
-
* @param type The normalized UI question type.
|
|
37
|
-
* @param language Optional language code to fetch translated labels.
|
|
38
|
-
* @returns Mapped survey options list.
|
|
39
|
-
*/
|
|
40
|
-
export declare function buildOptions(question: ApiQuestion, type: 'rating' | 'radio' | 'text', language?: string): SurveyOption[];
|
|
41
|
-
export declare function mapQuestion(raw: ApiQuestion, language?: string, placeholders?: Record<string, string>): SurveyQuestion;
|
|
42
|
-
//# sourceMappingURL=questionMapper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"questionMapper.d.ts","sourceRoot":"","sources":["../../../../src/fetchSurvey/utils/mappers/questionMapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAExE;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAW9E;AAgBD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,GAAE,eAAe,EAAO,EACrC,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAqB7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,EACjC,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY,EAAE,CA6ChB;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,WAAW,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,cAAc,CAkEhB"}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeType = normalizeType;
|
|
4
|
-
exports.getColor = getColor;
|
|
5
|
-
exports.extractHintLabels = extractHintLabels;
|
|
6
|
-
exports.buildOptions = buildOptions;
|
|
7
|
-
exports.mapQuestion = mapQuestion;
|
|
8
|
-
/**
|
|
9
|
-
* Normalizes different API string types to standardized UI question types.
|
|
10
|
-
*
|
|
11
|
-
* @param answerType The raw type string from the API.
|
|
12
|
-
* @returns Standardized widget representation ("rating" or "radio").
|
|
13
|
-
*/
|
|
14
|
-
function normalizeType(answerType) {
|
|
15
|
-
const type = (answerType ?? '').toUpperCase();
|
|
16
|
-
if (type === 'TEXTFIELD') {
|
|
17
|
-
return 'text';
|
|
18
|
-
}
|
|
19
|
-
// Group ratings, numeric scale questions, and matrix components into a rating widget.
|
|
20
|
-
if (type === 'RATING' || type === 'SCALE' || type === 'RATING_MATRIX') {
|
|
21
|
-
return 'rating';
|
|
22
|
-
}
|
|
23
|
-
// Fallback to standard multiple-choice radio option layout.
|
|
24
|
-
return 'radio';
|
|
25
|
-
}
|
|
26
|
-
const SCALE_COLORS = [
|
|
27
|
-
'#e2001a', // 0
|
|
28
|
-
'#e4251b', // 1
|
|
29
|
-
'#ec610a', // 2
|
|
30
|
-
'#f18b00', // 3
|
|
31
|
-
'#f7b200', // 4
|
|
32
|
-
'#fcd900', // 5
|
|
33
|
-
'#d2dc00', // 6
|
|
34
|
-
'#9fca00', // 7
|
|
35
|
-
'#6bb300', // 8
|
|
36
|
-
'#339a00', // 9
|
|
37
|
-
'#008000', // 10
|
|
38
|
-
];
|
|
39
|
-
/**
|
|
40
|
-
* Retrieves color representation based on rating scores.
|
|
41
|
-
* Matches client's 11-point NPS scale layout with a dynamic HSL fallback for other scale lengths.
|
|
42
|
-
*
|
|
43
|
-
* @param value Numerical score of the rating option.
|
|
44
|
-
* @returns Hex or HSL color string.
|
|
45
|
-
*/
|
|
46
|
-
function getColor(value) {
|
|
47
|
-
// If the value corresponds to our predefined 11-point scale, return the exact color.
|
|
48
|
-
return SCALE_COLORS[value] ?? '#e20074';
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Extracts helper boundaries / label text (e.g., "Not Likely" at min, "Neutral" at mid, and "Extremely Likely" at max)
|
|
52
|
-
* from the list of raw answer options returned by the API.
|
|
53
|
-
*
|
|
54
|
-
* @param answerDetails The list of answer details containing hint definitions.
|
|
55
|
-
* @param language Optional language code to fetch the translated label text.
|
|
56
|
-
* @returns Object holding resolved labels.
|
|
57
|
-
*/
|
|
58
|
-
function extractHintLabels(answerDetails = [], language) {
|
|
59
|
-
// Filter answer details that are flagged as hint text and are not hidden.
|
|
60
|
-
const hints = answerDetails
|
|
61
|
-
.filter(a => a.additional?.isHintText && !a.hidden)
|
|
62
|
-
.map(a => (language && a.translations?.[language]?.answerText) || a.answerText || '')
|
|
63
|
-
.filter(Boolean);
|
|
64
|
-
if (hints.length >= 3) {
|
|
65
|
-
return {
|
|
66
|
-
minLabel: hints[0],
|
|
67
|
-
midLabel: hints[1],
|
|
68
|
-
maxLabel: hints[2],
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
return {
|
|
72
|
-
// The first hint represents the minimum bounds label.
|
|
73
|
-
minLabel: hints[0],
|
|
74
|
-
// The second hint represents the maximum bounds label.
|
|
75
|
-
maxLabel: hints[1],
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Builds option models that are safe for components to select and render.
|
|
80
|
-
* Generates automated numerical sequences for ratings if the server doesn't explicitly define options.
|
|
81
|
-
*
|
|
82
|
-
* @param question Raw API Question data structure.
|
|
83
|
-
* @param type The normalized UI question type.
|
|
84
|
-
* @param language Optional language code to fetch translated labels.
|
|
85
|
-
* @returns Mapped survey options list.
|
|
86
|
-
*/
|
|
87
|
-
function buildOptions(question, type, language) {
|
|
88
|
-
if (type === 'text') {
|
|
89
|
-
return [];
|
|
90
|
-
}
|
|
91
|
-
const answerDetails = question.answerDetails ?? [];
|
|
92
|
-
// Filter out any hidden entries and metadata labels (hints) to get selectable responses.
|
|
93
|
-
const selectable = answerDetails.filter(a => !a.hidden && !a.additional?.isHintText);
|
|
94
|
-
// If the API defines explicit selectable options, parse them.
|
|
95
|
-
if (selectable.length > 0) {
|
|
96
|
-
const options = selectable.map(a => {
|
|
97
|
-
const rawText = (language && a.translations?.[language]?.answerText) || a.answerText || '';
|
|
98
|
-
const rawValue = a.answerText ?? '';
|
|
99
|
-
const numeric = Number(rawValue);
|
|
100
|
-
// Determine if value should be treated as a pure number or string.
|
|
101
|
-
const value = Number.isFinite(numeric) && rawValue.trim() !== '' ? numeric : rawValue;
|
|
102
|
-
const option = {
|
|
103
|
-
label: rawText,
|
|
104
|
-
value,
|
|
105
|
-
};
|
|
106
|
-
// Assign rating color styles if it is a rating scale question with numeric values.
|
|
107
|
-
if (type === 'rating' && typeof value === 'number') {
|
|
108
|
-
option.color = getColor(value);
|
|
109
|
-
}
|
|
110
|
-
return option;
|
|
111
|
-
});
|
|
112
|
-
return options;
|
|
113
|
-
}
|
|
114
|
-
// If no options are provided but the question is a rating, default to a standard 0 to 10 scale.
|
|
115
|
-
if (type === 'rating') {
|
|
116
|
-
const options = Array.from({ length: 11 }, (_, i) => ({
|
|
117
|
-
label: String(i),
|
|
118
|
-
value: i,
|
|
119
|
-
color: getColor(i),
|
|
120
|
-
}));
|
|
121
|
-
return options;
|
|
122
|
-
}
|
|
123
|
-
return [];
|
|
124
|
-
}
|
|
125
|
-
function mapQuestion(raw, language, placeholders) {
|
|
126
|
-
const type = normalizeType(raw.answerType);
|
|
127
|
-
const { minLabel, midLabel, maxLabel } = extractHintLabels(raw.answerDetails, language);
|
|
128
|
-
const options = buildOptions(raw, type, language);
|
|
129
|
-
const questionId = raw.id ?? '';
|
|
130
|
-
const configs = raw.questionConfigs ?? [];
|
|
131
|
-
const required = configs.find(c => c.key === 'REQUIRED')?.value?.[0] === 'true';
|
|
132
|
-
const reqErrConfig = configs.find(c => c.key === 'REQUIRED_ERROR_MESSAGE');
|
|
133
|
-
let requiredErrorMessage = reqErrConfig?.value?.[0];
|
|
134
|
-
if (language && reqErrConfig?.translations?.[language]?.value?.[0]) {
|
|
135
|
-
requiredErrorMessage = reqErrConfig.translations[language].value[0];
|
|
136
|
-
}
|
|
137
|
-
const contentTypeConfig = configs.find(c => c.key === 'CONTENT_TYPE');
|
|
138
|
-
const maxCharConfig = contentTypeConfig?.childConfigs?.find(cc => cc.key === 'MAX_CHARACTER_COUNT');
|
|
139
|
-
const maxCharacterCount = maxCharConfig?.value?.[0] ? Number(maxCharConfig.value[0]) : undefined;
|
|
140
|
-
let midLabelIndex = undefined;
|
|
141
|
-
if (type === 'rating' && midLabel) {
|
|
142
|
-
if (options.length === 11) {
|
|
143
|
-
midLabelIndex = 7.5;
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
midLabelIndex = (options.length - 1) / 2;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
let text = (language && raw.translations?.[language]?.questionRichText) ||
|
|
150
|
-
(language && raw.translations?.[language]?.questionText) ||
|
|
151
|
-
raw.questionRichText ||
|
|
152
|
-
raw.questionText ||
|
|
153
|
-
'';
|
|
154
|
-
if (placeholders) {
|
|
155
|
-
text = text.replace(/\{\{(\w+)\}\}/g, (match, key) => {
|
|
156
|
-
return placeholders[key] !== undefined ? placeholders[key] : match;
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
// Extract text input placeholder from answerDetails
|
|
160
|
-
let placeholder = undefined;
|
|
161
|
-
if (type === 'text') {
|
|
162
|
-
const textDetail = raw.answerDetails?.[0];
|
|
163
|
-
if (textDetail) {
|
|
164
|
-
placeholder = (language && textDetail.translations?.[language]?.answerText) || textDetail.answerText;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
const question = {
|
|
168
|
-
id: questionId,
|
|
169
|
-
text,
|
|
170
|
-
type,
|
|
171
|
-
options,
|
|
172
|
-
required,
|
|
173
|
-
...(requiredErrorMessage ? { requiredErrorMessage } : {}),
|
|
174
|
-
...(minLabel ? { minLabel } : {}),
|
|
175
|
-
...(midLabel ? { midLabel } : {}),
|
|
176
|
-
...(midLabelIndex !== undefined ? { midLabelIndex } : {}),
|
|
177
|
-
...(maxLabel ? { maxLabel } : {}),
|
|
178
|
-
...(maxCharacterCount !== undefined ? { maxCharacterCount } : {}),
|
|
179
|
-
...(placeholder ? { placeholder } : {}),
|
|
180
|
-
};
|
|
181
|
-
return question;
|
|
182
|
-
}
|
|
183
|
-
//# sourceMappingURL=questionMapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"questionMapper.js","sourceRoot":"","sources":["../../../../src/fetchSurvey/utils/mappers/questionMapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"questionMapper.test.d.ts","sourceRoot":"","sources":["../../../../src/fetchSurvey/utils/mappers/questionMapper.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const questionMapper_1 = require("./questionMapper");
|
|
5
|
-
(0, vitest_1.describe)('questionMapper translation logic', () => {
|
|
6
|
-
const mockApiQuestion = {
|
|
7
|
-
id: 'q1',
|
|
8
|
-
answerType: 'RATING',
|
|
9
|
-
questionText: 'How are you?',
|
|
10
|
-
translations: {
|
|
11
|
-
fr: {
|
|
12
|
-
questionText: 'Comment allez-vous?'
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
answerDetails: [
|
|
16
|
-
{
|
|
17
|
-
answerText: '0',
|
|
18
|
-
translations: {
|
|
19
|
-
fr: { answerText: 'Zéro' }
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
answerText: '10',
|
|
24
|
-
translations: {
|
|
25
|
-
fr: { answerText: 'Dix' }
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
// Hint text
|
|
29
|
-
{
|
|
30
|
-
answerText: 'Very Bad',
|
|
31
|
-
additional: { isHintText: true },
|
|
32
|
-
translations: { fr: { answerText: 'Très Mal' } }
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
answerText: 'Very Good',
|
|
36
|
-
additional: { isHintText: true },
|
|
37
|
-
translations: { fr: { answerText: 'Très Bien' } }
|
|
38
|
-
}
|
|
39
|
-
],
|
|
40
|
-
questionConfigs: [
|
|
41
|
-
{
|
|
42
|
-
key: 'REQUIRED_ERROR_MESSAGE',
|
|
43
|
-
value: ['This field is required'],
|
|
44
|
-
translations: {
|
|
45
|
-
fr: {
|
|
46
|
-
value: ['Ce champ est obligatoire']
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
]
|
|
51
|
-
};
|
|
52
|
-
(0, vitest_1.it)('returns base language text when no language is passed', () => {
|
|
53
|
-
const question = (0, questionMapper_1.mapQuestion)(mockApiQuestion);
|
|
54
|
-
// Base question text
|
|
55
|
-
(0, vitest_1.expect)(question.text).toBe('How are you?');
|
|
56
|
-
// Base options
|
|
57
|
-
(0, vitest_1.expect)(question.options[0].label).toBe('0');
|
|
58
|
-
(0, vitest_1.expect)(question.options[1].label).toBe('10');
|
|
59
|
-
// Base hints
|
|
60
|
-
(0, vitest_1.expect)(question.minLabel).toBe('Very Bad');
|
|
61
|
-
(0, vitest_1.expect)(question.maxLabel).toBe('Very Good');
|
|
62
|
-
// Base error message
|
|
63
|
-
(0, vitest_1.expect)(question.requiredErrorMessage).toBe('This field is required');
|
|
64
|
-
});
|
|
65
|
-
(0, vitest_1.it)('returns translated text when a specific language is passed', () => {
|
|
66
|
-
const question = (0, questionMapper_1.mapQuestion)(mockApiQuestion, 'fr');
|
|
67
|
-
// Translated question text
|
|
68
|
-
(0, vitest_1.expect)(question.text).toBe('Comment allez-vous?');
|
|
69
|
-
// Translated options
|
|
70
|
-
(0, vitest_1.expect)(question.options[0].label).toBe('Zéro');
|
|
71
|
-
(0, vitest_1.expect)(question.options[1].label).toBe('Dix');
|
|
72
|
-
// Translated hints
|
|
73
|
-
(0, vitest_1.expect)(question.minLabel).toBe('Très Mal');
|
|
74
|
-
(0, vitest_1.expect)(question.maxLabel).toBe('Très Bien');
|
|
75
|
-
// Translated error message
|
|
76
|
-
(0, vitest_1.expect)(question.requiredErrorMessage).toBe('Ce champ est obligatoire');
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
//# sourceMappingURL=questionMapper.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"questionMapper.test.js","sourceRoot":"","sources":["../../../../src/fetchSurvey/utils/mappers/questionMapper.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { Survey, SurveySession } from '../../types';
|
|
2
|
-
import type { ApiQuestion, ApiResponse } from '../../internalTypes';
|
|
3
|
-
/**
|
|
4
|
-
* Traverses different possible nesting structures of the Survey API configuration
|
|
5
|
-
* to extract a flat list of questions.
|
|
6
|
-
*
|
|
7
|
-
* @param api The root API response envelope.
|
|
8
|
-
* @returns Array of Raw API Questions.
|
|
9
|
-
*/
|
|
10
|
-
export declare function extractQuestions(api: ApiResponse): ApiQuestion[];
|
|
11
|
-
/**
|
|
12
|
-
* Extracts and initializes the session tracking metadata if the API returns a valid instance ID.
|
|
13
|
-
*
|
|
14
|
-
* @param api The root API response envelope.
|
|
15
|
-
* @returns SurveySession details or null if invalid.
|
|
16
|
-
*/
|
|
17
|
-
export declare function extractSession(api: ApiResponse): SurveySession | null;
|
|
18
|
-
/**
|
|
19
|
-
* Resolves the primary survey language based on input selection and API fallback values.
|
|
20
|
-
*
|
|
21
|
-
* @param api The raw API response envelope.
|
|
22
|
-
* @param language Optional target language selection override.
|
|
23
|
-
* @returns The resolved language code.
|
|
24
|
-
*/
|
|
25
|
-
export declare function resolveSurveyLanguage(api: ApiResponse, language?: string): string;
|
|
26
|
-
/**
|
|
27
|
-
* Maps the raw API response layout configuration into a clean Survey data structure.
|
|
28
|
-
* Handles localization language setup and placeholder parsing.
|
|
29
|
-
*
|
|
30
|
-
* @param api The raw API response envelope.
|
|
31
|
-
* @param language Optional language locale string override.
|
|
32
|
-
* @param placeholders Optional dictionary mapping placeholder keys to replacement values.
|
|
33
|
-
* @returns The fully mapped Survey object.
|
|
34
|
-
*/
|
|
35
|
-
export declare function mapSurvey(api: ApiResponse, language?: string, placeholders?: Record<string, string>): Survey;
|
|
36
|
-
//# sourceMappingURL=surveyMapper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"surveyMapper.d.ts","sourceRoot":"","sources":["../../../../src/fetchSurvey/utils/mappers/surveyMapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAkB,aAAa,EAAkB,MAAM,aAAa,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIpE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,EAAE,CAKhE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,aAAa,GAAG,IAAI,CAQrE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAW5G"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractQuestions = extractQuestions;
|
|
4
|
-
exports.extractSession = extractSession;
|
|
5
|
-
exports.resolveSurveyLanguage = resolveSurveyLanguage;
|
|
6
|
-
exports.mapSurvey = mapSurvey;
|
|
7
|
-
const extractSurveyLanguages_1 = require("../extractSurveyLanguages");
|
|
8
|
-
const mapSurveyPages_1 = require("../mapSurveyPages");
|
|
9
|
-
/**
|
|
10
|
-
* Traverses different possible nesting structures of the Survey API configuration
|
|
11
|
-
* to extract a flat list of questions.
|
|
12
|
-
*
|
|
13
|
-
* @param api The root API response envelope.
|
|
14
|
-
* @returns Array of Raw API Questions.
|
|
15
|
-
*/
|
|
16
|
-
function extractQuestions(api) {
|
|
17
|
-
const surveyPages = api.cfmSurveyDTO?.surveyPages ?? [];
|
|
18
|
-
return surveyPages.flatMap(page => page.questionHolders?.map(holder => holder.question).filter((q) => Boolean(q)) ?? []);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Extracts and initializes the session tracking metadata if the API returns a valid instance ID.
|
|
22
|
-
*
|
|
23
|
-
* @param api The root API response envelope.
|
|
24
|
-
* @returns SurveySession details or null if invalid.
|
|
25
|
-
*/
|
|
26
|
-
function extractSession(api) {
|
|
27
|
-
if (!api.instanceId?.trim())
|
|
28
|
-
return null;
|
|
29
|
-
return {
|
|
30
|
-
instanceId: api.instanceId.trim(),
|
|
31
|
-
// Resolve survey language, falling back to base language configuration.
|
|
32
|
-
language: api.surveyLanguage ?? api.cfmSurveyDTO?.baseLanguage ?? 'en',
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Resolves the primary survey language based on input selection and API fallback values.
|
|
37
|
-
*
|
|
38
|
-
* @param api The raw API response envelope.
|
|
39
|
-
* @param language Optional target language selection override.
|
|
40
|
-
* @returns The resolved language code.
|
|
41
|
-
*/
|
|
42
|
-
function resolveSurveyLanguage(api, language) {
|
|
43
|
-
return language ?? api.surveyLanguage ?? api.cfmSurveyDTO?.baseLanguage ?? 'en';
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Maps the raw API response layout configuration into a clean Survey data structure.
|
|
47
|
-
* Handles localization language setup and placeholder parsing.
|
|
48
|
-
*
|
|
49
|
-
* @param api The raw API response envelope.
|
|
50
|
-
* @param language Optional language locale string override.
|
|
51
|
-
* @param placeholders Optional dictionary mapping placeholder keys to replacement values.
|
|
52
|
-
* @returns The fully mapped Survey object.
|
|
53
|
-
*/
|
|
54
|
-
function mapSurvey(api, language, placeholders) {
|
|
55
|
-
const surveyLanguage = resolveSurveyLanguage(api, language);
|
|
56
|
-
const languages = (0, extractSurveyLanguages_1.extractSurveyLanguages)(api);
|
|
57
|
-
const pages = (0, mapSurveyPages_1.mapSurveyPages)(api, surveyLanguage, placeholders);
|
|
58
|
-
return {
|
|
59
|
-
id: api.cfmSurveyDTO?.id ?? '',
|
|
60
|
-
language: surveyLanguage,
|
|
61
|
-
languages,
|
|
62
|
-
pages,
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=surveyMapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"surveyMapper.js","sourceRoot":"","sources":["../../../../src/fetchSurvey/utils/mappers/surveyMapper.ts"],"names":[],"mappings":";;AAYA,4CAKC;AAQD,wCAQC;AASD,sDAEC;AAWD,8BAWC;AAhED,sEAAmE;AACnE,sDAAmD;AAEnD;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,GAAgB;IAC/C,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,EAAE,WAAW,IAAI,EAAE,CAAC;IACxD,OAAO,WAAW,CAAC,OAAO,CACxB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAC/G,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,GAAgB;IAC7C,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAEzC,OAAO;QACL,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE;QACjC,wEAAwE;QACxE,QAAQ,EAAE,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,YAAY,EAAE,YAAY,IAAI,IAAI;KACvE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,GAAgB,EAAE,QAAiB;IACvE,OAAO,QAAQ,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,YAAY,EAAE,YAAY,IAAI,IAAI,CAAC;AAClF,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,SAAS,CAAC,GAAgB,EAAE,QAAiB,EAAE,YAAqC;IAClG,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAA,+CAAsB,EAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAA,+BAAc,EAAC,GAAG,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IAEhE,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE;QAC9B,QAAQ,EAAE,cAAc;QACxB,SAAS;QACT,KAAK;KACN,CAAC;AACJ,CAAC"}
|