bare-script 3.0.0 → 3.0.2
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/value.js +25 -6
- package/package.json +1 -1
package/lib/value.js
CHANGED
|
@@ -54,7 +54,29 @@ export function valueString(value) {
|
|
|
54
54
|
} else if (type === 'number') {
|
|
55
55
|
return `${value}`;
|
|
56
56
|
} else if (value instanceof Date) {
|
|
57
|
-
|
|
57
|
+
const year = value.getFullYear();
|
|
58
|
+
const month = value.getMonth() + 1;
|
|
59
|
+
const monthStr = `${month < 10 ? '0' : ''}${month}`;
|
|
60
|
+
const day = value.getDate();
|
|
61
|
+
const dayStr = `${day < 10 ? '0' : ''}${day}`;
|
|
62
|
+
const hour = value.getHours();
|
|
63
|
+
const hourStr = `${hour < 10 ? '0' : ''}${hour}`;
|
|
64
|
+
const minute = value.getMinutes();
|
|
65
|
+
const minuteStr = `${minute < 10 ? '0' : ''}${minute}`;
|
|
66
|
+
const second = value.getSeconds();
|
|
67
|
+
const secondStr = `${second < 10 ? '0' : ''}${second}`;
|
|
68
|
+
const millisecond = value.getMilliseconds();
|
|
69
|
+
const millisecondStr = millisecond === 0 ? '' : `.${millisecond < 100 ? '0' : ''}${millisecond < 10 ? '0' : ''}${millisecond}`;
|
|
70
|
+
const tzOffset = value.getTimezoneOffset();
|
|
71
|
+
/* c8 ignore next */
|
|
72
|
+
const tzSign = tzOffset < 0 ? '+' : '-';
|
|
73
|
+
const tzHour = Math.floor(Math.abs(tzOffset) / 60);
|
|
74
|
+
/* c8 ignore next */
|
|
75
|
+
const tzHourStr = `${tzHour < 10 ? '0' : ''}${tzHour}`;
|
|
76
|
+
const tzMinute = Math.abs(tzOffset) - tzHour * 60;
|
|
77
|
+
/* c8 ignore next */
|
|
78
|
+
const tzMinuteStr = `${tzMinute < 10 ? '0' : ''}${tzMinute}`;
|
|
79
|
+
return `${year}-${monthStr}-${dayStr}T${hourStr}:${minuteStr}:${secondStr}${millisecondStr}${tzSign}${tzHourStr}:${tzMinuteStr}`;
|
|
58
80
|
} else if (Array.isArray(value)) {
|
|
59
81
|
return valueJSON(value);
|
|
60
82
|
} else if (value instanceof RegExp) {
|
|
@@ -70,9 +92,6 @@ export function valueString(value) {
|
|
|
70
92
|
}
|
|
71
93
|
|
|
72
94
|
|
|
73
|
-
const rValueStringDatetimeZulu = /(?:\.000)?Z$/g;
|
|
74
|
-
|
|
75
|
-
|
|
76
95
|
/**
|
|
77
96
|
* Get a value's JSON string representation
|
|
78
97
|
*
|
|
@@ -91,7 +110,7 @@ function valueJSONSort(value) {
|
|
|
91
110
|
if (value === null || type === 'undefined' || type === 'string' || type === 'boolean' || type === 'number') {
|
|
92
111
|
return value;
|
|
93
112
|
} else if (value instanceof Date) {
|
|
94
|
-
return value
|
|
113
|
+
return valueString(value);
|
|
95
114
|
} else if (Array.isArray(value)) {
|
|
96
115
|
return value.map(valueJSONSort);
|
|
97
116
|
} else if (type === 'object' && Object.getPrototypeOf(value) === Object.prototype) {
|
|
@@ -265,4 +284,4 @@ export function valueParseDatetime(text) {
|
|
|
265
284
|
|
|
266
285
|
|
|
267
286
|
const rDate = /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/;
|
|
268
|
-
const rDatetime = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{
|
|
287
|
+
const rDatetime = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,6})?(?:Z|[+-]\d{2}:\d{2})$/;
|