date-and-time 3.1.1 → 3.2.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.
- package/README.md +11 -11
- package/date-and-time.js +19 -21
- package/date-and-time.min.js +1 -1
- package/esm/date-and-time.es.js +19 -21
- package/esm/date-and-time.es.min.js +1 -1
- package/esm/date-and-time.mjs +19 -21
- package/package.json +4 -4
- package/rollup.config.mjs +0 -356
package/README.md
CHANGED
|
@@ -25,6 +25,9 @@ npm i date-and-time
|
|
|
25
25
|
|
|
26
26
|
## Recent Changes
|
|
27
27
|
|
|
28
|
+
- 3.2.0
|
|
29
|
+
- Refactored `compile()`, `format()`, and `preparse()` slightly improved performance.
|
|
30
|
+
|
|
28
31
|
- 3.1.1
|
|
29
32
|
- Fixed an issue where `format()` could output incorrect UTC times in locales with daylight savings time.
|
|
30
33
|
- Refactored `formatTZ()` of `timezone` plugin.
|
|
@@ -33,9 +36,6 @@ npm i date-and-time
|
|
|
33
36
|
- Improved accuracy of `parseTZ()` in `timezone` plugin.
|
|
34
37
|
- Organized some test modules.
|
|
35
38
|
|
|
36
|
-
- 3.0.3
|
|
37
|
-
- Fixed TypeScript types exports in `package.json`.
|
|
38
|
-
|
|
39
39
|
## Usage
|
|
40
40
|
|
|
41
41
|
- ES Modules:
|
|
@@ -189,7 +189,7 @@ You can also use the following tokens by importing plugins. See [PLUGINS.md](./P
|
|
|
189
189
|
|
|
190
190
|
#### Note 1. Comments
|
|
191
191
|
|
|
192
|
-
|
|
192
|
+
Parts of the given format string enclosed in square brackets are considered comments and are output as is, regardless of whether they are tokens or not.
|
|
193
193
|
|
|
194
194
|
```javascript
|
|
195
195
|
date.format(new Date(), 'DD-[MM]-YYYY'); // => '02-MM-2015'
|
|
@@ -198,7 +198,7 @@ date.format(new Date(), '[DD-[MM]-YYYY]'); // => 'DD-[MM]-YYYY'
|
|
|
198
198
|
|
|
199
199
|
#### Note 2. Output as UTC
|
|
200
200
|
|
|
201
|
-
This function
|
|
201
|
+
This function outputs the date and time in the local time zone of the execution environment by default. If you want to output in UTC, set the UTC option (the third argument) to true. To output in any other time zone, you will need [a plugin](./PLUGINS.md).
|
|
202
202
|
|
|
203
203
|
```javascript
|
|
204
204
|
date.format(new Date(), 'hh:mm A [GMT]Z'); // => '11:14 PM GMT-0800'
|
|
@@ -270,7 +270,7 @@ You can also use the following tokens by importing plugins. See [PLUGINS.md](./P
|
|
|
270
270
|
|
|
271
271
|
#### Note 1. Invalid Date
|
|
272
272
|
|
|
273
|
-
If
|
|
273
|
+
If this function fails to parse, it will return `Invalid Date`. Notice that the `Invalid Date` is a Date object, not `NaN` or `null`. You can tell whether the Date object is invalid as follows:
|
|
274
274
|
|
|
275
275
|
```javascript
|
|
276
276
|
const today = date.parse('Jam 1 2017', 'MMM D YYYY');
|
|
@@ -282,7 +282,7 @@ if (isNaN(today.getTime())) {
|
|
|
282
282
|
|
|
283
283
|
#### Note 2. Input as UTC
|
|
284
284
|
|
|
285
|
-
This function
|
|
285
|
+
This function uses the local time zone offset value of the execution environment by default if the given string does not contain a time zone offset value. To make it use UTC instead, set the UTC option (the third argument) to true. If you want it to use any other time zone, you will need [a plugin](./PLUGINS.md).
|
|
286
286
|
|
|
287
287
|
```javascript
|
|
288
288
|
date.parse('11:14:05 PM', 'hh:mm:ss A'); // => Jan 1 1970 23:14:05 GMT-0800
|
|
@@ -319,9 +319,9 @@ date.parse('11:14:05', 'hh:mm:ss'); // => Jan 1 1970 11:14:05 GMT-0800
|
|
|
319
319
|
date.parse('11:14:05 PM', 'hh:mm:ss A'); // => Jan 1 1970 23:14:05 GMT-0800
|
|
320
320
|
```
|
|
321
321
|
|
|
322
|
-
#### Note 6. Token
|
|
322
|
+
#### Note 6. Token invalidation
|
|
323
323
|
|
|
324
|
-
|
|
324
|
+
Any part of the given format string that you do not want to be recognized as a token should be enclosed in square brackets. They are considered comments and will not be parsed.
|
|
325
325
|
|
|
326
326
|
```javascript
|
|
327
327
|
date.parse('12 hours 34 minutes', 'HH hours mm minutes'); // => Invalid Date
|
|
@@ -330,7 +330,7 @@ date.parse('12 hours 34 minutes', 'HH [hours] mm [minutes]'); // => Jan 1 1970
|
|
|
330
330
|
|
|
331
331
|
#### Note 7. Wildcard
|
|
332
332
|
|
|
333
|
-
|
|
333
|
+
Whitespace acts as a wildcard token. This token will not parse the corresponding parts of the date and time strings. This behavior is similar to enclosing part of a format string in square brackets (Token invalidation), but with the flexibility that the contents do not have to match, as long as the number of characters in the corresponding parts match.
|
|
334
334
|
|
|
335
335
|
```javascript
|
|
336
336
|
// This will be an error.
|
|
@@ -341,7 +341,7 @@ date.parse('2015/01/02 11:14:05', 'YYYY/MM/DD '); // => Jan 2 2015 00:
|
|
|
341
341
|
|
|
342
342
|
#### Note 8. Ellipsis
|
|
343
343
|
|
|
344
|
-
|
|
344
|
+
`...` token ignores subsequent corresponding date and time strings. Use this token only at the end of a format string. The above example can be also written like this:
|
|
345
345
|
|
|
346
346
|
```javascript
|
|
347
347
|
date.parse('2015/01/02 11:14:05', 'YYYY/MM/DD...'); // => Jan 2 2015 00:00:00 GMT-0800
|
package/date-and-time.js
CHANGED
|
@@ -151,12 +151,7 @@
|
|
|
151
151
|
* @returns {Array.<string>} A compiled object
|
|
152
152
|
*/
|
|
153
153
|
proto.compile = function (formatString) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
while ((keys = re.exec(formatString))) {
|
|
157
|
-
pattern[pattern.length] = keys[0];
|
|
158
|
-
}
|
|
159
|
-
return pattern;
|
|
154
|
+
return [formatString].concat(formatString.match(/\[(?:[^[\]]|\[[^[\]]*])*]|([A-Za-z])\1*|\.{3}|./g) || []);
|
|
160
155
|
};
|
|
161
156
|
|
|
162
157
|
/**
|
|
@@ -168,6 +163,7 @@
|
|
|
168
163
|
*/
|
|
169
164
|
proto.format = function (dateObj, arg, utc) {
|
|
170
165
|
var ctx = this || date, pattern = typeof arg === 'string' ? ctx.compile(arg) : arg,
|
|
166
|
+
formatter = ctx._formatter,
|
|
171
167
|
d = (function () {
|
|
172
168
|
if (utc) {
|
|
173
169
|
var u = new Date(dateObj.getTime());
|
|
@@ -185,11 +181,11 @@
|
|
|
185
181
|
}
|
|
186
182
|
return dateObj;
|
|
187
183
|
}()),
|
|
188
|
-
|
|
184
|
+
comment = /^\[(.*)\]$/, str = '';
|
|
189
185
|
|
|
190
186
|
for (var i = 1, len = pattern.length, token; i < len; i++) {
|
|
191
187
|
token = pattern[i];
|
|
192
|
-
str += formatter[token] ? formatter.post(formatter[token](d, pattern[0])) : token.replace(
|
|
188
|
+
str += formatter[token] ? formatter.post(formatter[token](d, pattern[0])) : token.replace(comment, '$1');
|
|
193
189
|
}
|
|
194
190
|
return str;
|
|
195
191
|
};
|
|
@@ -203,33 +199,35 @@
|
|
|
203
199
|
*/
|
|
204
200
|
proto.preparse = function (dateString, arg) {
|
|
205
201
|
var ctx = this || date, pattern = typeof arg === 'string' ? ctx.compile(arg) : arg,
|
|
202
|
+
parser = ctx._parser,
|
|
206
203
|
dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 0, _match: 0 },
|
|
207
|
-
comment =
|
|
204
|
+
wildcard = ' ', comment = /^\[(.*)\]$/, ellipsis = '...';
|
|
208
205
|
|
|
209
206
|
dateString = parser.pre(dateString);
|
|
210
|
-
for (var i = 1, len = pattern.length, token, result; i < len; i++) {
|
|
207
|
+
for (var i = 1, len = pattern.length, token, str, result; i < len; i++) {
|
|
211
208
|
token = pattern[i];
|
|
209
|
+
str = dateString.slice(dt._index);
|
|
210
|
+
|
|
212
211
|
if (parser[token]) {
|
|
213
|
-
result = parser[token](
|
|
212
|
+
result = parser[token](str, pattern[0]);
|
|
214
213
|
if (!result.length) {
|
|
215
|
-
|
|
214
|
+
break;
|
|
216
215
|
}
|
|
217
|
-
offset += result.length;
|
|
218
216
|
dt[result.token || token.charAt(0)] = result.value;
|
|
217
|
+
dt._index += result.length;
|
|
219
218
|
dt._match++;
|
|
220
|
-
} else if (token ===
|
|
221
|
-
|
|
222
|
-
} else if (comment.test(token) && !
|
|
223
|
-
|
|
224
|
-
} else if (token ===
|
|
225
|
-
|
|
219
|
+
} else if (token === str.charAt(0) || token === wildcard) {
|
|
220
|
+
dt._index++;
|
|
221
|
+
} else if (comment.test(token) && !str.indexOf(token.replace(comment, '$1'))) {
|
|
222
|
+
dt._index += token.length - 2;
|
|
223
|
+
} else if (token === ellipsis) {
|
|
224
|
+
dt._index = dateString.length;
|
|
226
225
|
break;
|
|
227
226
|
} else {
|
|
228
227
|
break;
|
|
229
228
|
}
|
|
230
229
|
}
|
|
231
|
-
dt.H = dt.H || parser.h12(dt.h, dt.A);
|
|
232
|
-
dt._index = offset;
|
|
230
|
+
dt.H = dt.H || parser.h12(dt.h, dt.A);
|
|
233
231
|
dt._length = dateString.length;
|
|
234
232
|
return dt;
|
|
235
233
|
};
|
package/date-and-time.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).date=t()}(this,(function(){"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* @preserve date-and-time (c) KNOWLEDGECODE | MIT
|
|
4
|
-
*/var e,t,n={},r={},i="en",u={MMMM:["January","February","March","April","May","June","July","August","September","October","November","December"],MMM:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dd:["Su","Mo","Tu","We","Th","Fr","Sa"],A:["AM","PM"]},
|
|
4
|
+
*/var e,t,n={},r={},i="en",u={MMMM:["January","February","March","April","May","June","July","August","September","October","November","December"],MMM:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dd:["Su","Mo","Tu","We","Th","Fr","Sa"],A:["AM","PM"]},o={YYYY:function(e){return("000"+e.getFullYear()).slice(-4)},YY:function(e){return("0"+e.getFullYear()).slice(-2)},Y:function(e){return""+e.getFullYear()},MMMM:function(e){return this.res.MMMM[e.getMonth()]},MMM:function(e){return this.res.MMM[e.getMonth()]},MM:function(e){return("0"+(e.getMonth()+1)).slice(-2)},M:function(e){return""+(e.getMonth()+1)},DD:function(e){return("0"+e.getDate()).slice(-2)},D:function(e){return""+e.getDate()},HH:function(e){return("0"+e.getHours()).slice(-2)},H:function(e){return""+e.getHours()},A:function(e){return this.res.A[e.getHours()>11|0]},hh:function(e){return("0"+(e.getHours()%12||12)).slice(-2)},h:function(e){return""+(e.getHours()%12||12)},mm:function(e){return("0"+e.getMinutes()).slice(-2)},m:function(e){return""+e.getMinutes()},ss:function(e){return("0"+e.getSeconds()).slice(-2)},s:function(e){return""+e.getSeconds()},SSS:function(e){return("00"+e.getMilliseconds()).slice(-3)},SS:function(e){return("0"+(e.getMilliseconds()/10|0)).slice(-2)},S:function(e){return""+(e.getMilliseconds()/100|0)},dddd:function(e){return this.res.dddd[e.getDay()]},ddd:function(e){return this.res.ddd[e.getDay()]},dd:function(e){return this.res.dd[e.getDay()]},Z:function(e){var t=e.getTimezoneOffset()/.6|0;return(t>0?"-":"+")+("000"+Math.abs(t-(t%100*.4|0))).slice(-4)},ZZ:function(e){var t=e.getTimezoneOffset(),n=Math.abs(t);return(t>0?"-":"+")+("0"+(n/60|0)).slice(-2)+":"+("0"+n%60).slice(-2)},post:function(e){return e},res:u},s={YYYY:function(e){return this.exec(/^\d{4}/,e)},Y:function(e){return this.exec(/^\d{1,4}/,e)},MMMM:function(e){var t=this.find(this.res.MMMM,e);return t.value++,t},MMM:function(e){var t=this.find(this.res.MMM,e);return t.value++,t},MM:function(e){return this.exec(/^\d\d/,e)},M:function(e){return this.exec(/^\d\d?/,e)},DD:function(e){return this.exec(/^\d\d/,e)},D:function(e){return this.exec(/^\d\d?/,e)},HH:function(e){return this.exec(/^\d\d/,e)},H:function(e){return this.exec(/^\d\d?/,e)},A:function(e){return this.find(this.res.A,e)},hh:function(e){return this.exec(/^\d\d/,e)},h:function(e){return this.exec(/^\d\d?/,e)},mm:function(e){return this.exec(/^\d\d/,e)},m:function(e){return this.exec(/^\d\d?/,e)},ss:function(e){return this.exec(/^\d\d/,e)},s:function(e){return this.exec(/^\d\d?/,e)},SSS:function(e){return this.exec(/^\d{1,3}/,e)},SS:function(e){var t=this.exec(/^\d\d?/,e);return t.value*=10,t},S:function(e){var t=this.exec(/^\d/,e);return t.value*=100,t},Z:function(e){var t=this.exec(/^[+-]\d{2}[0-5]\d/,e);return t.value=-60*(t.value/100|0)-t.value%100,t},ZZ:function(e){var t=/^([+-])(\d{2}):([0-5]\d)/.exec(e)||["","","",""];return{value:0-(60*(t[1]+t[2]|0)+(t[1]+t[3]|0)),length:t[0].length}},h12:function(e,t){return(12===e?0:e)+12*t},exec:function(e,t){var n=(e.exec(t)||[""])[0];return{value:0|n,length:n.length}},find:function(e,t){for(var n,r=-1,i=0,u=0,o=e.length;u<o;u++)n=e[u],!t.indexOf(n)&&n.length>i&&(r=u,i=n.length);return{value:r,length:i}},pre:function(e){return e},res:u},c=function(e,t,n,r){var i,u={};for(i in e)u[i]=e[i];for(i in t||{})!!n^!!u[i]||(u[i]=t[i]);return r&&(u.res=r),u},a={_formatter:o,_parser:s};return a.compile=function(e){return[e].concat(e.match(/\[(?:[^[\]]|\[[^[\]]*])*]|([A-Za-z])\1*|\.{3}|./g)||[])},a.format=function(e,n,r){for(var i,u=this||t,o="string"==typeof n?u.compile(n):n,s=u._formatter,c=function(){if(r){var t=new Date(e.getTime());return t.getFullYear=t.getUTCFullYear,t.getMonth=t.getUTCMonth,t.getDate=t.getUTCDate,t.getHours=t.getUTCHours,t.getMinutes=t.getUTCMinutes,t.getSeconds=t.getUTCSeconds,t.getMilliseconds=t.getUTCMilliseconds,t.getDay=t.getUTCDay,t.getTimezoneOffset=function(){return 0},t}return e}(),a=/^\[(.*)\]$/,d="",f=1,l=o.length;f<l;f++)d+=s[i=o[f]]?s.post(s[i](c,o[0])):i.replace(a,"$1");return d},a.preparse=function(e,n){var r=this||t,i="string"==typeof n?r.compile(n):n,u=r._parser,o={Y:1970,M:1,D:1,H:0,A:0,h:0,m:0,s:0,S:0,Z:0,_index:0,_length:0,_match:0},s=/^\[(.*)\]$/;e=u.pre(e);for(var c,a,d,f=1,l=i.length;f<l;f++)if(c=i[f],a=e.slice(o._index),u[c]){if(!(d=u[c](a,i[0])).length)break;o[d.token||c.charAt(0)]=d.value,o._index+=d.length,o._match++}else if(c===a.charAt(0)||" "===c)o._index++;else{if(!s.test(c)||a.indexOf(c.replace(s,"$1"))){if("..."===c){o._index=e.length;break}break}o._index+=c.length-2}return o.H=o.H||u.h12(o.h,o.A),o._length=e.length,o},a.parse=function(e,n,r){var i=this||t,u="string"==typeof n?i.compile(n):n,o=i.preparse(e,u);return i.isValid(o)?(o.M-=o.Y<100?22801:1,r||~i._parser.find(u,"ZZ").value?new Date(Date.UTC(o.Y,o.M,o.D,o.H,o.m+o.Z,o.s,o.S)):new Date(o.Y,o.M,o.D,o.H,o.m,o.s,o.S)):new Date(NaN)},a.isValid=function(e,n){var r=this||t,i="string"==typeof e?r.preparse(e,n):e,u=[31,28+r.isLeapYear(i.Y)|0,31,30,31,30,31,31,30,31,30,31][i.M-1];return!(i._index<1||i._length<1||i._index-i._length||i._match<1||i.Y<1||i.Y>9999||i.M<1||i.M>12||i.D<1||i.D>u||i.H<0||i.H>23||i.m<0||i.m>59||i.s<0||i.s>59||i.S<0||i.S>999||i.Z<-840||i.Z>720)},a.transform=function(e,n,r,i){const u=this||t;return u.format(u.parse(e,n),r,i)},a.addYears=function(e,n,r){return(this||t).addMonths(e,12*n,r)},a.addMonths=function(e,n,r){var i=new Date(e.getTime());if(r){if(i.setUTCMonth(i.getUTCMonth()+n),i.getUTCDate()<e.getUTCDate())return(this||t).addDays(i,-i.getUTCDate(),r)}else if(i.setMonth(i.getMonth()+n),i.getDate()<e.getDate())return(this||t).addDays(i,-i.getDate(),r);return i},a.addDays=function(e,n,r){return(this||t).addHours(e,24*n,r)},a.addHours=function(e,n,r){return(this||t).addMinutes(e,60*n,r)},a.addMinutes=function(e,n,r){return(this||t).addSeconds(e,60*n,r)},a.addSeconds=function(e,n,r){return(this||t).addMilliseconds(e,1e3*n,r)},a.addMilliseconds=function(e,t,n){var r=new Date(e.getTime());return n?r.setUTCMilliseconds(r.getUTCMilliseconds()+t):r.setMilliseconds(r.getMilliseconds()+t),r},a.subtract=function(e,t){var n=e.getTime()-t.getTime();return{toMilliseconds:function(){return n},toSeconds:function(){return n/1e3},toMinutes:function(){return n/6e4},toHours:function(){return n/36e5},toDays:function(){return n/864e5}}},a.isLeapYear=function(e){return!((e%4||!(e%100))&&e%400)},a.isSameDay=function(e,t){return e.toDateString()===t.toDateString()},a.locale=function(e,t){n[e]||(n[e]=t)},a.plugin=function(e,t){r[e]||(r[e]=t)},e=c(a),(t=c(a)).locale=function(d){var f="function"==typeof d?d:t.locale[d];if(!f)return i;i=f(a);var l=n[i]||{},h=c(u,l.res,!0),g=c(o,l.formatter,!0,h),M=c(s,l.parser,!0,h);for(var p in t._formatter=e._formatter=g,t._parser=e._parser=M,r)t.extend(r[p]);return i},t.extend=function(e){var n=c(t._parser.res,e.res),r=e.extender||{};for(var i in t._formatter=c(t._formatter,e.formatter,!1,n),t._parser=c(t._parser,e.parser,!1,n),r)t[i]||(t[i]=r[i])},t.plugin=function(n){var i="function"==typeof n?n:t.plugin[n];i&&t.extend(r[i(a,e)]||{})},t}));
|
package/esm/date-and-time.es.js
CHANGED
|
@@ -145,12 +145,7 @@ var locales = {},
|
|
|
145
145
|
* @returns {Array.<string>} A compiled object
|
|
146
146
|
*/
|
|
147
147
|
proto.compile = function (formatString) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
while ((keys = re.exec(formatString))) {
|
|
151
|
-
pattern[pattern.length] = keys[0];
|
|
152
|
-
}
|
|
153
|
-
return pattern;
|
|
148
|
+
return [formatString].concat(formatString.match(/\[(?:[^[\]]|\[[^[\]]*])*]|([A-Za-z])\1*|\.{3}|./g) || []);
|
|
154
149
|
};
|
|
155
150
|
|
|
156
151
|
/**
|
|
@@ -162,6 +157,7 @@ proto.compile = function (formatString) {
|
|
|
162
157
|
*/
|
|
163
158
|
proto.format = function (dateObj, arg, utc) {
|
|
164
159
|
var ctx = this || date, pattern = typeof arg === 'string' ? ctx.compile(arg) : arg,
|
|
160
|
+
formatter = ctx._formatter,
|
|
165
161
|
d = (function () {
|
|
166
162
|
if (utc) {
|
|
167
163
|
var u = new Date(dateObj.getTime());
|
|
@@ -179,11 +175,11 @@ proto.format = function (dateObj, arg, utc) {
|
|
|
179
175
|
}
|
|
180
176
|
return dateObj;
|
|
181
177
|
}()),
|
|
182
|
-
|
|
178
|
+
comment = /^\[(.*)\]$/, str = '';
|
|
183
179
|
|
|
184
180
|
for (var i = 1, len = pattern.length, token; i < len; i++) {
|
|
185
181
|
token = pattern[i];
|
|
186
|
-
str += formatter[token] ? formatter.post(formatter[token](d, pattern[0])) : token.replace(
|
|
182
|
+
str += formatter[token] ? formatter.post(formatter[token](d, pattern[0])) : token.replace(comment, '$1');
|
|
187
183
|
}
|
|
188
184
|
return str;
|
|
189
185
|
};
|
|
@@ -197,33 +193,35 @@ proto.format = function (dateObj, arg, utc) {
|
|
|
197
193
|
*/
|
|
198
194
|
proto.preparse = function (dateString, arg) {
|
|
199
195
|
var ctx = this || date, pattern = typeof arg === 'string' ? ctx.compile(arg) : arg,
|
|
196
|
+
parser = ctx._parser,
|
|
200
197
|
dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 0, _match: 0 },
|
|
201
|
-
comment =
|
|
198
|
+
wildcard = ' ', comment = /^\[(.*)\]$/, ellipsis = '...';
|
|
202
199
|
|
|
203
200
|
dateString = parser.pre(dateString);
|
|
204
|
-
for (var i = 1, len = pattern.length, token, result; i < len; i++) {
|
|
201
|
+
for (var i = 1, len = pattern.length, token, str, result; i < len; i++) {
|
|
205
202
|
token = pattern[i];
|
|
203
|
+
str = dateString.slice(dt._index);
|
|
204
|
+
|
|
206
205
|
if (parser[token]) {
|
|
207
|
-
result = parser[token](
|
|
206
|
+
result = parser[token](str, pattern[0]);
|
|
208
207
|
if (!result.length) {
|
|
209
|
-
|
|
208
|
+
break;
|
|
210
209
|
}
|
|
211
|
-
offset += result.length;
|
|
212
210
|
dt[result.token || token.charAt(0)] = result.value;
|
|
211
|
+
dt._index += result.length;
|
|
213
212
|
dt._match++;
|
|
214
|
-
} else if (token ===
|
|
215
|
-
|
|
216
|
-
} else if (comment.test(token) && !
|
|
217
|
-
|
|
218
|
-
} else if (token ===
|
|
219
|
-
|
|
213
|
+
} else if (token === str.charAt(0) || token === wildcard) {
|
|
214
|
+
dt._index++;
|
|
215
|
+
} else if (comment.test(token) && !str.indexOf(token.replace(comment, '$1'))) {
|
|
216
|
+
dt._index += token.length - 2;
|
|
217
|
+
} else if (token === ellipsis) {
|
|
218
|
+
dt._index = dateString.length;
|
|
220
219
|
break;
|
|
221
220
|
} else {
|
|
222
221
|
break;
|
|
223
222
|
}
|
|
224
223
|
}
|
|
225
|
-
dt.H = dt.H || parser.h12(dt.h, dt.A);
|
|
226
|
-
dt._index = offset;
|
|
224
|
+
dt.H = dt.H || parser.h12(dt.h, dt.A);
|
|
227
225
|
dt._length = dateString.length;
|
|
228
226
|
return dt;
|
|
229
227
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @preserve date-and-time (c) KNOWLEDGECODE | MIT
|
|
3
3
|
*/
|
|
4
|
-
var e,t,n={},r={},i="en",u={MMMM:["January","February","March","April","May","June","July","August","September","October","November","December"],MMM:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dd:["Su","Mo","Tu","We","Th","Fr","Sa"],A:["AM","PM"]},s={YYYY:function(e){return("000"+e.getFullYear()).slice(-4)},YY:function(e){return("0"+e.getFullYear()).slice(-2)},Y:function(e){return""+e.getFullYear()},MMMM:function(e){return this.res.MMMM[e.getMonth()]},MMM:function(e){return this.res.MMM[e.getMonth()]},MM:function(e){return("0"+(e.getMonth()+1)).slice(-2)},M:function(e){return""+(e.getMonth()+1)},DD:function(e){return("0"+e.getDate()).slice(-2)},D:function(e){return""+e.getDate()},HH:function(e){return("0"+e.getHours()).slice(-2)},H:function(e){return""+e.getHours()},A:function(e){return this.res.A[e.getHours()>11|0]},hh:function(e){return("0"+(e.getHours()%12||12)).slice(-2)},h:function(e){return""+(e.getHours()%12||12)},mm:function(e){return("0"+e.getMinutes()).slice(-2)},m:function(e){return""+e.getMinutes()},ss:function(e){return("0"+e.getSeconds()).slice(-2)},s:function(e){return""+e.getSeconds()},SSS:function(e){return("00"+e.getMilliseconds()).slice(-3)},SS:function(e){return("0"+(e.getMilliseconds()/10|0)).slice(-2)},S:function(e){return""+(e.getMilliseconds()/100|0)},dddd:function(e){return this.res.dddd[e.getDay()]},ddd:function(e){return this.res.ddd[e.getDay()]},dd:function(e){return this.res.dd[e.getDay()]},Z:function(e){var t=e.getTimezoneOffset()/.6|0;return(t>0?"-":"+")+("000"+Math.abs(t-(t%100*.4|0))).slice(-4)},ZZ:function(e){var t=e.getTimezoneOffset(),n=Math.abs(t);return(t>0?"-":"+")+("0"+(n/60|0)).slice(-2)+":"+("0"+n%60).slice(-2)},post:function(e){return e},res:u},o={YYYY:function(e){return this.exec(/^\d{4}/,e)},Y:function(e){return this.exec(/^\d{1,4}/,e)},MMMM:function(e){var t=this.find(this.res.MMMM,e);return t.value++,t},MMM:function(e){var t=this.find(this.res.MMM,e);return t.value++,t},MM:function(e){return this.exec(/^\d\d/,e)},M:function(e){return this.exec(/^\d\d?/,e)},DD:function(e){return this.exec(/^\d\d/,e)},D:function(e){return this.exec(/^\d\d?/,e)},HH:function(e){return this.exec(/^\d\d/,e)},H:function(e){return this.exec(/^\d\d?/,e)},A:function(e){return this.find(this.res.A,e)},hh:function(e){return this.exec(/^\d\d/,e)},h:function(e){return this.exec(/^\d\d?/,e)},mm:function(e){return this.exec(/^\d\d/,e)},m:function(e){return this.exec(/^\d\d?/,e)},ss:function(e){return this.exec(/^\d\d/,e)},s:function(e){return this.exec(/^\d\d?/,e)},SSS:function(e){return this.exec(/^\d{1,3}/,e)},SS:function(e){var t=this.exec(/^\d\d?/,e);return t.value*=10,t},S:function(e){var t=this.exec(/^\d/,e);return t.value*=100,t},Z:function(e){var t=this.exec(/^[+-]\d{2}[0-5]\d/,e);return t.value=-60*(t.value/100|0)-t.value%100,t},ZZ:function(e){var t=/^([+-])(\d{2}):([0-5]\d)/.exec(e)||["","","",""];return{value:0-(60*(t[1]+t[2]|0)+(t[1]+t[3]|0)),length:t[0].length}},h12:function(e,t){return(12===e?0:e)+12*t},exec:function(e,t){var n=(e.exec(t)||[""])[0];return{value:0|n,length:n.length}},find:function(e,t){for(var n,r=-1,i=0,u=0,s=e.length;u<s;u++)n=e[u],!t.indexOf(n)&&n.length>i&&(r=u,i=n.length);return{value:r,length:i}},pre:function(e){return e},res:u},a=function(e,t,n,r){var i,u={};for(i in e)u[i]=e[i];for(i in t||{})!!n^!!u[i]||(u[i]=t[i]);return r&&(u.res=r),u},c={_formatter:s,_parser:o};c.compile=function(e){
|
|
4
|
+
var e,t,n={},r={},i="en",u={MMMM:["January","February","March","April","May","June","July","August","September","October","November","December"],MMM:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dd:["Su","Mo","Tu","We","Th","Fr","Sa"],A:["AM","PM"]},s={YYYY:function(e){return("000"+e.getFullYear()).slice(-4)},YY:function(e){return("0"+e.getFullYear()).slice(-2)},Y:function(e){return""+e.getFullYear()},MMMM:function(e){return this.res.MMMM[e.getMonth()]},MMM:function(e){return this.res.MMM[e.getMonth()]},MM:function(e){return("0"+(e.getMonth()+1)).slice(-2)},M:function(e){return""+(e.getMonth()+1)},DD:function(e){return("0"+e.getDate()).slice(-2)},D:function(e){return""+e.getDate()},HH:function(e){return("0"+e.getHours()).slice(-2)},H:function(e){return""+e.getHours()},A:function(e){return this.res.A[e.getHours()>11|0]},hh:function(e){return("0"+(e.getHours()%12||12)).slice(-2)},h:function(e){return""+(e.getHours()%12||12)},mm:function(e){return("0"+e.getMinutes()).slice(-2)},m:function(e){return""+e.getMinutes()},ss:function(e){return("0"+e.getSeconds()).slice(-2)},s:function(e){return""+e.getSeconds()},SSS:function(e){return("00"+e.getMilliseconds()).slice(-3)},SS:function(e){return("0"+(e.getMilliseconds()/10|0)).slice(-2)},S:function(e){return""+(e.getMilliseconds()/100|0)},dddd:function(e){return this.res.dddd[e.getDay()]},ddd:function(e){return this.res.ddd[e.getDay()]},dd:function(e){return this.res.dd[e.getDay()]},Z:function(e){var t=e.getTimezoneOffset()/.6|0;return(t>0?"-":"+")+("000"+Math.abs(t-(t%100*.4|0))).slice(-4)},ZZ:function(e){var t=e.getTimezoneOffset(),n=Math.abs(t);return(t>0?"-":"+")+("0"+(n/60|0)).slice(-2)+":"+("0"+n%60).slice(-2)},post:function(e){return e},res:u},o={YYYY:function(e){return this.exec(/^\d{4}/,e)},Y:function(e){return this.exec(/^\d{1,4}/,e)},MMMM:function(e){var t=this.find(this.res.MMMM,e);return t.value++,t},MMM:function(e){var t=this.find(this.res.MMM,e);return t.value++,t},MM:function(e){return this.exec(/^\d\d/,e)},M:function(e){return this.exec(/^\d\d?/,e)},DD:function(e){return this.exec(/^\d\d/,e)},D:function(e){return this.exec(/^\d\d?/,e)},HH:function(e){return this.exec(/^\d\d/,e)},H:function(e){return this.exec(/^\d\d?/,e)},A:function(e){return this.find(this.res.A,e)},hh:function(e){return this.exec(/^\d\d/,e)},h:function(e){return this.exec(/^\d\d?/,e)},mm:function(e){return this.exec(/^\d\d/,e)},m:function(e){return this.exec(/^\d\d?/,e)},ss:function(e){return this.exec(/^\d\d/,e)},s:function(e){return this.exec(/^\d\d?/,e)},SSS:function(e){return this.exec(/^\d{1,3}/,e)},SS:function(e){var t=this.exec(/^\d\d?/,e);return t.value*=10,t},S:function(e){var t=this.exec(/^\d/,e);return t.value*=100,t},Z:function(e){var t=this.exec(/^[+-]\d{2}[0-5]\d/,e);return t.value=-60*(t.value/100|0)-t.value%100,t},ZZ:function(e){var t=/^([+-])(\d{2}):([0-5]\d)/.exec(e)||["","","",""];return{value:0-(60*(t[1]+t[2]|0)+(t[1]+t[3]|0)),length:t[0].length}},h12:function(e,t){return(12===e?0:e)+12*t},exec:function(e,t){var n=(e.exec(t)||[""])[0];return{value:0|n,length:n.length}},find:function(e,t){for(var n,r=-1,i=0,u=0,s=e.length;u<s;u++)n=e[u],!t.indexOf(n)&&n.length>i&&(r=u,i=n.length);return{value:r,length:i}},pre:function(e){return e},res:u},a=function(e,t,n,r){var i,u={};for(i in e)u[i]=e[i];for(i in t||{})!!n^!!u[i]||(u[i]=t[i]);return r&&(u.res=r),u},c={_formatter:s,_parser:o};c.compile=function(e){return[e].concat(e.match(/\[(?:[^[\]]|\[[^[\]]*])*]|([A-Za-z])\1*|\.{3}|./g)||[])},c.format=function(e,n,r){for(var i,u=this||t,s="string"==typeof n?u.compile(n):n,o=u._formatter,a=function(){if(r){var t=new Date(e.getTime());return t.getFullYear=t.getUTCFullYear,t.getMonth=t.getUTCMonth,t.getDate=t.getUTCDate,t.getHours=t.getUTCHours,t.getMinutes=t.getUTCMinutes,t.getSeconds=t.getUTCSeconds,t.getMilliseconds=t.getUTCMilliseconds,t.getDay=t.getUTCDay,t.getTimezoneOffset=function(){return 0},t}return e}(),c=/^\[(.*)\]$/,d="",f=1,l=s.length;f<l;f++)d+=o[i=s[f]]?o.post(o[i](a,s[0])):i.replace(c,"$1");return d},c.preparse=function(e,n){var r=this||t,i="string"==typeof n?r.compile(n):n,u=r._parser,s={Y:1970,M:1,D:1,H:0,A:0,h:0,m:0,s:0,S:0,Z:0,_index:0,_length:0,_match:0},o=/^\[(.*)\]$/;e=u.pre(e);for(var a,c,d,f=1,l=i.length;f<l;f++)if(a=i[f],c=e.slice(s._index),u[a]){if(!(d=u[a](c,i[0])).length)break;s[d.token||a.charAt(0)]=d.value,s._index+=d.length,s._match++}else if(a===c.charAt(0)||" "===a)s._index++;else{if(!o.test(a)||c.indexOf(a.replace(o,"$1"))){if("..."===a){s._index=e.length;break}break}s._index+=a.length-2}return s.H=s.H||u.h12(s.h,s.A),s._length=e.length,s},c.parse=function(e,n,r){var i=this||t,u="string"==typeof n?i.compile(n):n,s=i.preparse(e,u);return i.isValid(s)?(s.M-=s.Y<100?22801:1,r||~i._parser.find(u,"ZZ").value?new Date(Date.UTC(s.Y,s.M,s.D,s.H,s.m+s.Z,s.s,s.S)):new Date(s.Y,s.M,s.D,s.H,s.m,s.s,s.S)):new Date(NaN)},c.isValid=function(e,n){var r=this||t,i="string"==typeof e?r.preparse(e,n):e,u=[31,28+r.isLeapYear(i.Y)|0,31,30,31,30,31,31,30,31,30,31][i.M-1];return!(i._index<1||i._length<1||i._index-i._length||i._match<1||i.Y<1||i.Y>9999||i.M<1||i.M>12||i.D<1||i.D>u||i.H<0||i.H>23||i.m<0||i.m>59||i.s<0||i.s>59||i.S<0||i.S>999||i.Z<-840||i.Z>720)},c.transform=function(e,n,r,i){const u=this||t;return u.format(u.parse(e,n),r,i)},c.addYears=function(e,n,r){return(this||t).addMonths(e,12*n,r)},c.addMonths=function(e,n,r){var i=new Date(e.getTime());if(r){if(i.setUTCMonth(i.getUTCMonth()+n),i.getUTCDate()<e.getUTCDate())return(this||t).addDays(i,-i.getUTCDate(),r)}else if(i.setMonth(i.getMonth()+n),i.getDate()<e.getDate())return(this||t).addDays(i,-i.getDate(),r);return i},c.addDays=function(e,n,r){return(this||t).addHours(e,24*n,r)},c.addHours=function(e,n,r){return(this||t).addMinutes(e,60*n,r)},c.addMinutes=function(e,n,r){return(this||t).addSeconds(e,60*n,r)},c.addSeconds=function(e,n,r){return(this||t).addMilliseconds(e,1e3*n,r)},c.addMilliseconds=function(e,t,n){var r=new Date(e.getTime());return n?r.setUTCMilliseconds(r.getUTCMilliseconds()+t):r.setMilliseconds(r.getMilliseconds()+t),r},c.subtract=function(e,t){var n=e.getTime()-t.getTime();return{toMilliseconds:function(){return n},toSeconds:function(){return n/1e3},toMinutes:function(){return n/6e4},toHours:function(){return n/36e5},toDays:function(){return n/864e5}}},c.isLeapYear=function(e){return!((e%4||!(e%100))&&e%400)},c.isSameDay=function(e,t){return e.toDateString()===t.toDateString()},c.locale=function(e,t){n[e]||(n[e]=t)},c.plugin=function(e,t){r[e]||(r[e]=t)},e=a(c),(t=a(c)).locale=function(d){var f="function"==typeof d?d:t.locale[d];if(!f)return i;i=f(c);var l=n[i]||{},h=a(u,l.res,!0),M=a(s,l.formatter,!0,h),g=a(o,l.parser,!0,h);for(var p in t._formatter=e._formatter=M,t._parser=e._parser=g,r)t.extend(r[p]);return i},t.extend=function(e){var n=a(t._parser.res,e.res),r=e.extender||{};for(var i in t._formatter=a(t._formatter,e.formatter,!1,n),t._parser=a(t._parser,e.parser,!1,n),r)t[i]||(t[i]=r[i])},t.plugin=function(n){var i="function"==typeof n?n:t.plugin[n];i&&t.extend(r[i(c,e)]||{})};var d=t;export{d as default};
|
package/esm/date-and-time.mjs
CHANGED
|
@@ -145,12 +145,7 @@ var locales = {},
|
|
|
145
145
|
* @returns {Array.<string>} A compiled object
|
|
146
146
|
*/
|
|
147
147
|
proto.compile = function (formatString) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
while ((keys = re.exec(formatString))) {
|
|
151
|
-
pattern[pattern.length] = keys[0];
|
|
152
|
-
}
|
|
153
|
-
return pattern;
|
|
148
|
+
return [formatString].concat(formatString.match(/\[(?:[^[\]]|\[[^[\]]*])*]|([A-Za-z])\1*|\.{3}|./g) || []);
|
|
154
149
|
};
|
|
155
150
|
|
|
156
151
|
/**
|
|
@@ -162,6 +157,7 @@ proto.compile = function (formatString) {
|
|
|
162
157
|
*/
|
|
163
158
|
proto.format = function (dateObj, arg, utc) {
|
|
164
159
|
var ctx = this || date, pattern = typeof arg === 'string' ? ctx.compile(arg) : arg,
|
|
160
|
+
formatter = ctx._formatter,
|
|
165
161
|
d = (function () {
|
|
166
162
|
if (utc) {
|
|
167
163
|
var u = new Date(dateObj.getTime());
|
|
@@ -179,11 +175,11 @@ proto.format = function (dateObj, arg, utc) {
|
|
|
179
175
|
}
|
|
180
176
|
return dateObj;
|
|
181
177
|
}()),
|
|
182
|
-
|
|
178
|
+
comment = /^\[(.*)\]$/, str = '';
|
|
183
179
|
|
|
184
180
|
for (var i = 1, len = pattern.length, token; i < len; i++) {
|
|
185
181
|
token = pattern[i];
|
|
186
|
-
str += formatter[token] ? formatter.post(formatter[token](d, pattern[0])) : token.replace(
|
|
182
|
+
str += formatter[token] ? formatter.post(formatter[token](d, pattern[0])) : token.replace(comment, '$1');
|
|
187
183
|
}
|
|
188
184
|
return str;
|
|
189
185
|
};
|
|
@@ -197,33 +193,35 @@ proto.format = function (dateObj, arg, utc) {
|
|
|
197
193
|
*/
|
|
198
194
|
proto.preparse = function (dateString, arg) {
|
|
199
195
|
var ctx = this || date, pattern = typeof arg === 'string' ? ctx.compile(arg) : arg,
|
|
196
|
+
parser = ctx._parser,
|
|
200
197
|
dt = { Y: 1970, M: 1, D: 1, H: 0, A: 0, h: 0, m: 0, s: 0, S: 0, Z: 0, _index: 0, _length: 0, _match: 0 },
|
|
201
|
-
comment =
|
|
198
|
+
wildcard = ' ', comment = /^\[(.*)\]$/, ellipsis = '...';
|
|
202
199
|
|
|
203
200
|
dateString = parser.pre(dateString);
|
|
204
|
-
for (var i = 1, len = pattern.length, token, result; i < len; i++) {
|
|
201
|
+
for (var i = 1, len = pattern.length, token, str, result; i < len; i++) {
|
|
205
202
|
token = pattern[i];
|
|
203
|
+
str = dateString.slice(dt._index);
|
|
204
|
+
|
|
206
205
|
if (parser[token]) {
|
|
207
|
-
result = parser[token](
|
|
206
|
+
result = parser[token](str, pattern[0]);
|
|
208
207
|
if (!result.length) {
|
|
209
|
-
|
|
208
|
+
break;
|
|
210
209
|
}
|
|
211
|
-
offset += result.length;
|
|
212
210
|
dt[result.token || token.charAt(0)] = result.value;
|
|
211
|
+
dt._index += result.length;
|
|
213
212
|
dt._match++;
|
|
214
|
-
} else if (token ===
|
|
215
|
-
|
|
216
|
-
} else if (comment.test(token) && !
|
|
217
|
-
|
|
218
|
-
} else if (token ===
|
|
219
|
-
|
|
213
|
+
} else if (token === str.charAt(0) || token === wildcard) {
|
|
214
|
+
dt._index++;
|
|
215
|
+
} else if (comment.test(token) && !str.indexOf(token.replace(comment, '$1'))) {
|
|
216
|
+
dt._index += token.length - 2;
|
|
217
|
+
} else if (token === ellipsis) {
|
|
218
|
+
dt._index = dateString.length;
|
|
220
219
|
break;
|
|
221
220
|
} else {
|
|
222
221
|
break;
|
|
223
222
|
}
|
|
224
223
|
}
|
|
225
|
-
dt.H = dt.H || parser.h12(dt.h, dt.A);
|
|
226
|
-
dt._index = offset;
|
|
224
|
+
dt.H = dt.H || parser.h12(dt.h, dt.A);
|
|
227
225
|
dt._length = dateString.length;
|
|
228
226
|
return dt;
|
|
229
227
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "date-and-time",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "A Minimalist DateTime utility for Node.js and the browser",
|
|
5
5
|
"main": "date-and-time.js",
|
|
6
6
|
"module": "esm/date-and-time.es.js",
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@rollup/plugin-terser": "^0.4.4",
|
|
53
53
|
"expect.js": "^0.3.1",
|
|
54
|
-
"mocha": "^10.
|
|
55
|
-
"rollup": "^4.
|
|
56
|
-
"tsd": "^0.
|
|
54
|
+
"mocha": "^10.4.0",
|
|
55
|
+
"rollup": "^4.17.2",
|
|
56
|
+
"tsd": "^0.31.0"
|
|
57
57
|
}
|
|
58
58
|
}
|
package/rollup.config.mjs
DELETED
|
@@ -1,356 +0,0 @@
|
|
|
1
|
-
import terser from '@rollup/plugin-terser';
|
|
2
|
-
|
|
3
|
-
export default [
|
|
4
|
-
{
|
|
5
|
-
input: 'src/index.js',
|
|
6
|
-
output: [
|
|
7
|
-
{ file: 'esm/date-and-time.es.js', format: 'es' },
|
|
8
|
-
{ file: 'esm/date-and-time.mjs', format: 'es' },
|
|
9
|
-
{ file: 'date-and-time.js', format: 'umd', name: 'date', esModule: false }
|
|
10
|
-
]
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
input: 'src/locale/ar.js',
|
|
14
|
-
output: [
|
|
15
|
-
{ file: 'esm/locale/ar.es.js', format: 'es' },
|
|
16
|
-
{ file: 'esm/locale/ar.mjs', format: 'es' },
|
|
17
|
-
{ file: 'locale/ar.js', format: 'umd', name: 'date.locale.ar', esModule: false }
|
|
18
|
-
]
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
input: 'src/locale/az.js',
|
|
22
|
-
output: [
|
|
23
|
-
{ file: 'esm/locale/az.es.js', format: 'es' },
|
|
24
|
-
{ file: 'esm/locale/az.mjs', format: 'es' },
|
|
25
|
-
{ file: 'locale/az.js', format: 'umd', name: 'date.locale.az', esModule: false }
|
|
26
|
-
]
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
input: 'src/locale/bn.js',
|
|
30
|
-
output: [
|
|
31
|
-
{ file: 'esm/locale/bn.es.js', format: 'es' },
|
|
32
|
-
{ file: 'esm/locale/bn.mjs', format: 'es' },
|
|
33
|
-
{ file: 'locale/bn.js', format: 'umd', name: 'date.locale.bn', esModule: false }
|
|
34
|
-
]
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
input: 'src/locale/cs.js',
|
|
38
|
-
output: [
|
|
39
|
-
{ file: 'esm/locale/cs.es.js', format: 'es' },
|
|
40
|
-
{ file: 'esm/locale/cs.mjs', format: 'es' },
|
|
41
|
-
{ file: 'locale/cs.js', format: 'umd', name: 'date.locale.cs', esModule: false }
|
|
42
|
-
]
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
input: 'src/locale/de.js',
|
|
46
|
-
output: [
|
|
47
|
-
{ file: 'esm/locale/de.es.js', format: 'es' },
|
|
48
|
-
{ file: 'esm/locale/de.mjs', format: 'es' },
|
|
49
|
-
{ file: 'locale/de.js', format: 'umd', name: 'date.locale.de', esModule: false }
|
|
50
|
-
]
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
input: 'src/locale/dk.js',
|
|
54
|
-
output: [
|
|
55
|
-
{ file: 'esm/locale/dk.es.js', format: 'es' },
|
|
56
|
-
{ file: 'esm/locale/dk.mjs', format: 'es' },
|
|
57
|
-
{ file: 'locale/dk.js', format: 'umd', name: 'date.locale.dk', esModule: false }
|
|
58
|
-
]
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
input: 'src/locale/el.js',
|
|
62
|
-
output: [
|
|
63
|
-
{ file: 'esm/locale/el.es.js', format: 'es' },
|
|
64
|
-
{ file: 'esm/locale/el.mjs', format: 'es' },
|
|
65
|
-
{ file: 'locale/el.js', format: 'umd', name: 'date.locale.el', esModule: false }
|
|
66
|
-
]
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
input: 'src/locale/en.js',
|
|
70
|
-
output: [
|
|
71
|
-
{ file: 'esm/locale/en.es.js', format: 'es' },
|
|
72
|
-
{ file: 'esm/locale/en.mjs', format: 'es' },
|
|
73
|
-
{ file: 'locale/en.js', format: 'umd', name: 'date.locale.en', esModule: false }
|
|
74
|
-
]
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
input: 'src/locale/es.js',
|
|
78
|
-
output: [
|
|
79
|
-
{ file: 'esm/locale/es.es.js', format: 'es' },
|
|
80
|
-
{ file: 'esm/locale/es.mjs', format: 'es' },
|
|
81
|
-
{ file: 'locale/es.js', format: 'umd', name: 'date.locale.es', esModule: false }
|
|
82
|
-
]
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
input: 'src/locale/fa.js',
|
|
86
|
-
output: [
|
|
87
|
-
{ file: 'esm/locale/fa.es.js', format: 'es' },
|
|
88
|
-
{ file: 'esm/locale/fa.mjs', format: 'es' },
|
|
89
|
-
{ file: 'locale/fa.js', format: 'umd', name: 'date.locale.fa', esModule: false }
|
|
90
|
-
]
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
input: 'src/locale/fr.js',
|
|
94
|
-
output: [
|
|
95
|
-
{ file: 'esm/locale/fr.es.js', format: 'es' },
|
|
96
|
-
{ file: 'esm/locale/fr.mjs', format: 'es' },
|
|
97
|
-
{ file: 'locale/fr.js', format: 'umd', name: 'date.locale.fr', esModule: false }
|
|
98
|
-
]
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
input: 'src/locale/hi.js',
|
|
102
|
-
output: [
|
|
103
|
-
{ file: 'esm/locale/hi.es.js', format: 'es' },
|
|
104
|
-
{ file: 'esm/locale/hi.mjs', format: 'es' },
|
|
105
|
-
{ file: 'locale/hi.js', format: 'umd', name: 'date.locale.hi', esModule: false }
|
|
106
|
-
]
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
input: 'src/locale/hu.js',
|
|
110
|
-
output: [
|
|
111
|
-
{ file: 'esm/locale/hu.es.js', format: 'es' },
|
|
112
|
-
{ file: 'esm/locale/hu.mjs', format: 'es' },
|
|
113
|
-
{ file: 'locale/hu.js', format: 'umd', name: 'date.locale.hu', esModule: false }
|
|
114
|
-
]
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
input: 'src/locale/id.js',
|
|
118
|
-
output: [
|
|
119
|
-
{ file: 'esm/locale/id.es.js', format: 'es' },
|
|
120
|
-
{ file: 'esm/locale/id.mjs', format: 'es' },
|
|
121
|
-
{ file: 'locale/id.js', format: 'umd', name: 'date.locale.id', esModule: false }
|
|
122
|
-
]
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
input: 'src/locale/it.js',
|
|
126
|
-
output: [
|
|
127
|
-
{ file: 'esm/locale/it.es.js', format: 'es' },
|
|
128
|
-
{ file: 'esm/locale/it.mjs', format: 'es' },
|
|
129
|
-
{ file: 'locale/it.js', format: 'umd', name: 'date.locale.it', esModule: false }
|
|
130
|
-
]
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
input: 'src/locale/ja.js',
|
|
134
|
-
output: [
|
|
135
|
-
{ file: 'esm/locale/ja.es.js', format: 'es' },
|
|
136
|
-
{ file: 'esm/locale/ja.mjs', format: 'es' },
|
|
137
|
-
{ file: 'locale/ja.js', format: 'umd', name: 'date.locale.ja', esModule: false }
|
|
138
|
-
]
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
input: 'src/locale/jv.js',
|
|
142
|
-
output: [
|
|
143
|
-
{ file: 'esm/locale/jv.es.js', format: 'es' },
|
|
144
|
-
{ file: 'esm/locale/jv.mjs', format: 'es' },
|
|
145
|
-
{ file: 'locale/jv.js', format: 'umd', name: 'date.locale.jv', esModule: false }
|
|
146
|
-
]
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
input: 'src/locale/ko.js',
|
|
150
|
-
output: [
|
|
151
|
-
{ file: 'esm/locale/ko.es.js', format: 'es' },
|
|
152
|
-
{ file: 'esm/locale/ko.mjs', format: 'es' },
|
|
153
|
-
{ file: 'locale/ko.js', format: 'umd', name: 'date.locale.ko', esModule: false }
|
|
154
|
-
]
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
input: 'src/locale/my.js',
|
|
158
|
-
output: [
|
|
159
|
-
{ file: 'esm/locale/my.es.js', format: 'es' },
|
|
160
|
-
{ file: 'esm/locale/my.mjs', format: 'es' },
|
|
161
|
-
{ file: 'locale/my.js', format: 'umd', name: 'date.locale.my', esModule: false }
|
|
162
|
-
]
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
input: 'src/locale/nl.js',
|
|
166
|
-
output: [
|
|
167
|
-
{ file: 'esm/locale/nl.es.js', format: 'es' },
|
|
168
|
-
{ file: 'esm/locale/nl.mjs', format: 'es' },
|
|
169
|
-
{ file: 'locale/nl.js', format: 'umd', name: 'date.locale.nl', esModule: false }
|
|
170
|
-
]
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
input: 'src/locale/pa-in.js',
|
|
174
|
-
output: [
|
|
175
|
-
{ file: 'esm/locale/pa-in.es.js', format: 'es' },
|
|
176
|
-
{ file: 'esm/locale/pa-in.mjs', format: 'es' },
|
|
177
|
-
{ file: 'locale/pa-in.js', format: 'umd', name: 'date.locale.pa-in', esModule: false }
|
|
178
|
-
]
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
input: 'src/locale/pl.js',
|
|
182
|
-
output: [
|
|
183
|
-
{ file: 'esm/locale/pl.es.js', format: 'es' },
|
|
184
|
-
{ file: 'esm/locale/pl.mjs', format: 'es' },
|
|
185
|
-
{ file: 'locale/pl.js', format: 'umd', name: 'date.locale.pl', esModule: false }
|
|
186
|
-
]
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
input: 'src/locale/pt.js',
|
|
190
|
-
output: [
|
|
191
|
-
{ file: 'esm/locale/pt.es.js', format: 'es' },
|
|
192
|
-
{ file: 'esm/locale/pt.mjs', format: 'es' },
|
|
193
|
-
{ file: 'locale/pt.js', format: 'umd', name: 'date.locale.pt', esModule: false }
|
|
194
|
-
]
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
input: 'src/locale/ro.js',
|
|
198
|
-
output: [
|
|
199
|
-
{ file: 'esm/locale/ro.es.js', format: 'es' },
|
|
200
|
-
{ file: 'esm/locale/ro.mjs', format: 'es' },
|
|
201
|
-
{ file: 'locale/ro.js', format: 'umd', name: 'date.locale.ro', esModule: false }
|
|
202
|
-
]
|
|
203
|
-
},
|
|
204
|
-
{
|
|
205
|
-
input: 'src/locale/ru.js',
|
|
206
|
-
output: [
|
|
207
|
-
{ file: 'esm/locale/ru.es.js', format: 'es' },
|
|
208
|
-
{ file: 'esm/locale/ru.mjs', format: 'es' },
|
|
209
|
-
{ file: 'locale/ru.js', format: 'umd', name: 'date.locale.ru', esModule: false }
|
|
210
|
-
]
|
|
211
|
-
},
|
|
212
|
-
{
|
|
213
|
-
input: 'src/locale/rw.js',
|
|
214
|
-
output: [
|
|
215
|
-
{ file: 'esm/locale/rw.es.js', format: 'es' },
|
|
216
|
-
{ file: 'esm/locale/rw.mjs', format: 'es' },
|
|
217
|
-
{ file: 'locale/rw.js', format: 'umd', name: 'date.locale.rw', esModule: false }
|
|
218
|
-
]
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
input: 'src/locale/sr.js',
|
|
222
|
-
output: [
|
|
223
|
-
{ file: 'esm/locale/sr.es.js', format: 'es' },
|
|
224
|
-
{ file: 'esm/locale/sr.mjs', format: 'es' },
|
|
225
|
-
{ file: 'locale/sr.js', format: 'umd', name: 'date.locale.sr', esModule: false }
|
|
226
|
-
]
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
input: 'src/locale/sv.js',
|
|
230
|
-
output: [
|
|
231
|
-
{ file: 'esm/locale/sv.es.js', format: 'es' },
|
|
232
|
-
{ file: 'esm/locale/sv.mjs', format: 'es' },
|
|
233
|
-
{ file: 'locale/sv.js', format: 'umd', name: 'date.locale.sv', esModule: false }
|
|
234
|
-
]
|
|
235
|
-
},
|
|
236
|
-
{
|
|
237
|
-
input: 'src/locale/th.js',
|
|
238
|
-
output: [
|
|
239
|
-
{ file: 'esm/locale/th.es.js', format: 'es' },
|
|
240
|
-
{ file: 'esm/locale/th.mjs', format: 'es' },
|
|
241
|
-
{ file: 'locale/th.js', format: 'umd', name: 'date.locale.th', esModule: false }
|
|
242
|
-
]
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
input: 'src/locale/tr.js',
|
|
246
|
-
output: [
|
|
247
|
-
{ file: 'esm/locale/tr.es.js', format: 'es' },
|
|
248
|
-
{ file: 'esm/locale/tr.mjs', format: 'es' },
|
|
249
|
-
{ file: 'locale/tr.js', format: 'umd', name: 'date.locale.tr', esModule: false }
|
|
250
|
-
]
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
input: 'src/locale/uk.js',
|
|
254
|
-
output: [
|
|
255
|
-
{ file: 'esm/locale/uk.es.js', format: 'es' },
|
|
256
|
-
{ file: 'esm/locale/uk.mjs', format: 'es' },
|
|
257
|
-
{ file: 'locale/uk.js', format: 'umd', name: 'date.locale.uk', esModule: false }
|
|
258
|
-
]
|
|
259
|
-
},
|
|
260
|
-
{
|
|
261
|
-
input: 'src/locale/uz.js',
|
|
262
|
-
output: [
|
|
263
|
-
{ file: 'esm/locale/uz.es.js', format: 'es' },
|
|
264
|
-
{ file: 'esm/locale/uz.mjs', format: 'es' },
|
|
265
|
-
{ file: 'locale/uz.js', format: 'umd', name: 'date.locale.uz', esModule: false }
|
|
266
|
-
]
|
|
267
|
-
},
|
|
268
|
-
{
|
|
269
|
-
input: 'src/locale/vi.js',
|
|
270
|
-
output: [
|
|
271
|
-
{ file: 'esm/locale/vi.es.js', format: 'es' },
|
|
272
|
-
{ file: 'esm/locale/vi.mjs', format: 'es' },
|
|
273
|
-
{ file: 'locale/vi.js', format: 'umd', name: 'date.locale.vi', esModule: false }
|
|
274
|
-
]
|
|
275
|
-
},
|
|
276
|
-
{
|
|
277
|
-
input: 'src/locale/zh-cn.js',
|
|
278
|
-
output: [
|
|
279
|
-
{ file: 'esm/locale/zh-cn.es.js', format: 'es' },
|
|
280
|
-
{ file: 'esm/locale/zh-cn.mjs', format: 'es' },
|
|
281
|
-
{ file: 'locale/zh-cn.js', format: 'umd', name: 'date.locale.zh-cn', esModule: false }
|
|
282
|
-
]
|
|
283
|
-
},
|
|
284
|
-
{
|
|
285
|
-
input: 'src/locale/zh-tw.js',
|
|
286
|
-
output: [
|
|
287
|
-
{ file: 'esm/locale/zh-tw.es.js', format: 'es' },
|
|
288
|
-
{ file: 'esm/locale/zh-tw.mjs', format: 'es' },
|
|
289
|
-
{ file: 'locale/zh-tw.js', format: 'umd', name: 'date.locale.zh-tw', esModule: false }
|
|
290
|
-
]
|
|
291
|
-
},
|
|
292
|
-
{
|
|
293
|
-
input: 'src/plugin/day-of-week.js',
|
|
294
|
-
output: [
|
|
295
|
-
{ file: 'esm/plugin/day-of-week.es.js', format: 'es' },
|
|
296
|
-
{ file: 'esm/plugin/day-of-week.mjs', format: 'es' },
|
|
297
|
-
{ file: 'plugin/day-of-week.js', format: 'umd', name: 'date.plugin.day-of-week', esModule: false }
|
|
298
|
-
]
|
|
299
|
-
},
|
|
300
|
-
{
|
|
301
|
-
input: 'src/plugin/meridiem.js',
|
|
302
|
-
output: [
|
|
303
|
-
{ file: 'esm/plugin/meridiem.es.js', format: 'es' },
|
|
304
|
-
{ file: 'esm/plugin/meridiem.mjs', format: 'es' },
|
|
305
|
-
{ file: 'plugin/meridiem.js', format: 'umd', name: 'date.plugin.meridiem', esModule: false }
|
|
306
|
-
]
|
|
307
|
-
},
|
|
308
|
-
{
|
|
309
|
-
input: 'src/plugin/microsecond.js',
|
|
310
|
-
output: [
|
|
311
|
-
{ file: 'esm/plugin/microsecond.es.js', format: 'es' },
|
|
312
|
-
{ file: 'esm/plugin/microsecond.mjs', format: 'es' },
|
|
313
|
-
{ file: 'plugin/microsecond.js', format: 'umd', name: 'date.plugin.microsecond', esModule: false }
|
|
314
|
-
]
|
|
315
|
-
},
|
|
316
|
-
{
|
|
317
|
-
input: 'src/plugin/ordinal.js',
|
|
318
|
-
output: [
|
|
319
|
-
{ file: 'esm/plugin/ordinal.es.js', format: 'es' },
|
|
320
|
-
{ file: 'esm/plugin/ordinal.mjs', format: 'es' },
|
|
321
|
-
{ file: 'plugin/ordinal.js', format: 'umd', name: 'date.plugin.ordinal', esModule: false }
|
|
322
|
-
]
|
|
323
|
-
},
|
|
324
|
-
{
|
|
325
|
-
input: 'src/plugin/timespan.js',
|
|
326
|
-
output: [
|
|
327
|
-
{ file: 'esm/plugin/timespan.es.js', format: 'es' },
|
|
328
|
-
{ file: 'esm/plugin/timespan.mjs', format: 'es' },
|
|
329
|
-
{ file: 'plugin/timespan.js', format: 'umd', name: 'date.plugin.timespan', esModule: false }
|
|
330
|
-
]
|
|
331
|
-
},
|
|
332
|
-
{
|
|
333
|
-
input: 'src/plugin/timezone.js',
|
|
334
|
-
output: [
|
|
335
|
-
{ file: 'esm/plugin/timezone.es.js', format: 'es' },
|
|
336
|
-
{ file: 'esm/plugin/timezone.mjs', format: 'es' },
|
|
337
|
-
{ file: 'plugin/timezone.js', format: 'umd', name: 'date.plugin.timezone', esModule: false }
|
|
338
|
-
]
|
|
339
|
-
},
|
|
340
|
-
{
|
|
341
|
-
input: 'src/plugin/two-digit-year.js',
|
|
342
|
-
output: [
|
|
343
|
-
{ file: 'esm/plugin/two-digit-year.es.js', format: 'es' },
|
|
344
|
-
{ file: 'esm/plugin/two-digit-year.mjs', format: 'es' },
|
|
345
|
-
{ file: 'plugin/two-digit-year.js', format: 'umd', name: 'date.plugin.two-digit-year', esModule: false }
|
|
346
|
-
]
|
|
347
|
-
},
|
|
348
|
-
{
|
|
349
|
-
input: 'src/index.js',
|
|
350
|
-
output: [
|
|
351
|
-
{ file: 'esm/date-and-time.es.min.js', format: 'es' },
|
|
352
|
-
{ file: 'date-and-time.min.js', format: 'umd', name: 'date', esModule: false }
|
|
353
|
-
],
|
|
354
|
-
plugins: [terser()]
|
|
355
|
-
}
|
|
356
|
-
];
|