@dmptool/types 1.2.6 → 2.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.
Files changed (103) 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/dmp/__tests__/commonStandard.spec.d.ts +1 -0
  20. package/dist/dmp/__tests__/commonStandard.spec.js +210 -0
  21. package/dist/dmp/__tests__/extensions.spec.d.ts +1 -0
  22. package/dist/dmp/__tests__/extensions.spec.js +99 -0
  23. package/dist/dmp/extension.d.ts +1006 -0
  24. package/dist/dmp/extension.js +234 -0
  25. package/dist/dmp/index.d.ts +9 -0
  26. package/dist/dmp/index.js +23 -0
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.js +1 -0
  29. package/dist/questions/__tests__/dateQuestions.spec.js +3 -0
  30. package/dist/questions/__tests__/defaults.spec.d.ts +1 -0
  31. package/dist/questions/__tests__/defaults.spec.js +668 -0
  32. package/dist/questions/__tests__/optionBasedQuestions.spec.js +3 -2
  33. package/dist/questions/__tests__/tableQuestion.spec.js +22 -23
  34. package/dist/questions/__tests__/textQuestions.spec.js +32 -0
  35. package/dist/questions/dateQuestions.d.ts +45 -191
  36. package/dist/questions/dateQuestions.js +26 -23
  37. package/dist/questions/graphQLQuestions.d.ts +262 -556
  38. package/dist/questions/graphQLQuestions.js +225 -223
  39. package/dist/questions/index.d.ts +670 -7441
  40. package/dist/questions/index.js +26 -1
  41. package/dist/questions/numberQuestions.d.ts +85 -331
  42. package/dist/questions/numberQuestions.js +50 -36
  43. package/dist/questions/optionBasedQuestions.d.ts +83 -290
  44. package/dist/questions/optionBasedQuestions.js +58 -41
  45. package/dist/questions/question.d.ts +72 -35
  46. package/dist/questions/question.js +14 -5
  47. package/dist/questions/tableQuestions.d.ts +2228 -9599
  48. package/dist/questions/tableQuestions.js +185 -192
  49. package/dist/questions/textQuestions.d.ts +70 -226
  50. package/dist/questions/textQuestions.js +31 -31
  51. package/dist/schemas/affiliationSearchAnswer.schema.json +35 -33
  52. package/dist/schemas/affiliationSearchQuestion.schema.json +124 -122
  53. package/dist/schemas/anyAnswer.schema.json +1229 -408
  54. package/dist/schemas/anyQuestion.schema.json +4312 -2023
  55. package/dist/schemas/anyTableColumnAnswer.schema.json +535 -314
  56. package/dist/schemas/anyTableColumnQuestion.schema.json +1309 -874
  57. package/dist/schemas/booleanAnswer.schema.json +22 -23
  58. package/dist/schemas/booleanQuestion.schema.json +39 -43
  59. package/dist/schemas/checkboxesAnswer.schema.json +27 -28
  60. package/dist/schemas/checkboxesQuestion.schema.json +63 -62
  61. package/dist/schemas/currencyAnswer.schema.json +22 -23
  62. package/dist/schemas/currencyQuestion.schema.json +57 -54
  63. package/dist/schemas/dateAnswer.schema.json +22 -23
  64. package/dist/schemas/dateQuestion.schema.json +50 -49
  65. package/dist/schemas/dateRangeAnswer.schema.json +35 -33
  66. package/dist/schemas/dateRangeQuestion.schema.json +87 -78
  67. package/dist/schemas/dmp.schema.json +2070 -0
  68. package/dist/schemas/dmpExtension.schema.json +1874 -0
  69. package/dist/schemas/emailAnswer.schema.json +22 -23
  70. package/dist/schemas/emailQuestion.schema.json +55 -53
  71. package/dist/schemas/licenseSearchAnswer.schema.json +40 -38
  72. package/dist/schemas/licenseSearchQuestion.schema.json +122 -146
  73. package/dist/schemas/metadataStandardSearchAnswer.schema.json +40 -38
  74. package/dist/schemas/metadataStandardSearchQuestion.schema.json +123 -156
  75. package/dist/schemas/multiselectBoxAnswer.schema.json +27 -28
  76. package/dist/schemas/multiselectBoxQuestion.schema.json +70 -71
  77. package/dist/schemas/numberAnswer.schema.json +22 -23
  78. package/dist/schemas/numberQuestion.schema.json +52 -50
  79. package/dist/schemas/numberRangeAnswer.schema.json +35 -33
  80. package/dist/schemas/numberRangeQuestion.schema.json +91 -60
  81. package/dist/schemas/numberWithContextAnswer.schema.json +35 -33
  82. package/dist/schemas/numberWithContextQuestion.schema.json +81 -70
  83. package/dist/schemas/radioButtonsAnswer.schema.json +22 -23
  84. package/dist/schemas/radioButtonsQuestion.schema.json +63 -62
  85. package/dist/schemas/repositorySearchAnswer.schema.json +40 -38
  86. package/dist/schemas/repositorySearchQuestion.schema.json +122 -162
  87. package/dist/schemas/researchOutputTableAnswer.schema.json +16622 -411
  88. package/dist/schemas/researchOutputTableQuestion.schema.json +114 -1157
  89. package/dist/schemas/selectBoxAnswer.schema.json +22 -23
  90. package/dist/schemas/selectBoxQuestion.schema.json +70 -71
  91. package/dist/schemas/tableAnswer.schema.json +581 -360
  92. package/dist/schemas/tableQuestion.schema.json +1388 -942
  93. package/dist/schemas/textAnswer.schema.json +22 -23
  94. package/dist/schemas/textAreaAnswer.schema.json +22 -23
  95. package/dist/schemas/textAreaQuestion.schema.json +65 -57
  96. package/dist/schemas/textQuestion.schema.json +50 -49
  97. package/dist/schemas/urlAnswer.schema.json +22 -23
  98. package/dist/schemas/urlQuestion.schema.json +50 -49
  99. package/package.json +6 -4
  100. package/dist/answers/__tests__/usage.spec.js +0 -178
  101. package/dist/questions/__tests__/usage.spec.d.ts +0 -8
  102. package/dist/questions/__tests__/usage.spec.js +0 -473
  103. /package/dist/answers/__tests__/{usage.spec.d.ts → defaults.spec.d.ts} +0 -0
@@ -1,34 +1,33 @@
1
1
  {
2
- "$ref": "#/definitions/TextAnswer",
3
- "definitions": {
4
- "TextAnswer": {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "type": {
6
+ "type": "string",
7
+ "const": "text"
8
+ },
9
+ "meta": {
5
10
  "type": "object",
6
11
  "properties": {
7
- "type": {
8
- "type": "string",
9
- "const": "text"
10
- },
11
- "meta": {
12
- "type": "object",
13
- "properties": {
14
- "schemaVersion": {
15
- "type": "string",
16
- "default": "1.0"
17
- }
18
- },
19
- "additionalProperties": false,
20
- "default": {}
21
- },
22
- "answer": {
23
- "type": "string",
24
- "default": ""
12
+ "schemaVersion": {
13
+ "default": "1.0",
14
+ "type": "string"
25
15
  }
26
16
  },
27
17
  "required": [
28
- "type"
18
+ "schemaVersion"
29
19
  ],
30
20
  "additionalProperties": false
21
+ },
22
+ "answer": {
23
+ "default": "",
24
+ "type": "string"
31
25
  }
32
26
  },
33
- "$schema": "http://json-schema.org/draft-07/schema#"
27
+ "required": [
28
+ "type",
29
+ "meta",
30
+ "answer"
31
+ ],
32
+ "additionalProperties": false
34
33
  }
@@ -1,34 +1,33 @@
1
1
  {
2
- "$ref": "#/definitions/TextAreaAnswer",
3
- "definitions": {
4
- "TextAreaAnswer": {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "type": {
6
+ "type": "string",
7
+ "const": "textArea"
8
+ },
9
+ "meta": {
5
10
  "type": "object",
6
11
  "properties": {
7
- "type": {
8
- "type": "string",
9
- "const": "textArea"
10
- },
11
- "meta": {
12
- "type": "object",
13
- "properties": {
14
- "schemaVersion": {
15
- "type": "string",
16
- "default": "1.0"
17
- }
18
- },
19
- "additionalProperties": false,
20
- "default": {}
21
- },
22
- "answer": {
23
- "type": "string",
24
- "default": ""
12
+ "schemaVersion": {
13
+ "default": "1.0",
14
+ "type": "string"
25
15
  }
26
16
  },
27
17
  "required": [
28
- "type"
18
+ "schemaVersion"
29
19
  ],
30
20
  "additionalProperties": false
21
+ },
22
+ "answer": {
23
+ "default": "",
24
+ "type": "string"
31
25
  }
32
26
  },
33
- "$schema": "http://json-schema.org/draft-07/schema#"
27
+ "required": [
28
+ "type",
29
+ "meta",
30
+ "answer"
31
+ ],
32
+ "additionalProperties": false
34
33
  }
@@ -1,70 +1,78 @@
1
1
  {
2
- "$ref": "#/definitions/TextAreaQuestion",
3
- "definitions": {
4
- "TextAreaQuestion": {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "type": {
6
+ "type": "string",
7
+ "const": "textArea"
8
+ },
9
+ "attributes": {
5
10
  "type": "object",
6
11
  "properties": {
7
- "type": {
8
- "type": "string",
9
- "const": "textArea"
12
+ "label": {
13
+ "type": "string"
10
14
  },
11
- "attributes": {
12
- "type": "object",
13
- "properties": {
14
- "label": {
15
- "type": "string"
16
- },
17
- "help": {
18
- "type": "string"
19
- },
20
- "labelTranslationKey": {
21
- "type": "string"
22
- },
23
- "cols": {
24
- "type": "number",
25
- "default": 20
26
- },
27
- "maxLength": {
28
- "type": "number"
29
- },
30
- "minLength": {
31
- "type": "number"
32
- },
33
- "rows": {
34
- "type": "number",
35
- "default": 2
36
- },
37
- "asRichText": {
38
- "type": "boolean",
39
- "default": true
40
- }
41
- },
42
- "additionalProperties": false,
43
- "default": {}
15
+ "help": {
16
+ "type": "string"
44
17
  },
45
- "meta": {
46
- "type": "object",
47
- "properties": {
48
- "schemaVersion": {
49
- "type": "string",
50
- "default": "1.0"
51
- },
52
- "title": {
53
- "type": "string"
54
- },
55
- "usageDescription": {
56
- "type": "string"
57
- }
58
- },
59
- "additionalProperties": false,
60
- "default": {}
18
+ "labelTranslationKey": {
19
+ "type": "string"
20
+ },
21
+ "maxLength": {
22
+ "default": 10000,
23
+ "type": "number"
24
+ },
25
+ "minLength": {
26
+ "type": "number"
27
+ },
28
+ "pattern": {
29
+ "type": "string"
30
+ },
31
+ "cols": {
32
+ "default": 20,
33
+ "type": "number"
34
+ },
35
+ "rows": {
36
+ "default": 2,
37
+ "type": "number"
38
+ },
39
+ "asRichText": {
40
+ "default": true,
41
+ "type": "boolean"
42
+ }
43
+ },
44
+ "required": [
45
+ "maxLength",
46
+ "cols",
47
+ "rows",
48
+ "asRichText"
49
+ ],
50
+ "additionalProperties": false
51
+ },
52
+ "meta": {
53
+ "type": "object",
54
+ "properties": {
55
+ "schemaVersion": {
56
+ "default": "1.0",
57
+ "type": "string"
58
+ },
59
+ "title": {
60
+ "type": "string"
61
+ },
62
+ "usageDescription": {
63
+ "type": "string"
61
64
  }
62
65
  },
63
66
  "required": [
64
- "type"
67
+ "schemaVersion"
65
68
  ],
66
69
  "additionalProperties": false
67
70
  }
68
71
  },
69
- "$schema": "http://json-schema.org/draft-07/schema#"
72
+ "required": [
73
+ "type",
74
+ "attributes",
75
+ "meta"
76
+ ],
77
+ "additionalProperties": false
70
78
  }
@@ -1,62 +1,63 @@
1
1
  {
2
- "$ref": "#/definitions/TextQuestion",
3
- "definitions": {
4
- "TextQuestion": {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "type": {
6
+ "type": "string",
7
+ "const": "text"
8
+ },
9
+ "attributes": {
5
10
  "type": "object",
6
11
  "properties": {
7
- "type": {
8
- "type": "string",
9
- "const": "text"
12
+ "label": {
13
+ "type": "string"
10
14
  },
11
- "attributes": {
12
- "type": "object",
13
- "properties": {
14
- "label": {
15
- "type": "string"
16
- },
17
- "help": {
18
- "type": "string"
19
- },
20
- "labelTranslationKey": {
21
- "type": "string"
22
- },
23
- "maxLength": {
24
- "type": "number",
25
- "default": 255
26
- },
27
- "minLength": {
28
- "type": "number"
29
- },
30
- "pattern": {
31
- "type": "string"
32
- }
33
- },
34
- "additionalProperties": false,
35
- "default": {}
15
+ "help": {
16
+ "type": "string"
36
17
  },
37
- "meta": {
38
- "type": "object",
39
- "properties": {
40
- "schemaVersion": {
41
- "type": "string",
42
- "default": "1.0"
43
- },
44
- "title": {
45
- "type": "string"
46
- },
47
- "usageDescription": {
48
- "type": "string"
49
- }
50
- },
51
- "additionalProperties": false,
52
- "default": {}
18
+ "labelTranslationKey": {
19
+ "type": "string"
20
+ },
21
+ "maxLength": {
22
+ "default": 255,
23
+ "type": "number"
24
+ },
25
+ "minLength": {
26
+ "type": "number"
27
+ },
28
+ "pattern": {
29
+ "type": "string"
30
+ }
31
+ },
32
+ "required": [
33
+ "maxLength"
34
+ ],
35
+ "additionalProperties": false
36
+ },
37
+ "meta": {
38
+ "type": "object",
39
+ "properties": {
40
+ "schemaVersion": {
41
+ "default": "1.0",
42
+ "type": "string"
43
+ },
44
+ "title": {
45
+ "type": "string"
46
+ },
47
+ "usageDescription": {
48
+ "type": "string"
53
49
  }
54
50
  },
55
51
  "required": [
56
- "type"
52
+ "schemaVersion"
57
53
  ],
58
54
  "additionalProperties": false
59
55
  }
60
56
  },
61
- "$schema": "http://json-schema.org/draft-07/schema#"
57
+ "required": [
58
+ "type",
59
+ "attributes",
60
+ "meta"
61
+ ],
62
+ "additionalProperties": false
62
63
  }
@@ -1,34 +1,33 @@
1
1
  {
2
- "$ref": "#/definitions/URLAnswer",
3
- "definitions": {
4
- "URLAnswer": {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "type": {
6
+ "type": "string",
7
+ "const": "url"
8
+ },
9
+ "meta": {
5
10
  "type": "object",
6
11
  "properties": {
7
- "type": {
8
- "type": "string",
9
- "const": "url"
10
- },
11
- "meta": {
12
- "type": "object",
13
- "properties": {
14
- "schemaVersion": {
15
- "type": "string",
16
- "default": "1.0"
17
- }
18
- },
19
- "additionalProperties": false,
20
- "default": {}
21
- },
22
- "answer": {
23
- "type": "string",
24
- "default": ""
12
+ "schemaVersion": {
13
+ "default": "1.0",
14
+ "type": "string"
25
15
  }
26
16
  },
27
17
  "required": [
28
- "type"
18
+ "schemaVersion"
29
19
  ],
30
20
  "additionalProperties": false
21
+ },
22
+ "answer": {
23
+ "default": "",
24
+ "type": "string"
31
25
  }
32
26
  },
33
- "$schema": "http://json-schema.org/draft-07/schema#"
27
+ "required": [
28
+ "type",
29
+ "meta",
30
+ "answer"
31
+ ],
32
+ "additionalProperties": false
34
33
  }
@@ -1,62 +1,63 @@
1
1
  {
2
- "$ref": "#/definitions/URLQuestion",
3
- "definitions": {
4
- "URLQuestion": {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "type": {
6
+ "type": "string",
7
+ "const": "url"
8
+ },
9
+ "attributes": {
5
10
  "type": "object",
6
11
  "properties": {
7
- "type": {
8
- "type": "string",
9
- "const": "url"
12
+ "label": {
13
+ "type": "string"
10
14
  },
11
- "attributes": {
12
- "type": "object",
13
- "properties": {
14
- "label": {
15
- "type": "string"
16
- },
17
- "help": {
18
- "type": "string"
19
- },
20
- "labelTranslationKey": {
21
- "type": "string"
22
- },
23
- "maxLength": {
24
- "type": "number",
25
- "default": 255
26
- },
27
- "minLength": {
28
- "type": "number"
29
- },
30
- "pattern": {
31
- "type": "string"
32
- }
33
- },
34
- "additionalProperties": false,
35
- "default": {}
15
+ "help": {
16
+ "type": "string"
36
17
  },
37
- "meta": {
38
- "type": "object",
39
- "properties": {
40
- "schemaVersion": {
41
- "type": "string",
42
- "default": "1.0"
43
- },
44
- "title": {
45
- "type": "string"
46
- },
47
- "usageDescription": {
48
- "type": "string"
49
- }
50
- },
51
- "additionalProperties": false,
52
- "default": {}
18
+ "labelTranslationKey": {
19
+ "type": "string"
20
+ },
21
+ "maxLength": {
22
+ "default": 255,
23
+ "type": "number"
24
+ },
25
+ "minLength": {
26
+ "type": "number"
27
+ },
28
+ "pattern": {
29
+ "type": "string"
30
+ }
31
+ },
32
+ "required": [
33
+ "maxLength"
34
+ ],
35
+ "additionalProperties": false
36
+ },
37
+ "meta": {
38
+ "type": "object",
39
+ "properties": {
40
+ "schemaVersion": {
41
+ "default": "1.0",
42
+ "type": "string"
43
+ },
44
+ "title": {
45
+ "type": "string"
46
+ },
47
+ "usageDescription": {
48
+ "type": "string"
53
49
  }
54
50
  },
55
51
  "required": [
56
- "type"
52
+ "schemaVersion"
57
53
  ],
58
54
  "additionalProperties": false
59
55
  }
60
56
  },
61
- "$schema": "http://json-schema.org/draft-07/schema#"
57
+ "required": [
58
+ "type",
59
+ "attributes",
60
+ "meta"
61
+ ],
62
+ "additionalProperties": false
62
63
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dmptool/types",
3
- "version": "1.2.6",
3
+ "version": "2.1.0",
4
4
  "description": "TypeScript types for DMPTool",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -32,8 +32,7 @@
32
32
  "trivy-med": "./scripts/trivy-med.sh"
33
33
  },
34
34
  "dependencies": {
35
- "zod": "3.24.4",
36
- "zod-to-json-schema": "3.24.5"
35
+ "zod": "4.1.13"
37
36
  },
38
37
  "devDependencies": {
39
38
  "@eslint/js": "^9.26.0",
@@ -43,10 +42,13 @@
43
42
  "eslint": "^9.26.0",
44
43
  "husky": "^9.1.7",
45
44
  "jest": "^29.7.0",
45
+ "jest-expect-message": "^1.1.3",
46
+ "json-schema-to-ts": "^3.1.1",
47
+ "jsonschema": "^1.5.0",
46
48
  "ts-jest": "^29.3.3",
47
49
  "ts-node": "^10.9.2",
48
50
  "ts-node-dev": "^2.0.0",
49
51
  "typescript": "^5.2.2",
50
52
  "typescript-eslint": "^8.32.1"
51
53
  }
52
- }
54
+ }