@dmptool/types 1.0.8 → 1.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/README.md +2 -0
- package/dist/answers/__tests__/answers.spec.js +18 -17
- package/dist/answers/index.d.ts +80 -55
- package/dist/answers/index.js +19 -17
- package/dist/answers/numberAnswers.d.ts +91 -0
- package/dist/answers/numberAnswers.js +21 -0
- package/dist/answers/optionBasedAnswers.d.ts +25 -0
- package/dist/answers/optionBasedAnswers.js +5 -1
- package/dist/answers/tableAnswers.d.ts +108 -108
- 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 +108 -0
- package/dist/questions/__tests__/optionBasedQuestions.spec.js +91 -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 +1800 -1379
- package/dist/questions/index.js +22 -19
- package/dist/questions/numberQuestions.d.ts +292 -0
- package/dist/questions/numberQuestions.js +28 -0
- package/dist/questions/optionBasedQuestions.d.ts +186 -157
- package/dist/questions/optionBasedQuestions.js +17 -20
- package/dist/questions/question.d.ts +29 -11
- package/dist/questions/question.js +10 -4
- package/dist/questions/tableQuestions.d.ts +2395 -2048
- 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 +269 -238
- package/dist/schemas/anyTableColumnQuestion.schema.json +207 -216
- package/dist/schemas/booleanQuestion.schema.json +17 -11
- 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 -234
- 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.d.ts +0 -216
- 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
package/README.md
CHANGED
|
@@ -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)(() => optionBasedAnswers_1.BooleanAnswerSchema.parse(validData)).not.toThrow();
|
|
15
16
|
const invalidData = { type: 'boolean', answer: 'true' };
|
|
16
|
-
(0, globals_1.expect)(() =>
|
|
17
|
+
(0, globals_1.expect)(() => optionBasedAnswers_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 { BooleanAnswerType, CheckboxesAnswerType, RadioButtonsAnswerType, SelectBoxAnswerType } from './optionBasedAnswers';
|
|
5
|
+
import { 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">;
|
|
@@ -631,6 +638,12 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
631
638
|
schemaVersion: "1.0";
|
|
632
639
|
};
|
|
633
640
|
answer: string;
|
|
641
|
+
} | {
|
|
642
|
+
type: "boolean";
|
|
643
|
+
meta: {
|
|
644
|
+
schemaVersion: "1.0";
|
|
645
|
+
};
|
|
646
|
+
answer: boolean;
|
|
634
647
|
} | {
|
|
635
648
|
type: "checkBoxes";
|
|
636
649
|
meta: {
|
|
@@ -650,13 +663,13 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
650
663
|
};
|
|
651
664
|
answer: string[];
|
|
652
665
|
} | {
|
|
653
|
-
type: "
|
|
666
|
+
type: "currency";
|
|
654
667
|
meta: {
|
|
655
668
|
schemaVersion: "1.0";
|
|
656
669
|
};
|
|
657
|
-
answer:
|
|
670
|
+
answer: number;
|
|
658
671
|
} | {
|
|
659
|
-
type: "
|
|
672
|
+
type: "number";
|
|
660
673
|
meta: {
|
|
661
674
|
schemaVersion: "1.0";
|
|
662
675
|
};
|
|
@@ -667,12 +680,6 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
667
680
|
schemaVersion: "1.0";
|
|
668
681
|
};
|
|
669
682
|
answer: string;
|
|
670
|
-
} | {
|
|
671
|
-
type: "number";
|
|
672
|
-
meta: {
|
|
673
|
-
schemaVersion: "1.0";
|
|
674
|
-
};
|
|
675
|
-
answer: number;
|
|
676
683
|
} | {
|
|
677
684
|
type: "text";
|
|
678
685
|
meta: {
|
|
@@ -721,6 +728,12 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
721
728
|
schemaVersion: "1.0";
|
|
722
729
|
};
|
|
723
730
|
answer: string;
|
|
731
|
+
} | {
|
|
732
|
+
type: "boolean";
|
|
733
|
+
meta: {
|
|
734
|
+
schemaVersion: "1.0";
|
|
735
|
+
};
|
|
736
|
+
answer: boolean;
|
|
724
737
|
} | {
|
|
725
738
|
type: "checkBoxes";
|
|
726
739
|
meta: {
|
|
@@ -740,13 +753,13 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
740
753
|
};
|
|
741
754
|
answer: string[];
|
|
742
755
|
} | {
|
|
743
|
-
type: "
|
|
756
|
+
type: "currency";
|
|
744
757
|
meta: {
|
|
745
758
|
schemaVersion: "1.0";
|
|
746
759
|
};
|
|
747
|
-
answer:
|
|
760
|
+
answer: number;
|
|
748
761
|
} | {
|
|
749
|
-
type: "
|
|
762
|
+
type: "number";
|
|
750
763
|
meta: {
|
|
751
764
|
schemaVersion: "1.0";
|
|
752
765
|
};
|
|
@@ -757,12 +770,6 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
757
770
|
schemaVersion: "1.0";
|
|
758
771
|
};
|
|
759
772
|
answer: string;
|
|
760
|
-
} | {
|
|
761
|
-
type: "number";
|
|
762
|
-
meta: {
|
|
763
|
-
schemaVersion: "1.0";
|
|
764
|
-
};
|
|
765
|
-
answer: number;
|
|
766
773
|
} | {
|
|
767
774
|
type: "text";
|
|
768
775
|
meta: {
|
|
@@ -813,6 +820,12 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
813
820
|
schemaVersion: "1.0";
|
|
814
821
|
};
|
|
815
822
|
answer: string;
|
|
823
|
+
} | {
|
|
824
|
+
type: "boolean";
|
|
825
|
+
meta: {
|
|
826
|
+
schemaVersion: "1.0";
|
|
827
|
+
};
|
|
828
|
+
answer: boolean;
|
|
816
829
|
} | {
|
|
817
830
|
type: "checkBoxes";
|
|
818
831
|
meta: {
|
|
@@ -832,13 +845,13 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
832
845
|
};
|
|
833
846
|
answer: string[];
|
|
834
847
|
} | {
|
|
835
|
-
type: "
|
|
848
|
+
type: "currency";
|
|
836
849
|
meta: {
|
|
837
850
|
schemaVersion: "1.0";
|
|
838
851
|
};
|
|
839
|
-
answer:
|
|
852
|
+
answer: number;
|
|
840
853
|
} | {
|
|
841
|
-
type: "
|
|
854
|
+
type: "number";
|
|
842
855
|
meta: {
|
|
843
856
|
schemaVersion: "1.0";
|
|
844
857
|
};
|
|
@@ -849,12 +862,6 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
849
862
|
schemaVersion: "1.0";
|
|
850
863
|
};
|
|
851
864
|
answer: string;
|
|
852
|
-
} | {
|
|
853
|
-
type: "number";
|
|
854
|
-
meta: {
|
|
855
|
-
schemaVersion: "1.0";
|
|
856
|
-
};
|
|
857
|
-
answer: number;
|
|
858
865
|
} | {
|
|
859
866
|
type: "text";
|
|
860
867
|
meta: {
|
|
@@ -905,6 +912,12 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
905
912
|
schemaVersion: "1.0";
|
|
906
913
|
};
|
|
907
914
|
answer: string;
|
|
915
|
+
} | {
|
|
916
|
+
type: "boolean";
|
|
917
|
+
meta: {
|
|
918
|
+
schemaVersion: "1.0";
|
|
919
|
+
};
|
|
920
|
+
answer: boolean;
|
|
908
921
|
} | {
|
|
909
922
|
type: "checkBoxes";
|
|
910
923
|
meta: {
|
|
@@ -924,13 +937,13 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
924
937
|
};
|
|
925
938
|
answer: string[];
|
|
926
939
|
} | {
|
|
927
|
-
type: "
|
|
940
|
+
type: "currency";
|
|
928
941
|
meta: {
|
|
929
942
|
schemaVersion: "1.0";
|
|
930
943
|
};
|
|
931
|
-
answer:
|
|
944
|
+
answer: number;
|
|
932
945
|
} | {
|
|
933
|
-
type: "
|
|
946
|
+
type: "number";
|
|
934
947
|
meta: {
|
|
935
948
|
schemaVersion: "1.0";
|
|
936
949
|
};
|
|
@@ -941,12 +954,6 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
941
954
|
schemaVersion: "1.0";
|
|
942
955
|
};
|
|
943
956
|
answer: string;
|
|
944
|
-
} | {
|
|
945
|
-
type: "number";
|
|
946
|
-
meta: {
|
|
947
|
-
schemaVersion: "1.0";
|
|
948
|
-
};
|
|
949
|
-
answer: number;
|
|
950
957
|
} | {
|
|
951
958
|
type: "text";
|
|
952
959
|
meta: {
|
|
@@ -1003,6 +1010,12 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
1003
1010
|
schemaVersion: "1.0";
|
|
1004
1011
|
};
|
|
1005
1012
|
answer: string;
|
|
1013
|
+
} | {
|
|
1014
|
+
type: "boolean";
|
|
1015
|
+
meta: {
|
|
1016
|
+
schemaVersion: "1.0";
|
|
1017
|
+
};
|
|
1018
|
+
answer: boolean;
|
|
1006
1019
|
} | {
|
|
1007
1020
|
type: "checkBoxes";
|
|
1008
1021
|
meta: {
|
|
@@ -1022,13 +1035,13 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
1022
1035
|
};
|
|
1023
1036
|
answer: string[];
|
|
1024
1037
|
} | {
|
|
1025
|
-
type: "
|
|
1038
|
+
type: "currency";
|
|
1026
1039
|
meta: {
|
|
1027
1040
|
schemaVersion: "1.0";
|
|
1028
1041
|
};
|
|
1029
|
-
answer:
|
|
1042
|
+
answer: number;
|
|
1030
1043
|
} | {
|
|
1031
|
-
type: "
|
|
1044
|
+
type: "number";
|
|
1032
1045
|
meta: {
|
|
1033
1046
|
schemaVersion: "1.0";
|
|
1034
1047
|
};
|
|
@@ -1039,12 +1052,6 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
1039
1052
|
schemaVersion: "1.0";
|
|
1040
1053
|
};
|
|
1041
1054
|
answer: string;
|
|
1042
|
-
} | {
|
|
1043
|
-
type: "number";
|
|
1044
|
-
meta: {
|
|
1045
|
-
schemaVersion: "1.0";
|
|
1046
|
-
};
|
|
1047
|
-
answer: number;
|
|
1048
1055
|
} | {
|
|
1049
1056
|
type: "text";
|
|
1050
1057
|
meta: {
|
|
@@ -1101,6 +1108,12 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
1101
1108
|
schemaVersion: "1.0";
|
|
1102
1109
|
};
|
|
1103
1110
|
answer: string;
|
|
1111
|
+
} | {
|
|
1112
|
+
type: "boolean";
|
|
1113
|
+
meta: {
|
|
1114
|
+
schemaVersion: "1.0";
|
|
1115
|
+
};
|
|
1116
|
+
answer: boolean;
|
|
1104
1117
|
} | {
|
|
1105
1118
|
type: "checkBoxes";
|
|
1106
1119
|
meta: {
|
|
@@ -1120,13 +1133,13 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
1120
1133
|
};
|
|
1121
1134
|
answer: string[];
|
|
1122
1135
|
} | {
|
|
1123
|
-
type: "
|
|
1136
|
+
type: "currency";
|
|
1124
1137
|
meta: {
|
|
1125
1138
|
schemaVersion: "1.0";
|
|
1126
1139
|
};
|
|
1127
|
-
answer:
|
|
1140
|
+
answer: number;
|
|
1128
1141
|
} | {
|
|
1129
|
-
type: "
|
|
1142
|
+
type: "number";
|
|
1130
1143
|
meta: {
|
|
1131
1144
|
schemaVersion: "1.0";
|
|
1132
1145
|
};
|
|
@@ -1137,12 +1150,6 @@ export declare const AnyAnswerSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObje
|
|
|
1137
1150
|
schemaVersion: "1.0";
|
|
1138
1151
|
};
|
|
1139
1152
|
answer: string;
|
|
1140
|
-
} | {
|
|
1141
|
-
type: "number";
|
|
1142
|
-
meta: {
|
|
1143
|
-
schemaVersion: "1.0";
|
|
1144
|
-
};
|
|
1145
|
-
answer: number;
|
|
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
|
+
optionBasedAnswers_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: optionBasedAnswers_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
|
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const CurrencyAnswerSchema: z.ZodObject<{
|
|
3
|
+
meta: z.ZodObject<{
|
|
4
|
+
schemaVersion: z.ZodLiteral<"1.0">;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
schemaVersion: "1.0";
|
|
7
|
+
}, {
|
|
8
|
+
schemaVersion: "1.0";
|
|
9
|
+
}>;
|
|
10
|
+
} & {
|
|
11
|
+
type: z.ZodLiteral<"currency">;
|
|
12
|
+
answer: z.ZodNumber;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
type: "currency";
|
|
15
|
+
meta: {
|
|
16
|
+
schemaVersion: "1.0";
|
|
17
|
+
};
|
|
18
|
+
answer: number;
|
|
19
|
+
}, {
|
|
20
|
+
type: "currency";
|
|
21
|
+
meta: {
|
|
22
|
+
schemaVersion: "1.0";
|
|
23
|
+
};
|
|
24
|
+
answer: number;
|
|
25
|
+
}>;
|
|
26
|
+
export declare const NumberAnswerSchema: z.ZodObject<{
|
|
27
|
+
meta: z.ZodObject<{
|
|
28
|
+
schemaVersion: z.ZodLiteral<"1.0">;
|
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
|
+
schemaVersion: "1.0";
|
|
31
|
+
}, {
|
|
32
|
+
schemaVersion: "1.0";
|
|
33
|
+
}>;
|
|
34
|
+
} & {
|
|
35
|
+
type: z.ZodLiteral<"number">;
|
|
36
|
+
answer: z.ZodNumber;
|
|
37
|
+
}, "strip", z.ZodTypeAny, {
|
|
38
|
+
type: "number";
|
|
39
|
+
meta: {
|
|
40
|
+
schemaVersion: "1.0";
|
|
41
|
+
};
|
|
42
|
+
answer: number;
|
|
43
|
+
}, {
|
|
44
|
+
type: "number";
|
|
45
|
+
meta: {
|
|
46
|
+
schemaVersion: "1.0";
|
|
47
|
+
};
|
|
48
|
+
answer: number;
|
|
49
|
+
}>;
|
|
50
|
+
export declare const NumberRangeAnswerSchema: 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<"numberRange">;
|
|
60
|
+
answer: z.ZodObject<{
|
|
61
|
+
start: z.ZodNumber;
|
|
62
|
+
end: z.ZodNumber;
|
|
63
|
+
}, "strip", z.ZodTypeAny, {
|
|
64
|
+
start: number;
|
|
65
|
+
end: number;
|
|
66
|
+
}, {
|
|
67
|
+
start: number;
|
|
68
|
+
end: number;
|
|
69
|
+
}>;
|
|
70
|
+
}, "strip", z.ZodTypeAny, {
|
|
71
|
+
type: "numberRange";
|
|
72
|
+
meta: {
|
|
73
|
+
schemaVersion: "1.0";
|
|
74
|
+
};
|
|
75
|
+
answer: {
|
|
76
|
+
start: number;
|
|
77
|
+
end: number;
|
|
78
|
+
};
|
|
79
|
+
}, {
|
|
80
|
+
type: "numberRange";
|
|
81
|
+
meta: {
|
|
82
|
+
schemaVersion: "1.0";
|
|
83
|
+
};
|
|
84
|
+
answer: {
|
|
85
|
+
start: number;
|
|
86
|
+
end: number;
|
|
87
|
+
};
|
|
88
|
+
}>;
|
|
89
|
+
export type CurrencyAnswerType = z.infer<typeof CurrencyAnswerSchema>;
|
|
90
|
+
export type NumberAnswerType = z.infer<typeof NumberAnswerSchema>;
|
|
91
|
+
export type NumberRangeAnswerType = z.infer<typeof NumberRangeAnswerSchema>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NumberRangeAnswerSchema = exports.NumberAnswerSchema = exports.CurrencyAnswerSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const answer_1 = require("./answer");
|
|
6
|
+
// Answers to Number Question Types
|
|
7
|
+
exports.CurrencyAnswerSchema = answer_1.AnswerSchema.merge(zod_1.z.object({
|
|
8
|
+
type: zod_1.z.literal('currency'), // The type of answer
|
|
9
|
+
answer: zod_1.z.number() // The answer to the question (number)
|
|
10
|
+
}));
|
|
11
|
+
exports.NumberAnswerSchema = answer_1.AnswerSchema.merge(zod_1.z.object({
|
|
12
|
+
type: zod_1.z.literal('number'), // The type of answer
|
|
13
|
+
answer: zod_1.z.number() // The answer to the question (number)
|
|
14
|
+
}));
|
|
15
|
+
exports.NumberRangeAnswerSchema = answer_1.AnswerSchema.merge(zod_1.z.object({
|
|
16
|
+
type: zod_1.z.literal('numberRange'), // The type of answer
|
|
17
|
+
answer: zod_1.z.object({
|
|
18
|
+
start: zod_1.z.number(), // The start number (number)
|
|
19
|
+
end: zod_1.z.number() // The end number (number)
|
|
20
|
+
})
|
|
21
|
+
}));
|
|
@@ -1,4 +1,28 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export declare const BooleanAnswerSchema: z.ZodObject<{
|
|
3
|
+
meta: z.ZodObject<{
|
|
4
|
+
schemaVersion: z.ZodLiteral<"1.0">;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
schemaVersion: "1.0";
|
|
7
|
+
}, {
|
|
8
|
+
schemaVersion: "1.0";
|
|
9
|
+
}>;
|
|
10
|
+
} & {
|
|
11
|
+
type: z.ZodLiteral<"boolean">;
|
|
12
|
+
answer: z.ZodBoolean;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
type: "boolean";
|
|
15
|
+
meta: {
|
|
16
|
+
schemaVersion: "1.0";
|
|
17
|
+
};
|
|
18
|
+
answer: boolean;
|
|
19
|
+
}, {
|
|
20
|
+
type: "boolean";
|
|
21
|
+
meta: {
|
|
22
|
+
schemaVersion: "1.0";
|
|
23
|
+
};
|
|
24
|
+
answer: boolean;
|
|
25
|
+
}>;
|
|
2
26
|
export declare const CheckboxesAnswerSchema: z.ZodObject<{
|
|
3
27
|
meta: z.ZodObject<{
|
|
4
28
|
schemaVersion: z.ZodLiteral<"1.0">;
|
|
@@ -71,6 +95,7 @@ export declare const SelectBoxAnswerSchema: z.ZodObject<{
|
|
|
71
95
|
};
|
|
72
96
|
answer: string[];
|
|
73
97
|
}>;
|
|
98
|
+
export type BooleanAnswerType = z.infer<typeof BooleanAnswerSchema>;
|
|
74
99
|
export type CheckboxesAnswerType = z.infer<typeof CheckboxesAnswerSchema>;
|
|
75
100
|
export type RadioButtonsAnswerType = z.infer<typeof RadioButtonsAnswerSchema>;
|
|
76
101
|
export type SelectBoxAnswerType = z.infer<typeof SelectBoxAnswerSchema>;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SelectBoxAnswerSchema = exports.RadioButtonsAnswerSchema = exports.CheckboxesAnswerSchema = void 0;
|
|
3
|
+
exports.SelectBoxAnswerSchema = exports.RadioButtonsAnswerSchema = exports.CheckboxesAnswerSchema = exports.BooleanAnswerSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const answer_1 = require("./answer");
|
|
6
6
|
// Answers to Option Based 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
|
+
}));
|
|
7
11
|
exports.CheckboxesAnswerSchema = answer_1.AnswerSchema.merge(zod_1.z.object({
|
|
8
12
|
type: zod_1.z.literal('checkBoxes'), // The type of answer
|
|
9
13
|
answer: zod_1.z.array(zod_1.z.string()) // The answer to the question (array of strings)
|