@dmptool/types 1.2.6 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +1 -1
  2. package/dist/answers/__tests__/defaults.spec.js +216 -0
  3. package/dist/answers/answer.d.ts +29 -14
  4. package/dist/answers/answer.js +11 -5
  5. package/dist/answers/dateAnswers.d.ts +20 -47
  6. package/dist/answers/dateAnswers.js +20 -10
  7. package/dist/answers/graphQLAnswers.d.ts +48 -120
  8. package/dist/answers/graphQLAnswers.js +46 -21
  9. package/dist/answers/index.d.ts +155 -1439
  10. package/dist/answers/index.js +26 -1
  11. package/dist/answers/numberAnswers.d.ts +38 -92
  12. package/dist/answers/numberAnswers.js +38 -19
  13. package/dist/answers/optionBasedAnswers.d.ts +42 -87
  14. package/dist/answers/optionBasedAnswers.js +37 -21
  15. package/dist/answers/tableAnswers.d.ts +348 -3032
  16. package/dist/answers/tableAnswers.js +25 -61
  17. package/dist/answers/textAnswers.d.ts +32 -68
  18. package/dist/answers/textAnswers.js +30 -17
  19. package/dist/questions/__tests__/dateQuestions.spec.js +3 -0
  20. package/dist/questions/__tests__/defaults.spec.d.ts +1 -0
  21. package/dist/questions/__tests__/defaults.spec.js +668 -0
  22. package/dist/questions/__tests__/optionBasedQuestions.spec.js +3 -2
  23. package/dist/questions/__tests__/tableQuestion.spec.js +22 -23
  24. package/dist/questions/__tests__/textQuestions.spec.js +32 -0
  25. package/dist/questions/dateQuestions.d.ts +45 -191
  26. package/dist/questions/dateQuestions.js +26 -23
  27. package/dist/questions/graphQLQuestions.d.ts +262 -556
  28. package/dist/questions/graphQLQuestions.js +225 -223
  29. package/dist/questions/index.d.ts +689 -7440
  30. package/dist/questions/index.js +26 -1
  31. package/dist/questions/numberQuestions.d.ts +85 -331
  32. package/dist/questions/numberQuestions.js +50 -36
  33. package/dist/questions/optionBasedQuestions.d.ts +83 -290
  34. package/dist/questions/optionBasedQuestions.js +58 -41
  35. package/dist/questions/question.d.ts +72 -35
  36. package/dist/questions/question.js +14 -5
  37. package/dist/questions/tableQuestions.d.ts +1977 -9646
  38. package/dist/questions/tableQuestions.js +184 -192
  39. package/dist/questions/textQuestions.d.ts +70 -226
  40. package/dist/questions/textQuestions.js +31 -31
  41. package/package.json +4 -5
  42. package/dist/answers/__tests__/usage.spec.js +0 -178
  43. package/dist/questions/__tests__/usage.spec.d.ts +0 -8
  44. package/dist/questions/__tests__/usage.spec.js +0 -473
  45. package/dist/schemas/affiliationSearchAnswer.schema.json +0 -45
  46. package/dist/schemas/affiliationSearchQuestion.schema.json +0 -140
  47. package/dist/schemas/anyAnswer.schema.json +0 -605
  48. package/dist/schemas/anyQuestion.schema.json +0 -2455
  49. package/dist/schemas/anyTableColumnAnswer.schema.json +0 -466
  50. package/dist/schemas/anyTableColumnQuestion.schema.json +0 -1092
  51. package/dist/schemas/booleanAnswer.schema.json +0 -34
  52. package/dist/schemas/booleanQuestion.schema.json +0 -56
  53. package/dist/schemas/checkboxesAnswer.schema.json +0 -39
  54. package/dist/schemas/checkboxesQuestion.schema.json +0 -76
  55. package/dist/schemas/currencyAnswer.schema.json +0 -34
  56. package/dist/schemas/currencyQuestion.schema.json +0 -67
  57. package/dist/schemas/dateAnswer.schema.json +0 -34
  58. package/dist/schemas/datePickerAnswer.schema.json +0 -37
  59. package/dist/schemas/datePickerQuestion.schema.json +0 -52
  60. package/dist/schemas/dateQuestion.schema.json +0 -62
  61. package/dist/schemas/dateRangeAnswer.schema.json +0 -45
  62. package/dist/schemas/dateRangeQuestion.schema.json +0 -112
  63. package/dist/schemas/emailAnswer.schema.json +0 -34
  64. package/dist/schemas/emailQuestion.schema.json +0 -66
  65. package/dist/schemas/filteredSearchAnswer.schema.json +0 -40
  66. package/dist/schemas/filteredSearchQuestion.schema.json +0 -130
  67. package/dist/schemas/licenseSearchAnswer.schema.json +0 -49
  68. package/dist/schemas/licenseSearchQuestion.schema.json +0 -164
  69. package/dist/schemas/metadataStandardSearchAnswer.schema.json +0 -49
  70. package/dist/schemas/metadataStandardSearchQuestion.schema.json +0 -174
  71. package/dist/schemas/multiselectBoxAnswer.schema.json +0 -39
  72. package/dist/schemas/multiselectBoxQuestion.schema.json +0 -85
  73. package/dist/schemas/numberAnswer.schema.json +0 -34
  74. package/dist/schemas/numberQuestion.schema.json +0 -63
  75. package/dist/schemas/numberRangeAnswer.schema.json +0 -45
  76. package/dist/schemas/numberRangeQuestion.schema.json +0 -94
  77. package/dist/schemas/numberWithContextAnswer.schema.json +0 -45
  78. package/dist/schemas/numberWithContextQuestion.schema.json +0 -84
  79. package/dist/schemas/radioButtonsAnswer.schema.json +0 -34
  80. package/dist/schemas/radioButtonsQuestion.schema.json +0 -76
  81. package/dist/schemas/repositorySearchAnswer.schema.json +0 -49
  82. package/dist/schemas/repositorySearchQuestion.schema.json +0 -180
  83. package/dist/schemas/researchOutputTableAnswer.schema.json +0 -519
  84. package/dist/schemas/researchOutputTableQuestion.schema.json +0 -1183
  85. package/dist/schemas/selectBoxAnswer.schema.json +0 -34
  86. package/dist/schemas/selectBoxQuestion.schema.json +0 -85
  87. package/dist/schemas/tableAnswer.schema.json +0 -519
  88. package/dist/schemas/tableQuestion.schema.json +0 -1183
  89. package/dist/schemas/textAnswer.schema.json +0 -34
  90. package/dist/schemas/textAreaAnswer.schema.json +0 -34
  91. package/dist/schemas/textAreaQuestion.schema.json +0 -70
  92. package/dist/schemas/textQuestion.schema.json +0 -62
  93. package/dist/schemas/typeaheadSearchAnswer.schema.json +0 -37
  94. package/dist/schemas/typeaheadSearchQuestion.schema.json +0 -120
  95. package/dist/schemas/urlAnswer.schema.json +0 -34
  96. package/dist/schemas/urlQuestion.schema.json +0 -62
  97. /package/dist/answers/__tests__/{usage.spec.d.ts → defaults.spec.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResearchOutputTableAnswerSchema = exports.TableAnswerSchema = exports.TableRowAnswerSchema = exports.AnyTableColumnAnswerSchema = void 0;
3
+ exports.AnyTableColumnAnswerJSONSchema = exports.ResearchOutputTableAnswerJSONSchema = exports.TableAnswerJSONSchema = exports.DefaultResearchOutputTableAnswer = exports.ResearchOutputTableAnswerSchema = exports.DefaultTableAnswer = exports.TableAnswerSchema = exports.AnyTableColumnAnswerSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const answer_1 = require("./answer");
6
6
  const optionBasedAnswers_1 = require("./optionBasedAnswers");
@@ -30,76 +30,40 @@ exports.AnyTableColumnAnswerSchema = zod_1.z.discriminatedUnion('type', [
30
30
  textAnswers_1.TextAreaAnswerSchema,
31
31
  textAnswers_1.URLAnswerSchema
32
32
  ]);
33
- exports.TableRowAnswerSchema = zod_1.z.object({
33
+ const TableRowAnswerSchema = zod_1.z.object({
34
34
  columns: zod_1.z.array(exports.AnyTableColumnAnswerSchema) // The answers for each column in the row
35
35
  });
36
+ const DefaultTableRowAnswer = TableRowAnswerSchema.parse({
37
+ columns: [textAnswers_1.DefaultTextAreaAnswer]
38
+ });
36
39
  // Answers to Table Question Types
37
- exports.TableAnswerSchema = answer_1.AnswerSchema.merge(zod_1.z.object({
38
- type: zod_1.z.literal('table'),
39
- columnHeadings: zod_1.z.array(zod_1.z.string()).default(['Column A']),
40
- answer: zod_1.z.array(exports.TableRowAnswerSchema).default([{
41
- columns: [{
42
- type: 'textArea',
43
- answer: '',
44
- meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION }
45
- }]
46
- }])
47
- }));
48
- exports.ResearchOutputTableAnswerSchema = exports.TableAnswerSchema.merge(zod_1.z.object({
49
- type: zod_1.z.literal('researchOutputTable'),
50
- columnHeadings: zod_1.z.array(zod_1.z.string()).default(['Title', 'Output Type']),
51
- answer: zod_1.z.array(exports.TableRowAnswerSchema).default([{
40
+ exports.TableAnswerSchema = zod_1.z.object(Object.assign(Object.assign({}, answer_1.AnswerSchema.shape), { type: zod_1.z.literal('table'), columnHeadings: zod_1.z.array(zod_1.z.string()).default(['Column A']), answer: zod_1.z.array(TableRowAnswerSchema) }));
41
+ exports.DefaultTableAnswer = exports.TableAnswerSchema.parse({
42
+ type: 'table',
43
+ columnHeadings: ['Column A'],
44
+ answer: [DefaultTableRowAnswer],
45
+ meta: questions_1.DefaultMeta
46
+ });
47
+ exports.ResearchOutputTableAnswerSchema = zod_1.z.object(Object.assign(Object.assign({}, exports.TableAnswerSchema.shape), { type: zod_1.z.literal('researchOutputTable'), columnHeadings: zod_1.z.array(zod_1.z.string()).default(['Title', 'Type']) }));
48
+ exports.DefaultResearchOutputTableAnswer = exports.ResearchOutputTableAnswerSchema.parse({
49
+ type: 'researchOutputTable',
50
+ columnHeadings: ['Title', 'Type'],
51
+ answer: [{
52
52
  columns: [
53
53
  {
54
54
  type: 'text',
55
55
  answer: '',
56
- meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION }
57
- },
58
- {
59
- type: 'textArea',
60
- answer: '',
61
- meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION }
62
- },
63
- {
64
- type: 'selectBox',
65
- answer: '',
66
- meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION }
67
- },
68
- {
69
- type: 'checkBoxes',
70
- answer: [],
71
- meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION }
56
+ meta: questions_1.DefaultMeta
72
57
  },
73
58
  {
74
59
  type: 'selectBox',
75
60
  answer: '',
76
- meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION }
77
- },
78
- {
79
- type: 'date',
80
- answer: '',
81
- meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION }
82
- },
83
- {
84
- type: 'numberWithContext',
85
- answer: { value: undefined, context: '' },
86
- meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION }
87
- },
88
- {
89
- type: 'repositorySearch',
90
- answer: [],
91
- meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION }
92
- },
93
- {
94
- type: 'metadataStandardSearch',
95
- answer: [],
96
- meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION }
97
- },
98
- {
99
- type: 'licenseSearch',
100
- answer: [],
101
- meta: { schemaVersion: questions_1.CURRENT_SCHEMA_VERSION }
61
+ meta: questions_1.DefaultMeta
102
62
  }
103
63
  ]
104
- }])
105
- }));
64
+ }],
65
+ meta: questions_1.DefaultMeta
66
+ });
67
+ exports.TableAnswerJSONSchema = zod_1.z.toJSONSchema(exports.TableAnswerSchema);
68
+ exports.ResearchOutputTableAnswerJSONSchema = zod_1.z.toJSONSchema(exports.ResearchOutputTableAnswerSchema);
69
+ exports.AnyTableColumnAnswerJSONSchema = zod_1.z.toJSONSchema(exports.AnyTableColumnAnswerSchema);
@@ -1,101 +1,65 @@
1
1
  import { z } from 'zod';
2
2
  export declare const EmailAnswerSchema: z.ZodObject<{
3
- meta: z.ZodDefault<z.ZodObject<{
4
- schemaVersion: z.ZodDefault<z.ZodString>;
5
- }, "strip", z.ZodTypeAny, {
6
- schemaVersion: string;
7
- }, {
8
- schemaVersion?: string | undefined;
9
- }>>;
10
- } & {
11
3
  type: z.ZodLiteral<"email">;
12
4
  answer: z.ZodDefault<z.ZodString>;
13
- }, "strip", z.ZodTypeAny, {
5
+ meta: z.ZodObject<{
6
+ schemaVersion: z.ZodDefault<z.ZodString>;
7
+ }, z.core.$strip>;
8
+ }, z.core.$strip>;
9
+ export declare const DefaultEmailAnswer: {
14
10
  type: "email";
11
+ answer: string;
15
12
  meta: {
16
13
  schemaVersion: string;
17
14
  };
18
- answer: string;
19
- }, {
20
- type: "email";
21
- meta?: {
22
- schemaVersion?: string | undefined;
23
- } | undefined;
24
- answer?: string | undefined;
25
- }>;
15
+ };
26
16
  export declare const TextAnswerSchema: z.ZodObject<{
27
- meta: z.ZodDefault<z.ZodObject<{
28
- schemaVersion: z.ZodDefault<z.ZodString>;
29
- }, "strip", z.ZodTypeAny, {
30
- schemaVersion: string;
31
- }, {
32
- schemaVersion?: string | undefined;
33
- }>>;
34
- } & {
35
17
  type: z.ZodLiteral<"text">;
36
18
  answer: z.ZodDefault<z.ZodString>;
37
- }, "strip", z.ZodTypeAny, {
19
+ meta: z.ZodObject<{
20
+ schemaVersion: z.ZodDefault<z.ZodString>;
21
+ }, z.core.$strip>;
22
+ }, z.core.$strip>;
23
+ export declare const DefaultTextAnswer: {
38
24
  type: "text";
25
+ answer: string;
39
26
  meta: {
40
27
  schemaVersion: string;
41
28
  };
42
- answer: string;
43
- }, {
44
- type: "text";
45
- meta?: {
46
- schemaVersion?: string | undefined;
47
- } | undefined;
48
- answer?: string | undefined;
49
- }>;
29
+ };
50
30
  export declare const TextAreaAnswerSchema: z.ZodObject<{
51
- meta: z.ZodDefault<z.ZodObject<{
52
- schemaVersion: z.ZodDefault<z.ZodString>;
53
- }, "strip", z.ZodTypeAny, {
54
- schemaVersion: string;
55
- }, {
56
- schemaVersion?: string | undefined;
57
- }>>;
58
- } & {
59
31
  type: z.ZodLiteral<"textArea">;
60
32
  answer: z.ZodDefault<z.ZodString>;
61
- }, "strip", z.ZodTypeAny, {
33
+ meta: z.ZodObject<{
34
+ schemaVersion: z.ZodDefault<z.ZodString>;
35
+ }, z.core.$strip>;
36
+ }, z.core.$strip>;
37
+ export declare const DefaultTextAreaAnswer: {
62
38
  type: "textArea";
39
+ answer: string;
63
40
  meta: {
64
41
  schemaVersion: string;
65
42
  };
66
- answer: string;
67
- }, {
68
- type: "textArea";
69
- meta?: {
70
- schemaVersion?: string | undefined;
71
- } | undefined;
72
- answer?: string | undefined;
73
- }>;
43
+ };
74
44
  export declare const URLAnswerSchema: z.ZodObject<{
75
- meta: z.ZodDefault<z.ZodObject<{
76
- schemaVersion: z.ZodDefault<z.ZodString>;
77
- }, "strip", z.ZodTypeAny, {
78
- schemaVersion: string;
79
- }, {
80
- schemaVersion?: string | undefined;
81
- }>>;
82
- } & {
83
45
  type: z.ZodLiteral<"url">;
84
46
  answer: z.ZodDefault<z.ZodString>;
85
- }, "strip", z.ZodTypeAny, {
47
+ meta: z.ZodObject<{
48
+ schemaVersion: z.ZodDefault<z.ZodString>;
49
+ }, z.core.$strip>;
50
+ }, z.core.$strip>;
51
+ export declare const DefaultURLAnswer: {
86
52
  type: "url";
53
+ answer: string;
87
54
  meta: {
88
55
  schemaVersion: string;
89
56
  };
90
- answer: string;
91
- }, {
92
- type: "url";
93
- meta?: {
94
- schemaVersion?: string | undefined;
95
- } | undefined;
96
- answer?: string | undefined;
97
- }>;
57
+ };
98
58
  export type EmailAnswerType = z.infer<typeof EmailAnswerSchema>;
99
59
  export type TextAnswerType = z.infer<typeof TextAnswerSchema>;
100
60
  export type TextAreaAnswerType = z.infer<typeof TextAreaAnswerSchema>;
101
61
  export type URLAnswerType = z.infer<typeof URLAnswerSchema>;
62
+ export declare const EmailAnswerJSONSchema: z.core.JSONSchema.JSONSchema;
63
+ export declare const TextAnswerJSONSchema: z.core.JSONSchema.JSONSchema;
64
+ export declare const TextAreaAnswerJSONSchema: z.core.JSONSchema.JSONSchema;
65
+ export declare const URLAnswerJSONSchema: z.core.JSONSchema.JSONSchema;
@@ -1,22 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.URLAnswerSchema = exports.TextAreaAnswerSchema = exports.TextAnswerSchema = exports.EmailAnswerSchema = void 0;
3
+ exports.URLAnswerJSONSchema = exports.TextAreaAnswerJSONSchema = exports.TextAnswerJSONSchema = exports.EmailAnswerJSONSchema = exports.DefaultURLAnswer = exports.URLAnswerSchema = exports.DefaultTextAreaAnswer = exports.TextAreaAnswerSchema = exports.DefaultTextAnswer = exports.TextAnswerSchema = exports.DefaultEmailAnswer = exports.EmailAnswerSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const answer_1 = require("./answer");
6
+ const questions_1 = require("../questions");
6
7
  // Answers to Text Based Question Types
7
- exports.EmailAnswerSchema = answer_1.AnswerSchema.merge(zod_1.z.object({
8
- type: zod_1.z.literal('email'),
9
- answer: zod_1.z.string().default('')
10
- }));
11
- exports.TextAnswerSchema = answer_1.AnswerSchema.merge(zod_1.z.object({
12
- type: zod_1.z.literal('text'),
13
- answer: zod_1.z.string().default('')
14
- }));
15
- exports.TextAreaAnswerSchema = answer_1.AnswerSchema.merge(zod_1.z.object({
16
- type: zod_1.z.literal('textArea'),
17
- answer: zod_1.z.string().default('')
18
- }));
19
- exports.URLAnswerSchema = answer_1.AnswerSchema.merge(zod_1.z.object({
20
- type: zod_1.z.literal('url'),
21
- answer: zod_1.z.string().default('')
22
- }));
8
+ exports.EmailAnswerSchema = zod_1.z.object(Object.assign(Object.assign({}, answer_1.AnswerSchema.shape), { type: zod_1.z.literal('email'), answer: zod_1.z.string().default('') }));
9
+ exports.DefaultEmailAnswer = exports.EmailAnswerSchema.parse({
10
+ type: 'email',
11
+ answer: '',
12
+ meta: questions_1.DefaultMeta
13
+ });
14
+ exports.TextAnswerSchema = zod_1.z.object(Object.assign(Object.assign({}, answer_1.AnswerSchema.shape), { type: zod_1.z.literal('text'), answer: zod_1.z.string().default('') }));
15
+ exports.DefaultTextAnswer = exports.TextAnswerSchema.parse({
16
+ type: 'text',
17
+ answer: '',
18
+ meta: questions_1.DefaultMeta
19
+ });
20
+ exports.TextAreaAnswerSchema = zod_1.z.object(Object.assign(Object.assign({}, answer_1.AnswerSchema.shape), { type: zod_1.z.literal('textArea'), answer: zod_1.z.string().default('') }));
21
+ exports.DefaultTextAreaAnswer = exports.TextAreaAnswerSchema.parse({
22
+ type: 'textArea',
23
+ answer: '',
24
+ meta: questions_1.DefaultMeta
25
+ });
26
+ exports.URLAnswerSchema = zod_1.z.object(Object.assign(Object.assign({}, answer_1.AnswerSchema.shape), { type: zod_1.z.literal('url'), answer: zod_1.z.string().default('') }));
27
+ exports.DefaultURLAnswer = exports.URLAnswerSchema.parse({
28
+ type: 'url',
29
+ answer: '',
30
+ meta: questions_1.DefaultMeta
31
+ });
32
+ exports.EmailAnswerJSONSchema = zod_1.z.toJSONSchema(exports.EmailAnswerSchema);
33
+ exports.TextAnswerJSONSchema = zod_1.z.toJSONSchema(exports.TextAnswerSchema);
34
+ exports.TextAreaAnswerJSONSchema = zod_1.z.toJSONSchema(exports.TextAreaAnswerSchema);
35
+ exports.URLAnswerJSONSchema = zod_1.z.toJSONSchema(exports.URLAnswerSchema);
@@ -47,6 +47,9 @@ describe("DateRangeQuestion", () => {
47
47
  it("should validate a valid DateRangeQuestion object", () => {
48
48
  const validDateRange = {
49
49
  type: "dateRange",
50
+ attributes: {
51
+ label: "Date Range",
52
+ },
50
53
  columns: {
51
54
  start: {
52
55
  label: "Start Date",
@@ -0,0 +1 @@
1
+ export {};