@explorer02/cfm-survey-sdk 0.0.9 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +127 -0
- package/dist/index.d.ts +127 -3
- package/dist/index.js +1 -6
- package/dist/index.mjs +1 -0
- package/package.json +15 -8
- 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/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,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,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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Constructs the external URL used to call the remote survey service api.
|
|
3
|
-
*
|
|
4
|
-
* @param instanceId The instance identifier token.
|
|
5
|
-
* @returns Fully constructed target URL.
|
|
6
|
-
*/
|
|
7
|
-
export declare function buildExternalSurveyUrl(instanceId: string): string;
|
|
8
|
-
/**
|
|
9
|
-
* High-level function that constructs the survey fetch URL.
|
|
10
|
-
*
|
|
11
|
-
* @returns Target URL for fetch requests.
|
|
12
|
-
*/
|
|
13
|
-
export declare function buildSurveyUrl(instanceId?: string): string;
|
|
14
|
-
//# sourceMappingURL=url.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/fetchSurvey/utils/url.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAK1D"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildExternalSurveyUrl = buildExternalSurveyUrl;
|
|
4
|
-
exports.buildSurveyUrl = buildSurveyUrl;
|
|
5
|
-
const constants_1 = require("./constants");
|
|
6
|
-
/**
|
|
7
|
-
* Constructs the external URL used to call the remote survey service api.
|
|
8
|
-
*
|
|
9
|
-
* @param instanceId The instance identifier token.
|
|
10
|
-
* @returns Fully constructed target URL.
|
|
11
|
-
*/
|
|
12
|
-
function buildExternalSurveyUrl(instanceId) {
|
|
13
|
-
return `${constants_1.SURVEY_BASE_URL}?instanceId=${encodeURIComponent(instanceId)}&draftPreview=false`;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* High-level function that constructs the survey fetch URL.
|
|
17
|
-
*
|
|
18
|
-
* @returns Target URL for fetch requests.
|
|
19
|
-
*/
|
|
20
|
-
function buildSurveyUrl(instanceId) {
|
|
21
|
-
const targetId = typeof instanceId === 'string' && instanceId.trim().length > 0
|
|
22
|
-
? instanceId.trim()
|
|
23
|
-
: constants_1.DEFAULT_INSTANCE_ID;
|
|
24
|
-
return buildExternalSurveyUrl(targetId);
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=url.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/fetchSurvey/utils/url.ts"],"names":[],"mappings":";;AAQA,wDAEC;AAOD,wCAKC;AAtBD,2CAAmE;AAEnE;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,UAAkB;IACvD,OAAO,GAAG,2BAAe,eAAe,kBAAkB,CAAC,UAAU,CAAC,qBAAqB,CAAC;AAC9F,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,UAAmB;IAChD,MAAM,QAAQ,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC7E,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE;QACnB,CAAC,CAAC,+BAAmB,CAAC;IACxB,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validates whether the provided instance ID is a valid three-part JWT token structure.
|
|
3
|
-
*
|
|
4
|
-
* @param value The instanceId string to check.
|
|
5
|
-
* @returns Boolean representing validity.
|
|
6
|
-
*/
|
|
7
|
-
export declare function isValidInstanceId(value?: string | null): value is string;
|
|
8
|
-
/**
|
|
9
|
-
* Resolves a given instanceId to a valid format, falling back to the default instance ID
|
|
10
|
-
* if the provided ID is structurally invalid.
|
|
11
|
-
*
|
|
12
|
-
* @param instanceId Raw input instance ID.
|
|
13
|
-
* @returns Valid resolved instance ID.
|
|
14
|
-
*/
|
|
15
|
-
export declare function resolveInstanceId(instanceId?: string | null): string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/fetchSurvey/utils/validation.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,IAAI,MAAM,CAKxE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAWpE"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isValidInstanceId = isValidInstanceId;
|
|
4
|
-
exports.resolveInstanceId = resolveInstanceId;
|
|
5
|
-
const constants_1 = require("./constants");
|
|
6
|
-
const logger_1 = require("../../logger/logger");
|
|
7
|
-
/**
|
|
8
|
-
* Validates whether the provided instance ID is a valid three-part JWT token structure.
|
|
9
|
-
*
|
|
10
|
-
* @param value The instanceId string to check.
|
|
11
|
-
* @returns Boolean representing validity.
|
|
12
|
-
*/
|
|
13
|
-
function isValidInstanceId(value) {
|
|
14
|
-
// If the value is undefined, null, or empty whitespace, it's invalid.
|
|
15
|
-
if (!value?.trim())
|
|
16
|
-
return false;
|
|
17
|
-
// A standard JWT structure contains three dot-separated Base64 segments.
|
|
18
|
-
return value.trim().split('.').length === 3;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Resolves a given instanceId to a valid format, falling back to the default instance ID
|
|
22
|
-
* if the provided ID is structurally invalid.
|
|
23
|
-
*
|
|
24
|
-
* @param instanceId Raw input instance ID.
|
|
25
|
-
* @returns Valid resolved instance ID.
|
|
26
|
-
*/
|
|
27
|
-
function resolveInstanceId(instanceId) {
|
|
28
|
-
if (isValidInstanceId(instanceId)) {
|
|
29
|
-
return instanceId.trim();
|
|
30
|
-
}
|
|
31
|
-
const rawId = instanceId;
|
|
32
|
-
if (typeof rawId === 'string' && rawId.trim() !== '') {
|
|
33
|
-
logger_1.sdkLogger.warn(`The provided instanceId "${rawId}" is structurally invalid (expected a 3-part JWT). Falling back to default survey ID: ${constants_1.DEFAULT_INSTANCE_ID}`);
|
|
34
|
-
}
|
|
35
|
-
return constants_1.DEFAULT_INSTANCE_ID;
|
|
36
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/fetchSurvey/utils/validation.ts"],"names":[],"mappings":";;AASA,8CAKC;AASD,8CAWC;AAlCD,2CAAkD;AAClD,gDAAgD;AAEhD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,KAAqB;IACrD,sEAAsE;IACtE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC;IACjC,yEAAyE;IACzE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,UAA0B;IAC1D,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,KAAK,GAAG,UAAiB,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,kBAAS,CAAC,IAAI,CACZ,4BAA4B,KAAK,yFAAyF,+BAAmB,EAAE,CAChJ,CAAC;IACJ,CAAC;IACD,OAAO,+BAAmB,CAAC;AAC7B,CAAC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,8BAA8B,CAAC"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yDAAwD;AAA/C,4GAAA,YAAY,OAAA"}
|
package/dist/logger/logger.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'success' | 'perf' | 'analytics';
|
|
2
|
-
/**
|
|
3
|
-
* A central namespace containing logging helpers for debugging, warnings, success,
|
|
4
|
-
* and API monitoring. Output logs are formatted with custom browser styles.
|
|
5
|
-
*/
|
|
6
|
-
export declare const sdkLogger: {
|
|
7
|
-
setEnabled: (val: boolean) => void;
|
|
8
|
-
isEnabled: () => boolean;
|
|
9
|
-
debug: (msg: string, meta?: any) => void;
|
|
10
|
-
info: (msg: string, meta?: any) => void;
|
|
11
|
-
warn: (msg: string, meta?: any) => void;
|
|
12
|
-
error: (msg: string, meta?: any) => void;
|
|
13
|
-
success: (msg: string, meta?: any) => void;
|
|
14
|
-
analytics: (msg: string, meta?: any) => void;
|
|
15
|
-
perf: (metric: {
|
|
16
|
-
apiName: string;
|
|
17
|
-
durationMs: number;
|
|
18
|
-
status: number | string;
|
|
19
|
-
url: string;
|
|
20
|
-
requestSize?: string;
|
|
21
|
-
responseSize?: string;
|
|
22
|
-
payloadSize?: string;
|
|
23
|
-
success: boolean;
|
|
24
|
-
}) => void;
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;AAqC9F;;;GAGG;AACH,eAAO,MAAM,SAAS;sBACF,OAAO;;iBAMZ,MAAM,SAAS,GAAG;gBACnB,MAAM,SAAS,GAAG;gBAClB,MAAM,SAAS,GAAG;iBACjB,MAAM,SAAS,GAAG;mBAChB,MAAM,SAAS,GAAG;qBAChB,MAAM,SAAS,GAAG;mBACpB;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KAClB;CAOF,CAAC"}
|
package/dist/logger/logger.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sdkLogger = void 0;
|
|
4
|
-
let loggingEnabled = false;
|
|
5
|
-
// CSS styles for console log level badges
|
|
6
|
-
const BADGE_STYLES = {
|
|
7
|
-
debug: 'background: #7f8c8d; color: #fff; padding: 2px 5px; border-radius: 3px; font-weight: bold;',
|
|
8
|
-
info: 'background: #2980b9; color: #fff; padding: 2px 5px; border-radius: 3px; font-weight: bold;',
|
|
9
|
-
warn: 'background: #f1c40f; color: #000; padding: 2px 5px; border-radius: 3px; font-weight: bold;',
|
|
10
|
-
error: 'background: #e74c3c; color: #fff; padding: 2px 5px; border-radius: 3px; font-weight: bold;',
|
|
11
|
-
success: 'background: #2ecc71; color: #fff; padding: 2px 5px; border-radius: 3px; font-weight: bold;',
|
|
12
|
-
perf: 'background: #9b59b6; color: #fff; padding: 2px 5px; border-radius: 3px; font-weight: bold;',
|
|
13
|
-
analytics: 'background: #e20074; color: #fff; padding: 2px 5px; border-radius: 3px; font-weight: bold;',
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Writes formatted badges and log details into the console if logging is enabled.
|
|
17
|
-
* Note: analytics level logs are always printed regardless of debug settings.
|
|
18
|
-
*
|
|
19
|
-
* @param level Logging categorization level (debug, info, warn, error, success, analytics).
|
|
20
|
-
* @param message Description message text.
|
|
21
|
-
* @param meta Optional auxiliary metadata/payload.
|
|
22
|
-
*/
|
|
23
|
-
function writeLog(level, message, meta) {
|
|
24
|
-
if (!loggingEnabled && level !== 'analytics')
|
|
25
|
-
return;
|
|
26
|
-
const timestamp = new Date().toLocaleTimeString();
|
|
27
|
-
const badge = `%c[SDK:${level.toUpperCase()}]`;
|
|
28
|
-
const style = BADGE_STYLES[level];
|
|
29
|
-
if (meta !== undefined) {
|
|
30
|
-
console.log(`[${timestamp}] ${badge}`, style, message, meta);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
console.log(`[${timestamp}] ${badge}`, style, message);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* A central namespace containing logging helpers for debugging, warnings, success,
|
|
38
|
-
* and API monitoring. Output logs are formatted with custom browser styles.
|
|
39
|
-
*/
|
|
40
|
-
exports.sdkLogger = {
|
|
41
|
-
setEnabled: (val) => {
|
|
42
|
-
loggingEnabled = val;
|
|
43
|
-
},
|
|
44
|
-
isEnabled: () => {
|
|
45
|
-
return loggingEnabled;
|
|
46
|
-
},
|
|
47
|
-
debug: (msg, meta) => writeLog('debug', msg, meta),
|
|
48
|
-
info: (msg, meta) => writeLog('info', msg, meta),
|
|
49
|
-
warn: (msg, meta) => writeLog('warn', msg, meta),
|
|
50
|
-
error: (msg, meta) => writeLog('error', msg, meta),
|
|
51
|
-
success: (msg, meta) => writeLog('success', msg, meta),
|
|
52
|
-
analytics: (msg, meta) => writeLog('analytics', msg, meta),
|
|
53
|
-
perf: (metric) => {
|
|
54
|
-
writeLog('perf', `${metric.apiName} completed in ${metric.durationMs.toFixed(2)}ms | Status: ${metric.status}`, metric);
|
|
55
|
-
},
|
|
56
|
-
};
|
|
57
|
-
//# sourceMappingURL=logger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":";;;AAEA,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,0CAA0C;AAC1C,MAAM,YAAY,GAA6B;IAC7C,KAAK,EAAE,4FAA4F;IACnG,IAAI,EAAE,4FAA4F;IAClG,IAAI,EAAE,4FAA4F;IAClG,KAAK,EAAE,4FAA4F;IACnG,OAAO,EAAE,4FAA4F;IACrG,IAAI,EAAE,4FAA4F;IAClG,SAAS,EAAE,4FAA4F;CACxG,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,QAAQ,CAAC,KAAe,EAAE,OAAe,EAAE,IAAU;IAC5D,IAAI,CAAC,cAAc,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO;IAErD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,UAAU,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;IAC/C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,KAAK,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,KAAK,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;GAGG;AACU,QAAA,SAAS,GAAG;IACvB,UAAU,EAAE,CAAC,GAAY,EAAE,EAAE;QAC3B,cAAc,GAAG,GAAG,CAAC;IACvB,CAAC;IACD,SAAS,EAAE,GAAG,EAAE;QACd,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,KAAK,EAAE,CAAC,GAAW,EAAE,IAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC;IAChE,IAAI,EAAE,CAAC,GAAW,EAAE,IAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC;IAC9D,IAAI,EAAE,CAAC,GAAW,EAAE,IAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC;IAC9D,KAAK,EAAE,CAAC,GAAW,EAAE,IAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC;IAChE,OAAO,EAAE,CAAC,GAAW,EAAE,IAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC;IACpE,SAAS,EAAE,CAAC,GAAW,EAAE,IAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC;IACxE,IAAI,EAAE,CAAC,MASN,EAAE,EAAE;QACH,QAAQ,CACN,MAAM,EACN,GAAG,MAAM,CAAC,OAAO,iBAAiB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,MAAM,EAAE,EAC7F,MAAM,CACP,CAAC;IACJ,CAAC;CACF,CAAC"}
|
package/dist/queryClient.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queryClient.d.ts","sourceRoot":"","sources":["../src/queryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,eAAO,MAAM,cAAc,aA+DzB,CAAC"}
|
package/dist/queryClient.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sdkQueryClient = void 0;
|
|
4
|
-
const react_query_1 = require("@tanstack/react-query");
|
|
5
|
-
const logger_1 = require("./logger/logger");
|
|
6
|
-
exports.sdkQueryClient = new react_query_1.QueryClient({
|
|
7
|
-
defaultOptions: {
|
|
8
|
-
queries: {
|
|
9
|
-
staleTime: Infinity, // Keep the survey layout cached forever during the session
|
|
10
|
-
refetchOnWindowFocus: false, // Prevent layout flashes when switching browser tabs
|
|
11
|
-
refetchOnReconnect: false, // Avoid redundant network calls on internet reconnection
|
|
12
|
-
refetchInterval: false, // Do not poll (survey metadata is static)
|
|
13
|
-
retryDelay: 5000, // 5 seconds delay between retries
|
|
14
|
-
retry: (failureCount, error) => {
|
|
15
|
-
// Stop retrying after 3 attempts
|
|
16
|
-
if (failureCount >= 3) {
|
|
17
|
-
logger_1.sdkLogger.error(`Query failed permanently after 3 attempts. Stopping retries.`, error);
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
// Do not retry on permanent client errors (400, 401, 403, 404, 422)
|
|
21
|
-
if (error instanceof Error) {
|
|
22
|
-
const msg = error.message;
|
|
23
|
-
if (msg.includes('400') || // 400 Bad Request
|
|
24
|
-
msg.includes('401') || // 401 Unauthorized
|
|
25
|
-
msg.includes('403') || // 403 Forbidden
|
|
26
|
-
msg.includes('404') || // 404 Not Found
|
|
27
|
-
msg.includes('422') // 422 Unprocessable Entity
|
|
28
|
-
) {
|
|
29
|
-
logger_1.sdkLogger.error(`Query failed permanently due to client error (${msg}). Skipping retry.`, error);
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
logger_1.sdkLogger.warn(`Query failed. Retrying attempt ${failureCount + 1}/3...`, error);
|
|
34
|
-
return true;
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
mutations: {
|
|
38
|
-
networkMode: 'always', // Prevent React Query from pausing mutations when offline, forcing immediate retry logging
|
|
39
|
-
retryDelay: 5000, // 5 seconds delay between retries
|
|
40
|
-
retry: (failureCount, error) => {
|
|
41
|
-
// Retry up to 3 times for transient network/server failures
|
|
42
|
-
if (failureCount >= 3) {
|
|
43
|
-
logger_1.sdkLogger.error(`Mutation failed permanently after 3 attempts. Stopping retries.`, error);
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
// Do not retry on permanent validation or client errors (400, 401, 403, 422)
|
|
47
|
-
if (error instanceof Error) {
|
|
48
|
-
const msg = error.message;
|
|
49
|
-
if (msg.includes('400') || // 400 Bad Request (Client syntax / invalid parameters)
|
|
50
|
-
msg.includes('401') || // 401 Unauthorized (Authentication issues)
|
|
51
|
-
msg.includes('403') || // 403 Forbidden (Insufficient permissions)
|
|
52
|
-
msg.includes('422') // 422 Unprocessable Entity (Semantic validation failure)
|
|
53
|
-
) {
|
|
54
|
-
logger_1.sdkLogger.error(`Mutation failed permanently due to validation/client error. Skipping retry.`, error);
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
logger_1.sdkLogger.warn(`Mutation failed. Retrying attempt ${failureCount + 1}/3...`, error);
|
|
59
|
-
return true;
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
//# sourceMappingURL=queryClient.js.map
|
package/dist/queryClient.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queryClient.js","sourceRoot":"","sources":["../src/queryClient.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AACpD,4CAA4C;AAE/B,QAAA,cAAc,GAAG,IAAI,yBAAW,CAAC;IAC5C,cAAc,EAAE;QACd,OAAO,EAAE;YACP,SAAS,EAAE,QAAQ,EAAW,2DAA2D;YACzF,oBAAoB,EAAE,KAAK,EAAG,qDAAqD;YACnF,kBAAkB,EAAE,KAAK,EAAK,yDAAyD;YACvF,eAAe,EAAE,KAAK,EAAQ,0CAA0C;YACxE,UAAU,EAAE,IAAI,EAAE,kCAAkC;YACpD,KAAK,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE;gBAC7B,iCAAiC;gBACjC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;oBACtB,kBAAS,CAAC,KAAK,CAAC,8DAA8D,EAAE,KAAK,CAAC,CAAC;oBACvF,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,oEAAoE;gBACpE,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC1B,IACE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,kBAAkB;wBACzC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,mBAAmB;wBAC1C,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,gBAAgB;wBACvC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,gBAAgB;wBACvC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAI,2BAA2B;sBAClD,CAAC;wBACD,kBAAS,CAAC,KAAK,CAAC,iDAAiD,GAAG,oBAAoB,EAAE,KAAK,CAAC,CAAC;wBACjG,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;gBAED,kBAAS,CAAC,IAAI,CAAC,kCAAkC,YAAY,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACjF,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD,SAAS,EAAE;YACT,WAAW,EAAE,QAAQ,EAAE,2FAA2F;YAClH,UAAU,EAAE,IAAI,EAAE,kCAAkC;YACpD,KAAK,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE;gBAC7B,4DAA4D;gBAC5D,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;oBACtB,kBAAS,CAAC,KAAK,CAAC,iEAAiE,EAAE,KAAK,CAAC,CAAC;oBAC1F,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,6EAA6E;gBAC7E,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC1B,IACE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,uDAAuD;wBAC9E,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,2CAA2C;wBAClE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,2CAA2C;wBAClE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,yDAAyD;sBAC7E,CAAC;wBACD,kBAAS,CAAC,KAAK,CAAC,6EAA6E,EAAE,KAAK,CAAC,CAAC;wBACtG,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;gBAED,kBAAS,CAAC,IAAI,CAAC,qCAAqC,YAAY,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACpF,OAAO,IAAI,CAAC;YACd,CAAC;SACF;KACF;CACF,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolutionLogger.d.ts","sourceRoot":"","sources":["../../../src/submitSurvey/logger/resolutionLogger.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAErD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAE9C;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAEpD"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.logResolvedInputs = logResolvedInputs;
|
|
4
|
-
exports.logRequestBody = logRequestBody;
|
|
5
|
-
exports.logExecuteSubmitError = logExecuteSubmitError;
|
|
6
|
-
const logger_1 = require("../../logger/logger");
|
|
7
|
-
function logResolvedInputs(resolved) {
|
|
8
|
-
logger_1.sdkLogger.debug('Resolved raw inputs to submit schema:', resolved);
|
|
9
|
-
}
|
|
10
|
-
function logRequestBody(body) {
|
|
11
|
-
logger_1.sdkLogger.debug('Constructed JSON request body:', body);
|
|
12
|
-
}
|
|
13
|
-
function logExecuteSubmitError(err) {
|
|
14
|
-
logger_1.sdkLogger.error('Failed to execute submit callback', err);
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=resolutionLogger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolutionLogger.js","sourceRoot":"","sources":["../../../src/submitSurvey/logger/resolutionLogger.ts"],"names":[],"mappings":";;AAEA,8CAEC;AAED,wCAEC;AAED,sDAEC;AAZD,gDAAgD;AAEhD,SAAgB,iBAAiB,CAAC,QAAa;IAC7C,kBAAS,CAAC,KAAK,CAAC,uCAAuC,EAAE,QAAQ,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,cAAc,CAAC,IAAS;IACtC,kBAAS,CAAC,KAAK,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,SAAgB,qBAAqB,CAAC,GAAQ;IAC5C,kBAAS,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare function logSubmitStart(url: string, requestBody: any): void;
|
|
2
|
-
export declare function logSubmitWarn(msg: string, err: any): void;
|
|
3
|
-
export declare function logSubmitPerfSuccess(durationMs: number, status: number, url: string, requestSize: string, responseSize: string): void;
|
|
4
|
-
export declare function logSubmitPerfFailure(durationMs: number, status: number | string, url: string, requestSize: string): void;
|
|
5
|
-
export declare function logSubmitSuccess(responseId: string): void;
|
|
6
|
-
export declare function logSubmitError(msg: string, err: any): void;
|
|
7
|
-
//# sourceMappingURL=submitLogger.d.ts.map
|