schema-markdown 1.2.7 → 1.2.9
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/lib/parser.js +1 -0
- package/lib/schema.js +10 -5
- package/package.json +4 -5
package/lib/parser.js
CHANGED
package/lib/schema.js
CHANGED
|
@@ -98,12 +98,14 @@ function getReferencedTypesHelper(types, type, referencedTypes) {
|
|
|
98
98
|
/**
|
|
99
99
|
* Schema Markdown type model validation error
|
|
100
100
|
*
|
|
101
|
+
* @extends {Error}
|
|
101
102
|
* @property {?string} memberFqn - The fully qualified member name
|
|
102
103
|
*/
|
|
103
104
|
export class ValidationError extends Error {
|
|
104
105
|
/**
|
|
105
106
|
* Schema Markdown type model validation error constructor
|
|
106
107
|
*
|
|
108
|
+
* @param {string} message - The validation error message
|
|
107
109
|
* @param {string} [memberFqn=null] - The fully-qualified member name
|
|
108
110
|
*/
|
|
109
111
|
constructor(message, memberFqn = null) {
|
|
@@ -134,7 +136,7 @@ export function validateType(types, typeName, value, memberFqn = null) {
|
|
|
134
136
|
|
|
135
137
|
|
|
136
138
|
// Regular expressions used by validateTypeHelper
|
|
137
|
-
const rDate =
|
|
139
|
+
const rDate = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/;
|
|
138
140
|
const rDatetime = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3})?(?:Z|[+-]\d{2}:\d{2})$/;
|
|
139
141
|
|
|
140
142
|
|
|
@@ -198,9 +200,12 @@ function validateTypeHelper(types, type, value, memberFqn) {
|
|
|
198
200
|
// Convert string?
|
|
199
201
|
if (typeof value === 'string') {
|
|
200
202
|
// Valid date format?
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
203
|
+
const mDate = value.match(rDate);
|
|
204
|
+
if (mDate !== null) {
|
|
205
|
+
const year = Number.parseInt(mDate.groups.year, 10);
|
|
206
|
+
const month = Number.parseInt(mDate.groups.month, 10);
|
|
207
|
+
const day = Number.parseInt(mDate.groups.day, 10);
|
|
208
|
+
valueNew = new Date(year, month - 1, day);
|
|
204
209
|
} else if (rDatetime.test(value)) {
|
|
205
210
|
valueNew = new Date(value);
|
|
206
211
|
} else {
|
|
@@ -214,7 +219,7 @@ function validateTypeHelper(types, type, value, memberFqn) {
|
|
|
214
219
|
|
|
215
220
|
// For date type, clear hours, minutes, seconds, and milliseconds
|
|
216
221
|
if (builtin === 'date') {
|
|
217
|
-
valueNew = new Date(valueNew.getFullYear(), valueNew.getMonth(), valueNew.
|
|
222
|
+
valueNew = new Date(valueNew.getFullYear(), valueNew.getMonth(), valueNew.getDate());
|
|
218
223
|
}
|
|
219
224
|
}
|
|
220
225
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "schema-markdown",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.9",
|
|
5
5
|
"description": "A schema definition and validation library",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"schema",
|
|
@@ -24,9 +24,8 @@
|
|
|
24
24
|
"test": "node --test test/"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"c8": "~
|
|
28
|
-
"eslint": "~8.
|
|
29
|
-
"jsdoc": "~4.0"
|
|
30
|
-
"jsdom": "~22.0"
|
|
27
|
+
"c8": "~8.0",
|
|
28
|
+
"eslint": "~8.52",
|
|
29
|
+
"jsdoc": "~4.0"
|
|
31
30
|
}
|
|
32
31
|
}
|