@dmptool/types 1.0.8 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/answers/__tests__/answers.spec.js +18 -17
- package/dist/answers/index.d.ts +50 -25
- package/dist/answers/index.js +19 -17
- package/dist/answers/{primitiveAnswers.d.ts → numberAnswers.d.ts} +0 -100
- package/dist/answers/numberAnswers.js +25 -0
- package/dist/answers/tableAnswers.d.ts +48 -48
- package/dist/answers/tableAnswers.js +9 -8
- package/dist/answers/textAnswers.d.ts +101 -0
- package/dist/answers/textAnswers.js +22 -0
- package/dist/questions/__tests__/dateQuestions.spec.js +20 -74
- package/dist/questions/__tests__/graphQLQuestions.spec.js +6 -0
- package/dist/questions/__tests__/numberQuestions.spec.js +156 -0
- package/dist/questions/__tests__/optionBasedQuestions.spec.js +41 -54
- package/dist/questions/__tests__/tableQuestion.spec.js +2 -0
- package/dist/questions/__tests__/textQuestions.spec.d.ts +1 -0
- package/dist/questions/__tests__/textQuestions.spec.js +120 -0
- package/dist/questions/dateQuestions.d.ts +159 -178
- package/dist/questions/dateQuestions.js +9 -15
- package/dist/questions/graphQLQuestions.d.ts +67 -38
- package/dist/questions/graphQLQuestions.js +3 -2
- package/dist/questions/index.d.ts +1616 -1356
- package/dist/questions/index.js +21 -19
- package/dist/questions/numberQuestions.d.ts +343 -0
- package/dist/questions/numberQuestions.js +34 -0
- package/dist/questions/optionBasedQuestions.d.ts +136 -158
- package/dist/questions/optionBasedQuestions.js +11 -20
- package/dist/questions/question.d.ts +29 -11
- package/dist/questions/question.js +10 -4
- package/dist/questions/tableQuestions.d.ts +2377 -2030
- package/dist/questions/tableQuestions.js +12 -10
- package/dist/questions/textQuestions.d.ts +261 -0
- package/dist/questions/textQuestions.js +42 -0
- package/dist/schemas/anyQuestion.schema.json +237 -239
- package/dist/schemas/anyTableColumnQuestion.schema.json +207 -217
- package/dist/schemas/booleanQuestion.schema.json +17 -12
- package/dist/schemas/checkboxesQuestion.schema.json +24 -27
- package/dist/schemas/currencyQuestion.schema.json +23 -18
- package/dist/schemas/dateQuestion.schema.json +21 -16
- package/dist/schemas/dateRangeQuestion.schema.json +31 -56
- package/dist/schemas/emailQuestion.schema.json +24 -19
- package/dist/schemas/filteredSearchQuestion.schema.json +18 -13
- package/dist/schemas/numberQuestion.schema.json +21 -16
- package/dist/schemas/numberRangeQuestion.schema.json +31 -56
- package/dist/schemas/radioButtonsQuestion.schema.json +24 -27
- package/dist/schemas/selectBoxQuestion.schema.json +27 -36
- package/dist/schemas/tableQuestion.schema.json +233 -235
- package/dist/schemas/textAreaQuestion.schema.json +22 -16
- package/dist/schemas/textQuestion.schema.json +21 -16
- package/dist/schemas/typeaheadSearchQuestion.schema.json +15 -4
- package/dist/schemas/urlQuestion.schema.json +21 -16
- package/package.json +1 -1
- package/dist/answers/primitiveAnswers.js +0 -41
- package/dist/questions/__tests__/primitiveQuestions.spec.js +0 -281
- package/dist/questions/primitiveQuestions.d.ts +0 -555
- package/dist/questions/primitiveQuestions.js +0 -86
- /package/dist/questions/__tests__/{primitiveQuestions.spec.d.ts → numberQuestions.spec.d.ts} +0 -0
|
@@ -4,16 +4,17 @@ const globals_1 = require("@jest/globals");
|
|
|
4
4
|
const dateAnswers_1 = require("../dateAnswers");
|
|
5
5
|
const graphQLAnswers_1 = require("../graphQLAnswers");
|
|
6
6
|
const optionBasedAnswers_1 = require("../optionBasedAnswers");
|
|
7
|
-
const
|
|
7
|
+
const numberAnswers_1 = require("../numberAnswers");
|
|
8
|
+
const textAnswers_1 = require("../textAnswers");
|
|
8
9
|
const tableAnswers_1 = require("../tableAnswers");
|
|
9
10
|
const __1 = require("..");
|
|
10
11
|
const questions_1 = require("../../questions");
|
|
11
12
|
(0, globals_1.describe)('Answer Type Validations', () => {
|
|
12
13
|
(0, globals_1.it)('should validate BooleanAnswer', () => {
|
|
13
14
|
const validData = { type: 'boolean', answer: true, meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
14
|
-
(0, globals_1.expect)(() =>
|
|
15
|
+
(0, globals_1.expect)(() => numberAnswers_1.BooleanAnswerSchema.parse(validData)).not.toThrow();
|
|
15
16
|
const invalidData = { type: 'boolean', answer: 'true' };
|
|
16
|
-
(0, globals_1.expect)(() =>
|
|
17
|
+
(0, globals_1.expect)(() => numberAnswers_1.BooleanAnswerSchema.parse(invalidData)).toThrow();
|
|
17
18
|
});
|
|
18
19
|
(0, globals_1.it)('should validate CheckboxesAnswer', () => {
|
|
19
20
|
const validData = { type: 'checkBoxes', answer: ['option1', 'option2'], meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
@@ -23,9 +24,9 @@ const questions_1 = require("../../questions");
|
|
|
23
24
|
});
|
|
24
25
|
(0, globals_1.it)('should validate CurrencyAnswer', () => {
|
|
25
26
|
const validData = { type: 'currency', answer: 100.5, meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
26
|
-
(0, globals_1.expect)(() =>
|
|
27
|
+
(0, globals_1.expect)(() => numberAnswers_1.CurrencyAnswerSchema.parse(validData)).not.toThrow();
|
|
27
28
|
const invalidData = { type: 'currency', answer: '100.5', meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
28
|
-
(0, globals_1.expect)(() =>
|
|
29
|
+
(0, globals_1.expect)(() => numberAnswers_1.CurrencyAnswerSchema.parse(invalidData)).toThrow();
|
|
29
30
|
});
|
|
30
31
|
(0, globals_1.it)('should validate DateAnswer', () => {
|
|
31
32
|
const validData = { type: 'date', answer: '2023-10-01', meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
@@ -49,9 +50,9 @@ const questions_1 = require("../../questions");
|
|
|
49
50
|
});
|
|
50
51
|
(0, globals_1.it)('should validate EmailAnswer', () => {
|
|
51
52
|
const validData = { type: 'email', answer: 'test@example.com', meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
52
|
-
(0, globals_1.expect)(() =>
|
|
53
|
+
(0, globals_1.expect)(() => textAnswers_1.EmailAnswerSchema.parse(validData)).not.toThrow();
|
|
53
54
|
const invalidData = { type: 'email', answer: 12345 };
|
|
54
|
-
(0, globals_1.expect)(() =>
|
|
55
|
+
(0, globals_1.expect)(() => textAnswers_1.EmailAnswerSchema.parse(invalidData)).toThrow();
|
|
55
56
|
});
|
|
56
57
|
(0, globals_1.it)('should validate FilteredSearchAnswer', () => {
|
|
57
58
|
const validData = { type: 'filteredSearch', answer: ['item1', 'item2'], meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
@@ -61,9 +62,9 @@ const questions_1 = require("../../questions");
|
|
|
61
62
|
});
|
|
62
63
|
(0, globals_1.it)('should validate NumberAnswer', () => {
|
|
63
64
|
const validData = { type: 'number', answer: 42, meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
64
|
-
(0, globals_1.expect)(() =>
|
|
65
|
+
(0, globals_1.expect)(() => numberAnswers_1.NumberAnswerSchema.parse(validData)).not.toThrow();
|
|
65
66
|
const invalidData = { type: 'number', answer: '42', meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
66
|
-
(0, globals_1.expect)(() =>
|
|
67
|
+
(0, globals_1.expect)(() => numberAnswers_1.NumberAnswerSchema.parse(invalidData)).toThrow();
|
|
67
68
|
});
|
|
68
69
|
(0, globals_1.it)('should validate NumberRangeAnswer', () => {
|
|
69
70
|
const validData = {
|
|
@@ -71,13 +72,13 @@ const questions_1 = require("../../questions");
|
|
|
71
72
|
answer: { start: 1, end: 10 },
|
|
72
73
|
meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION }
|
|
73
74
|
};
|
|
74
|
-
(0, globals_1.expect)(() =>
|
|
75
|
+
(0, globals_1.expect)(() => numberAnswers_1.NumberRangeAnswerSchema.parse(validData)).not.toThrow();
|
|
75
76
|
const invalidData = {
|
|
76
77
|
type: 'numberRange',
|
|
77
78
|
answer: { start: '1', end: 10 },
|
|
78
79
|
meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION }
|
|
79
80
|
};
|
|
80
|
-
(0, globals_1.expect)(() =>
|
|
81
|
+
(0, globals_1.expect)(() => numberAnswers_1.NumberRangeAnswerSchema.parse(invalidData)).toThrow();
|
|
81
82
|
});
|
|
82
83
|
(0, globals_1.it)('should validate RadioButtonsAnswer', () => {
|
|
83
84
|
const validData = { type: 'radioButtons', answer: 'option1', meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
@@ -93,15 +94,15 @@ const questions_1 = require("../../questions");
|
|
|
93
94
|
});
|
|
94
95
|
(0, globals_1.it)('should validate TextAnswer', () => {
|
|
95
96
|
const validData = { type: 'text', answer: 'Some text', meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
96
|
-
(0, globals_1.expect)(() =>
|
|
97
|
+
(0, globals_1.expect)(() => textAnswers_1.TextAnswerSchema.parse(validData)).not.toThrow();
|
|
97
98
|
const invalidData = { type: 'text', answer: 12345, meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
98
|
-
(0, globals_1.expect)(() =>
|
|
99
|
+
(0, globals_1.expect)(() => textAnswers_1.TextAnswerSchema.parse(invalidData)).toThrow();
|
|
99
100
|
});
|
|
100
101
|
(0, globals_1.it)('should validate TextAreaAnswer', () => {
|
|
101
102
|
const validData = { type: 'textArea', answer: 'Some long text', meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
102
|
-
(0, globals_1.expect)(() =>
|
|
103
|
+
(0, globals_1.expect)(() => textAnswers_1.TextAreaAnswerSchema.parse(validData)).not.toThrow();
|
|
103
104
|
const invalidData = { type: 'textArea', answer: 12345, meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
104
|
-
(0, globals_1.expect)(() =>
|
|
105
|
+
(0, globals_1.expect)(() => textAnswers_1.TextAreaAnswerSchema.parse(invalidData)).toThrow();
|
|
105
106
|
});
|
|
106
107
|
(0, globals_1.it)('should validate TypeaheadSearchAnswer', () => {
|
|
107
108
|
const validData = { type: 'typeaheadSearch', answer: 'Search term', meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
@@ -111,9 +112,9 @@ const questions_1 = require("../../questions");
|
|
|
111
112
|
});
|
|
112
113
|
(0, globals_1.it)('should validate URLAnswer', () => {
|
|
113
114
|
const validData = { type: 'url', answer: 'https://example.com', meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
114
|
-
(0, globals_1.expect)(() =>
|
|
115
|
+
(0, globals_1.expect)(() => textAnswers_1.URLAnswerSchema.parse(validData)).not.toThrow();
|
|
115
116
|
const invalidData = { type: 'url', answer: 12345, meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION } };
|
|
116
|
-
(0, globals_1.expect)(() =>
|
|
117
|
+
(0, globals_1.expect)(() => textAnswers_1.URLAnswerSchema.parse(invalidData)).toThrow();
|
|
117
118
|
});
|
|
118
119
|
(0, globals_1.it)('should validate TableAnswer', () => {
|
|
119
120
|
const validData = {
|
package/dist/answers/index.d.ts
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { DateAnswerType, DateRangeAnswerType } from './dateAnswers';
|
|
3
|
+
import { FilteredSearchAnswerType, TypeaheadSearchAnswerType } from './graphQLAnswers';
|
|
4
|
+
import { CheckboxesAnswerType, RadioButtonsAnswerType, SelectBoxAnswerType } from './optionBasedAnswers';
|
|
5
|
+
import { BooleanAnswerType, CurrencyAnswerType, NumberAnswerType, NumberRangeAnswerType } from './numberAnswers';
|
|
6
|
+
import { TableAnswerType } from './tableAnswers';
|
|
7
|
+
import { EmailAnswerType, TextAnswerType, TextAreaAnswerType, URLAnswerType } from './textAnswers';
|
|
2
8
|
import { QuestionTypesEnum } from '../questions';
|
|
3
9
|
export * from './answer';
|
|
4
10
|
export * from './dateAnswers';
|
|
5
11
|
export * from './graphQLAnswers';
|
|
12
|
+
export * from './numberAnswers';
|
|
6
13
|
export * from './optionBasedAnswers';
|
|
7
|
-
export * from './primitiveAnswers';
|
|
8
14
|
export * from './tableAnswers';
|
|
15
|
+
export * from './textAnswers';
|
|
9
16
|
export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
10
17
|
meta: z.ZodObject<{
|
|
11
18
|
schemaVersion: z.ZodLiteral<"1.0">;
|
|
@@ -662,17 +669,17 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
662
669
|
};
|
|
663
670
|
answer: number;
|
|
664
671
|
} | {
|
|
665
|
-
type: "
|
|
672
|
+
type: "number";
|
|
666
673
|
meta: {
|
|
667
674
|
schemaVersion: "1.0";
|
|
668
675
|
};
|
|
669
|
-
answer:
|
|
676
|
+
answer: number;
|
|
670
677
|
} | {
|
|
671
|
-
type: "
|
|
678
|
+
type: "email";
|
|
672
679
|
meta: {
|
|
673
680
|
schemaVersion: "1.0";
|
|
674
681
|
};
|
|
675
|
-
answer:
|
|
682
|
+
answer: string;
|
|
676
683
|
} | {
|
|
677
684
|
type: "text";
|
|
678
685
|
meta: {
|
|
@@ -752,17 +759,17 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
752
759
|
};
|
|
753
760
|
answer: number;
|
|
754
761
|
} | {
|
|
755
|
-
type: "
|
|
762
|
+
type: "number";
|
|
756
763
|
meta: {
|
|
757
764
|
schemaVersion: "1.0";
|
|
758
765
|
};
|
|
759
|
-
answer:
|
|
766
|
+
answer: number;
|
|
760
767
|
} | {
|
|
761
|
-
type: "
|
|
768
|
+
type: "email";
|
|
762
769
|
meta: {
|
|
763
770
|
schemaVersion: "1.0";
|
|
764
771
|
};
|
|
765
|
-
answer:
|
|
772
|
+
answer: string;
|
|
766
773
|
} | {
|
|
767
774
|
type: "text";
|
|
768
775
|
meta: {
|
|
@@ -844,17 +851,17 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
844
851
|
};
|
|
845
852
|
answer: number;
|
|
846
853
|
} | {
|
|
847
|
-
type: "
|
|
854
|
+
type: "number";
|
|
848
855
|
meta: {
|
|
849
856
|
schemaVersion: "1.0";
|
|
850
857
|
};
|
|
851
|
-
answer:
|
|
858
|
+
answer: number;
|
|
852
859
|
} | {
|
|
853
|
-
type: "
|
|
860
|
+
type: "email";
|
|
854
861
|
meta: {
|
|
855
862
|
schemaVersion: "1.0";
|
|
856
863
|
};
|
|
857
|
-
answer:
|
|
864
|
+
answer: string;
|
|
858
865
|
} | {
|
|
859
866
|
type: "text";
|
|
860
867
|
meta: {
|
|
@@ -936,17 +943,17 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
936
943
|
};
|
|
937
944
|
answer: number;
|
|
938
945
|
} | {
|
|
939
|
-
type: "
|
|
946
|
+
type: "number";
|
|
940
947
|
meta: {
|
|
941
948
|
schemaVersion: "1.0";
|
|
942
949
|
};
|
|
943
|
-
answer:
|
|
950
|
+
answer: number;
|
|
944
951
|
} | {
|
|
945
|
-
type: "
|
|
952
|
+
type: "email";
|
|
946
953
|
meta: {
|
|
947
954
|
schemaVersion: "1.0";
|
|
948
955
|
};
|
|
949
|
-
answer:
|
|
956
|
+
answer: string;
|
|
950
957
|
} | {
|
|
951
958
|
type: "text";
|
|
952
959
|
meta: {
|
|
@@ -1034,17 +1041,17 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
1034
1041
|
};
|
|
1035
1042
|
answer: number;
|
|
1036
1043
|
} | {
|
|
1037
|
-
type: "
|
|
1044
|
+
type: "number";
|
|
1038
1045
|
meta: {
|
|
1039
1046
|
schemaVersion: "1.0";
|
|
1040
1047
|
};
|
|
1041
|
-
answer:
|
|
1048
|
+
answer: number;
|
|
1042
1049
|
} | {
|
|
1043
|
-
type: "
|
|
1050
|
+
type: "email";
|
|
1044
1051
|
meta: {
|
|
1045
1052
|
schemaVersion: "1.0";
|
|
1046
1053
|
};
|
|
1047
|
-
answer:
|
|
1054
|
+
answer: string;
|
|
1048
1055
|
} | {
|
|
1049
1056
|
type: "text";
|
|
1050
1057
|
meta: {
|
|
@@ -1132,17 +1139,17 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
1132
1139
|
};
|
|
1133
1140
|
answer: number;
|
|
1134
1141
|
} | {
|
|
1135
|
-
type: "
|
|
1142
|
+
type: "number";
|
|
1136
1143
|
meta: {
|
|
1137
1144
|
schemaVersion: "1.0";
|
|
1138
1145
|
};
|
|
1139
|
-
answer:
|
|
1146
|
+
answer: number;
|
|
1140
1147
|
} | {
|
|
1141
|
-
type: "
|
|
1148
|
+
type: "email";
|
|
1142
1149
|
meta: {
|
|
1143
1150
|
schemaVersion: "1.0";
|
|
1144
1151
|
};
|
|
1145
|
-
answer:
|
|
1152
|
+
answer: string;
|
|
1146
1153
|
} | {
|
|
1147
1154
|
type: "text";
|
|
1148
1155
|
meta: {
|
|
@@ -1259,3 +1266,21 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
1259
1266
|
}>]>;
|
|
1260
1267
|
export declare const AnswerSchemaMap: Record<z.infer<typeof QuestionTypesEnum>, z.ZodTypeAny>;
|
|
1261
1268
|
export type AnyAnswerType = z.infer<typeof AnyAnswerSchema>;
|
|
1269
|
+
export interface AnswerTypeMap {
|
|
1270
|
+
boolean: BooleanAnswerType;
|
|
1271
|
+
checkBoxes: CheckboxesAnswerType;
|
|
1272
|
+
currency: CurrencyAnswerType;
|
|
1273
|
+
date: DateAnswerType;
|
|
1274
|
+
dateRange: DateRangeAnswerType;
|
|
1275
|
+
email: EmailAnswerType;
|
|
1276
|
+
filteredSearch: FilteredSearchAnswerType;
|
|
1277
|
+
number: NumberAnswerType;
|
|
1278
|
+
numberRange: NumberRangeAnswerType;
|
|
1279
|
+
radioButtons: RadioButtonsAnswerType;
|
|
1280
|
+
selectBox: SelectBoxAnswerType;
|
|
1281
|
+
table: TableAnswerType;
|
|
1282
|
+
text: TextAnswerType;
|
|
1283
|
+
textArea: TextAreaAnswerType;
|
|
1284
|
+
typeaheadSearch: TypeaheadSearchAnswerType;
|
|
1285
|
+
url: URLAnswerType;
|
|
1286
|
+
}
|
package/dist/answers/index.js
CHANGED
|
@@ -19,49 +19,51 @@ const zod_1 = require("zod");
|
|
|
19
19
|
const dateAnswers_1 = require("./dateAnswers");
|
|
20
20
|
const graphQLAnswers_1 = require("./graphQLAnswers");
|
|
21
21
|
const optionBasedAnswers_1 = require("./optionBasedAnswers");
|
|
22
|
-
const
|
|
22
|
+
const numberAnswers_1 = require("./numberAnswers");
|
|
23
23
|
const tableAnswers_1 = require("./tableAnswers");
|
|
24
|
+
const textAnswers_1 = require("./textAnswers");
|
|
24
25
|
// reexport everything
|
|
25
26
|
__exportStar(require("./answer"), exports);
|
|
26
27
|
__exportStar(require("./dateAnswers"), exports);
|
|
27
28
|
__exportStar(require("./graphQLAnswers"), exports);
|
|
29
|
+
__exportStar(require("./numberAnswers"), exports);
|
|
28
30
|
__exportStar(require("./optionBasedAnswers"), exports);
|
|
29
|
-
__exportStar(require("./primitiveAnswers"), exports);
|
|
30
31
|
__exportStar(require("./tableAnswers"), exports);
|
|
32
|
+
__exportStar(require("./textAnswers"), exports);
|
|
31
33
|
// Union of all possible answers
|
|
32
34
|
exports.AnyAnswerSchema = zod_1.z.discriminatedUnion('type', [
|
|
33
|
-
|
|
35
|
+
numberAnswers_1.BooleanAnswerSchema,
|
|
34
36
|
optionBasedAnswers_1.CheckboxesAnswerSchema,
|
|
35
|
-
|
|
37
|
+
numberAnswers_1.CurrencyAnswerSchema,
|
|
36
38
|
dateAnswers_1.DateAnswerSchema,
|
|
37
39
|
dateAnswers_1.DateRangeAnswerSchema,
|
|
38
|
-
|
|
40
|
+
textAnswers_1.EmailAnswerSchema,
|
|
39
41
|
graphQLAnswers_1.FilteredSearchAnswerSchema,
|
|
40
|
-
|
|
42
|
+
numberAnswers_1.NumberAnswerSchema,
|
|
41
43
|
optionBasedAnswers_1.RadioButtonsAnswerSchema,
|
|
42
44
|
optionBasedAnswers_1.SelectBoxAnswerSchema,
|
|
43
45
|
tableAnswers_1.TableAnswerSchema,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
textAnswers_1.TextAnswerSchema,
|
|
47
|
+
textAnswers_1.TextAreaAnswerSchema,
|
|
46
48
|
graphQLAnswers_1.TypeaheadSearchAnswerSchema,
|
|
47
|
-
|
|
49
|
+
textAnswers_1.URLAnswerSchema
|
|
48
50
|
]);
|
|
49
51
|
// Export a mapping between question types and their corresponding answer schemas
|
|
50
52
|
exports.AnswerSchemaMap = {
|
|
51
|
-
boolean:
|
|
53
|
+
boolean: numberAnswers_1.BooleanAnswerSchema,
|
|
52
54
|
checkBoxes: optionBasedAnswers_1.CheckboxesAnswerSchema,
|
|
53
|
-
currency:
|
|
55
|
+
currency: numberAnswers_1.CurrencyAnswerSchema,
|
|
54
56
|
date: dateAnswers_1.DateAnswerSchema,
|
|
55
57
|
dateRange: dateAnswers_1.DateRangeAnswerSchema,
|
|
56
|
-
email:
|
|
58
|
+
email: textAnswers_1.EmailAnswerSchema,
|
|
57
59
|
filteredSearch: graphQLAnswers_1.FilteredSearchAnswerSchema,
|
|
58
|
-
number:
|
|
59
|
-
numberRange:
|
|
60
|
+
number: numberAnswers_1.NumberAnswerSchema,
|
|
61
|
+
numberRange: numberAnswers_1.NumberRangeAnswerSchema,
|
|
60
62
|
radioButtons: optionBasedAnswers_1.RadioButtonsAnswerSchema,
|
|
61
63
|
selectBox: optionBasedAnswers_1.SelectBoxAnswerSchema,
|
|
62
64
|
table: tableAnswers_1.TableAnswerSchema,
|
|
63
|
-
text:
|
|
64
|
-
textArea:
|
|
65
|
+
text: textAnswers_1.TextAnswerSchema,
|
|
66
|
+
textArea: textAnswers_1.TextAreaAnswerSchema,
|
|
65
67
|
typeaheadSearch: graphQLAnswers_1.TypeaheadSearchAnswerSchema,
|
|
66
|
-
url:
|
|
68
|
+
url: textAnswers_1.URLAnswerSchema
|
|
67
69
|
};
|
|
@@ -47,30 +47,6 @@ export declare const CurrencyAnswerSchema: z.ZodObject<{
|
|
|
47
47
|
};
|
|
48
48
|
answer: number;
|
|
49
49
|
}>;
|
|
50
|
-
export declare const EmailAnswerSchema: z.ZodObject<{
|
|
51
|
-
meta: z.ZodObject<{
|
|
52
|
-
schemaVersion: z.ZodLiteral<"1.0">;
|
|
53
|
-
}, "strip", z.ZodTypeAny, {
|
|
54
|
-
schemaVersion: "1.0";
|
|
55
|
-
}, {
|
|
56
|
-
schemaVersion: "1.0";
|
|
57
|
-
}>;
|
|
58
|
-
} & {
|
|
59
|
-
type: z.ZodLiteral<"email">;
|
|
60
|
-
answer: z.ZodString;
|
|
61
|
-
}, "strip", z.ZodTypeAny, {
|
|
62
|
-
type: "email";
|
|
63
|
-
meta: {
|
|
64
|
-
schemaVersion: "1.0";
|
|
65
|
-
};
|
|
66
|
-
answer: string;
|
|
67
|
-
}, {
|
|
68
|
-
type: "email";
|
|
69
|
-
meta: {
|
|
70
|
-
schemaVersion: "1.0";
|
|
71
|
-
};
|
|
72
|
-
answer: string;
|
|
73
|
-
}>;
|
|
74
50
|
export declare const NumberAnswerSchema: z.ZodObject<{
|
|
75
51
|
meta: z.ZodObject<{
|
|
76
52
|
schemaVersion: z.ZodLiteral<"1.0">;
|
|
@@ -134,83 +110,7 @@ export declare const NumberRangeAnswerSchema: z.ZodObject<{
|
|
|
134
110
|
end: number;
|
|
135
111
|
};
|
|
136
112
|
}>;
|
|
137
|
-
export declare const TextAnswerSchema: z.ZodObject<{
|
|
138
|
-
meta: z.ZodObject<{
|
|
139
|
-
schemaVersion: z.ZodLiteral<"1.0">;
|
|
140
|
-
}, "strip", z.ZodTypeAny, {
|
|
141
|
-
schemaVersion: "1.0";
|
|
142
|
-
}, {
|
|
143
|
-
schemaVersion: "1.0";
|
|
144
|
-
}>;
|
|
145
|
-
} & {
|
|
146
|
-
type: z.ZodLiteral<"text">;
|
|
147
|
-
answer: z.ZodString;
|
|
148
|
-
}, "strip", z.ZodTypeAny, {
|
|
149
|
-
type: "text";
|
|
150
|
-
meta: {
|
|
151
|
-
schemaVersion: "1.0";
|
|
152
|
-
};
|
|
153
|
-
answer: string;
|
|
154
|
-
}, {
|
|
155
|
-
type: "text";
|
|
156
|
-
meta: {
|
|
157
|
-
schemaVersion: "1.0";
|
|
158
|
-
};
|
|
159
|
-
answer: string;
|
|
160
|
-
}>;
|
|
161
|
-
export declare const TextAreaAnswerSchema: z.ZodObject<{
|
|
162
|
-
meta: z.ZodObject<{
|
|
163
|
-
schemaVersion: z.ZodLiteral<"1.0">;
|
|
164
|
-
}, "strip", z.ZodTypeAny, {
|
|
165
|
-
schemaVersion: "1.0";
|
|
166
|
-
}, {
|
|
167
|
-
schemaVersion: "1.0";
|
|
168
|
-
}>;
|
|
169
|
-
} & {
|
|
170
|
-
type: z.ZodLiteral<"textArea">;
|
|
171
|
-
answer: z.ZodString;
|
|
172
|
-
}, "strip", z.ZodTypeAny, {
|
|
173
|
-
type: "textArea";
|
|
174
|
-
meta: {
|
|
175
|
-
schemaVersion: "1.0";
|
|
176
|
-
};
|
|
177
|
-
answer: string;
|
|
178
|
-
}, {
|
|
179
|
-
type: "textArea";
|
|
180
|
-
meta: {
|
|
181
|
-
schemaVersion: "1.0";
|
|
182
|
-
};
|
|
183
|
-
answer: string;
|
|
184
|
-
}>;
|
|
185
|
-
export declare const URLAnswerSchema: z.ZodObject<{
|
|
186
|
-
meta: z.ZodObject<{
|
|
187
|
-
schemaVersion: z.ZodLiteral<"1.0">;
|
|
188
|
-
}, "strip", z.ZodTypeAny, {
|
|
189
|
-
schemaVersion: "1.0";
|
|
190
|
-
}, {
|
|
191
|
-
schemaVersion: "1.0";
|
|
192
|
-
}>;
|
|
193
|
-
} & {
|
|
194
|
-
type: z.ZodLiteral<"url">;
|
|
195
|
-
answer: z.ZodString;
|
|
196
|
-
}, "strip", z.ZodTypeAny, {
|
|
197
|
-
type: "url";
|
|
198
|
-
meta: {
|
|
199
|
-
schemaVersion: "1.0";
|
|
200
|
-
};
|
|
201
|
-
answer: string;
|
|
202
|
-
}, {
|
|
203
|
-
type: "url";
|
|
204
|
-
meta: {
|
|
205
|
-
schemaVersion: "1.0";
|
|
206
|
-
};
|
|
207
|
-
answer: string;
|
|
208
|
-
}>;
|
|
209
113
|
export type BooleanAnswerType = z.infer<typeof BooleanAnswerSchema>;
|
|
210
114
|
export type CurrencyAnswerType = z.infer<typeof CurrencyAnswerSchema>;
|
|
211
|
-
export type EmailAnswerType = z.infer<typeof EmailAnswerSchema>;
|
|
212
115
|
export type NumberAnswerType = z.infer<typeof NumberAnswerSchema>;
|
|
213
116
|
export type NumberRangeAnswerType = z.infer<typeof NumberRangeAnswerSchema>;
|
|
214
|
-
export type TextAnswerType = z.infer<typeof TextAnswerSchema>;
|
|
215
|
-
export type TextAreaAnswerType = z.infer<typeof TextAreaAnswerSchema>;
|
|
216
|
-
export type URLAnswerType = z.infer<typeof URLAnswerSchema>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NumberRangeAnswerSchema = exports.NumberAnswerSchema = exports.CurrencyAnswerSchema = exports.BooleanAnswerSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const answer_1 = require("./answer");
|
|
6
|
+
// Answers to Number Question Types
|
|
7
|
+
exports.BooleanAnswerSchema = answer_1.AnswerSchema.merge(zod_1.z.object({
|
|
8
|
+
type: zod_1.z.literal('boolean'), // The type of answer
|
|
9
|
+
answer: zod_1.z.boolean() // The answer to the question (true/false)
|
|
10
|
+
}));
|
|
11
|
+
exports.CurrencyAnswerSchema = answer_1.AnswerSchema.merge(zod_1.z.object({
|
|
12
|
+
type: zod_1.z.literal('currency'), // The type of answer
|
|
13
|
+
answer: zod_1.z.number() // The answer to the question (number)
|
|
14
|
+
}));
|
|
15
|
+
exports.NumberAnswerSchema = answer_1.AnswerSchema.merge(zod_1.z.object({
|
|
16
|
+
type: zod_1.z.literal('number'), // The type of answer
|
|
17
|
+
answer: zod_1.z.number() // The answer to the question (number)
|
|
18
|
+
}));
|
|
19
|
+
exports.NumberRangeAnswerSchema = answer_1.AnswerSchema.merge(zod_1.z.object({
|
|
20
|
+
type: zod_1.z.literal('numberRange'), // The type of answer
|
|
21
|
+
answer: zod_1.z.object({
|
|
22
|
+
start: zod_1.z.number(), // The start number (number)
|
|
23
|
+
end: zod_1.z.number() // The end number (number)
|
|
24
|
+
})
|
|
25
|
+
}));
|