schema-markdown 1.2.8 → 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.
Files changed (2) hide show
  1. package/lib/schema.js +8 -5
  2. package/package.json +3 -3
package/lib/schema.js CHANGED
@@ -136,7 +136,7 @@ export function validateType(types, typeName, value, memberFqn = null) {
136
136
 
137
137
 
138
138
  // Regular expressions used by validateTypeHelper
139
- const rDate = /^\d{4}-\d{2}-\d{2}$/;
139
+ const rDate = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/;
140
140
  const rDatetime = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3})?(?:Z|[+-]\d{2}:\d{2})$/;
141
141
 
142
142
 
@@ -200,9 +200,12 @@ function validateTypeHelper(types, type, value, memberFqn) {
200
200
  // Convert string?
201
201
  if (typeof value === 'string') {
202
202
  // Valid date format?
203
- if (rDate.test(value)) {
204
- const localDate = new Date(value);
205
- valueNew = new Date(localDate.getUTCFullYear(), localDate.getUTCMonth(), localDate.getUTCDate());
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);
206
209
  } else if (rDatetime.test(value)) {
207
210
  valueNew = new Date(value);
208
211
  } else {
@@ -216,7 +219,7 @@ function validateTypeHelper(types, type, value, memberFqn) {
216
219
 
217
220
  // For date type, clear hours, minutes, seconds, and milliseconds
218
221
  if (builtin === 'date') {
219
- valueNew = new Date(valueNew.getFullYear(), valueNew.getMonth(), valueNew.getUTCDate());
222
+ valueNew = new Date(valueNew.getFullYear(), valueNew.getMonth(), valueNew.getDate());
220
223
  }
221
224
  }
222
225
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "schema-markdown",
4
- "version": "1.2.8",
4
+ "version": "1.2.9",
5
5
  "description": "A schema definition and validation library",
6
6
  "keywords": [
7
7
  "schema",
@@ -24,8 +24,8 @@
24
24
  "test": "node --test test/"
25
25
  },
26
26
  "devDependencies": {
27
- "c8": "~7.13",
28
- "eslint": "~8.40",
27
+ "c8": "~8.0",
28
+ "eslint": "~8.52",
29
29
  "jsdoc": "~4.0"
30
30
  }
31
31
  }