source: node_modules/victory-vendor/lib-vendor/d3-time-format/src/locale.js

Last change on this file was a762898, checked in by istevanoska <ilinastevanoska@…>, 5 months ago

Added visualizations

  • Property mode set to 100644
File size: 18.4 KB
Line 
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = formatLocale;
7var _index = require("../../../lib-vendor/d3-time/src/index.js");
8function localDate(d) {
9 if (0 <= d.y && d.y < 100) {
10 var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
11 date.setFullYear(d.y);
12 return date;
13 }
14 return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);
15}
16function utcDate(d) {
17 if (0 <= d.y && d.y < 100) {
18 var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));
19 date.setUTCFullYear(d.y);
20 return date;
21 }
22 return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));
23}
24function newDate(y, m, d) {
25 return {
26 y: y,
27 m: m,
28 d: d,
29 H: 0,
30 M: 0,
31 S: 0,
32 L: 0
33 };
34}
35function formatLocale(locale) {
36 var locale_dateTime = locale.dateTime,
37 locale_date = locale.date,
38 locale_time = locale.time,
39 locale_periods = locale.periods,
40 locale_weekdays = locale.days,
41 locale_shortWeekdays = locale.shortDays,
42 locale_months = locale.months,
43 locale_shortMonths = locale.shortMonths;
44 var periodRe = formatRe(locale_periods),
45 periodLookup = formatLookup(locale_periods),
46 weekdayRe = formatRe(locale_weekdays),
47 weekdayLookup = formatLookup(locale_weekdays),
48 shortWeekdayRe = formatRe(locale_shortWeekdays),
49 shortWeekdayLookup = formatLookup(locale_shortWeekdays),
50 monthRe = formatRe(locale_months),
51 monthLookup = formatLookup(locale_months),
52 shortMonthRe = formatRe(locale_shortMonths),
53 shortMonthLookup = formatLookup(locale_shortMonths);
54 var formats = {
55 "a": formatShortWeekday,
56 "A": formatWeekday,
57 "b": formatShortMonth,
58 "B": formatMonth,
59 "c": null,
60 "d": formatDayOfMonth,
61 "e": formatDayOfMonth,
62 "f": formatMicroseconds,
63 "g": formatYearISO,
64 "G": formatFullYearISO,
65 "H": formatHour24,
66 "I": formatHour12,
67 "j": formatDayOfYear,
68 "L": formatMilliseconds,
69 "m": formatMonthNumber,
70 "M": formatMinutes,
71 "p": formatPeriod,
72 "q": formatQuarter,
73 "Q": formatUnixTimestamp,
74 "s": formatUnixTimestampSeconds,
75 "S": formatSeconds,
76 "u": formatWeekdayNumberMonday,
77 "U": formatWeekNumberSunday,
78 "V": formatWeekNumberISO,
79 "w": formatWeekdayNumberSunday,
80 "W": formatWeekNumberMonday,
81 "x": null,
82 "X": null,
83 "y": formatYear,
84 "Y": formatFullYear,
85 "Z": formatZone,
86 "%": formatLiteralPercent
87 };
88 var utcFormats = {
89 "a": formatUTCShortWeekday,
90 "A": formatUTCWeekday,
91 "b": formatUTCShortMonth,
92 "B": formatUTCMonth,
93 "c": null,
94 "d": formatUTCDayOfMonth,
95 "e": formatUTCDayOfMonth,
96 "f": formatUTCMicroseconds,
97 "g": formatUTCYearISO,
98 "G": formatUTCFullYearISO,
99 "H": formatUTCHour24,
100 "I": formatUTCHour12,
101 "j": formatUTCDayOfYear,
102 "L": formatUTCMilliseconds,
103 "m": formatUTCMonthNumber,
104 "M": formatUTCMinutes,
105 "p": formatUTCPeriod,
106 "q": formatUTCQuarter,
107 "Q": formatUnixTimestamp,
108 "s": formatUnixTimestampSeconds,
109 "S": formatUTCSeconds,
110 "u": formatUTCWeekdayNumberMonday,
111 "U": formatUTCWeekNumberSunday,
112 "V": formatUTCWeekNumberISO,
113 "w": formatUTCWeekdayNumberSunday,
114 "W": formatUTCWeekNumberMonday,
115 "x": null,
116 "X": null,
117 "y": formatUTCYear,
118 "Y": formatUTCFullYear,
119 "Z": formatUTCZone,
120 "%": formatLiteralPercent
121 };
122 var parses = {
123 "a": parseShortWeekday,
124 "A": parseWeekday,
125 "b": parseShortMonth,
126 "B": parseMonth,
127 "c": parseLocaleDateTime,
128 "d": parseDayOfMonth,
129 "e": parseDayOfMonth,
130 "f": parseMicroseconds,
131 "g": parseYear,
132 "G": parseFullYear,
133 "H": parseHour24,
134 "I": parseHour24,
135 "j": parseDayOfYear,
136 "L": parseMilliseconds,
137 "m": parseMonthNumber,
138 "M": parseMinutes,
139 "p": parsePeriod,
140 "q": parseQuarter,
141 "Q": parseUnixTimestamp,
142 "s": parseUnixTimestampSeconds,
143 "S": parseSeconds,
144 "u": parseWeekdayNumberMonday,
145 "U": parseWeekNumberSunday,
146 "V": parseWeekNumberISO,
147 "w": parseWeekdayNumberSunday,
148 "W": parseWeekNumberMonday,
149 "x": parseLocaleDate,
150 "X": parseLocaleTime,
151 "y": parseYear,
152 "Y": parseFullYear,
153 "Z": parseZone,
154 "%": parseLiteralPercent
155 };
156
157 // These recursive directive definitions must be deferred.
158 formats.x = newFormat(locale_date, formats);
159 formats.X = newFormat(locale_time, formats);
160 formats.c = newFormat(locale_dateTime, formats);
161 utcFormats.x = newFormat(locale_date, utcFormats);
162 utcFormats.X = newFormat(locale_time, utcFormats);
163 utcFormats.c = newFormat(locale_dateTime, utcFormats);
164 function newFormat(specifier, formats) {
165 return function (date) {
166 var string = [],
167 i = -1,
168 j = 0,
169 n = specifier.length,
170 c,
171 pad,
172 format;
173 if (!(date instanceof Date)) date = new Date(+date);
174 while (++i < n) {
175 if (specifier.charCodeAt(i) === 37) {
176 string.push(specifier.slice(j, i));
177 if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);else pad = c === "e" ? " " : "0";
178 if (format = formats[c]) c = format(date, pad);
179 string.push(c);
180 j = i + 1;
181 }
182 }
183 string.push(specifier.slice(j, i));
184 return string.join("");
185 };
186 }
187 function newParse(specifier, Z) {
188 return function (string) {
189 var d = newDate(1900, undefined, 1),
190 i = parseSpecifier(d, specifier, string += "", 0),
191 week,
192 day;
193 if (i != string.length) return null;
194
195 // If a UNIX timestamp is specified, return it.
196 if ("Q" in d) return new Date(d.Q);
197 if ("s" in d) return new Date(d.s * 1000 + ("L" in d ? d.L : 0));
198
199 // If this is utcParse, never use the local timezone.
200 if (Z && !("Z" in d)) d.Z = 0;
201
202 // The am-pm flag is 0 for AM, and 1 for PM.
203 if ("p" in d) d.H = d.H % 12 + d.p * 12;
204
205 // If the month was not specified, inherit from the quarter.
206 if (d.m === undefined) d.m = "q" in d ? d.q : 0;
207
208 // Convert day-of-week and week-of-year to day-of-year.
209 if ("V" in d) {
210 if (d.V < 1 || d.V > 53) return null;
211 if (!("w" in d)) d.w = 1;
212 if ("Z" in d) {
213 week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();
214 week = day > 4 || day === 0 ? _index.utcMonday.ceil(week) : (0, _index.utcMonday)(week);
215 week = _index.utcDay.offset(week, (d.V - 1) * 7);
216 d.y = week.getUTCFullYear();
217 d.m = week.getUTCMonth();
218 d.d = week.getUTCDate() + (d.w + 6) % 7;
219 } else {
220 week = localDate(newDate(d.y, 0, 1)), day = week.getDay();
221 week = day > 4 || day === 0 ? _index.timeMonday.ceil(week) : (0, _index.timeMonday)(week);
222 week = _index.timeDay.offset(week, (d.V - 1) * 7);
223 d.y = week.getFullYear();
224 d.m = week.getMonth();
225 d.d = week.getDate() + (d.w + 6) % 7;
226 }
227 } else if ("W" in d || "U" in d) {
228 if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0;
229 day = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
230 d.m = 0;
231 d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;
232 }
233
234 // If a time zone is specified, all fields are interpreted as UTC and then
235 // offset according to the specified time zone.
236 if ("Z" in d) {
237 d.H += d.Z / 100 | 0;
238 d.M += d.Z % 100;
239 return utcDate(d);
240 }
241
242 // Otherwise, all fields are in local time.
243 return localDate(d);
244 };
245 }
246 function parseSpecifier(d, specifier, string, j) {
247 var i = 0,
248 n = specifier.length,
249 m = string.length,
250 c,
251 parse;
252 while (i < n) {
253 if (j >= m) return -1;
254 c = specifier.charCodeAt(i++);
255 if (c === 37) {
256 c = specifier.charAt(i++);
257 parse = parses[c in pads ? specifier.charAt(i++) : c];
258 if (!parse || (j = parse(d, string, j)) < 0) return -1;
259 } else if (c != string.charCodeAt(j++)) {
260 return -1;
261 }
262 }
263 return j;
264 }
265 function parsePeriod(d, string, i) {
266 var n = periodRe.exec(string.slice(i));
267 return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
268 }
269 function parseShortWeekday(d, string, i) {
270 var n = shortWeekdayRe.exec(string.slice(i));
271 return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
272 }
273 function parseWeekday(d, string, i) {
274 var n = weekdayRe.exec(string.slice(i));
275 return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
276 }
277 function parseShortMonth(d, string, i) {
278 var n = shortMonthRe.exec(string.slice(i));
279 return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
280 }
281 function parseMonth(d, string, i) {
282 var n = monthRe.exec(string.slice(i));
283 return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
284 }
285 function parseLocaleDateTime(d, string, i) {
286 return parseSpecifier(d, locale_dateTime, string, i);
287 }
288 function parseLocaleDate(d, string, i) {
289 return parseSpecifier(d, locale_date, string, i);
290 }
291 function parseLocaleTime(d, string, i) {
292 return parseSpecifier(d, locale_time, string, i);
293 }
294 function formatShortWeekday(d) {
295 return locale_shortWeekdays[d.getDay()];
296 }
297 function formatWeekday(d) {
298 return locale_weekdays[d.getDay()];
299 }
300 function formatShortMonth(d) {
301 return locale_shortMonths[d.getMonth()];
302 }
303 function formatMonth(d) {
304 return locale_months[d.getMonth()];
305 }
306 function formatPeriod(d) {
307 return locale_periods[+(d.getHours() >= 12)];
308 }
309 function formatQuarter(d) {
310 return 1 + ~~(d.getMonth() / 3);
311 }
312 function formatUTCShortWeekday(d) {
313 return locale_shortWeekdays[d.getUTCDay()];
314 }
315 function formatUTCWeekday(d) {
316 return locale_weekdays[d.getUTCDay()];
317 }
318 function formatUTCShortMonth(d) {
319 return locale_shortMonths[d.getUTCMonth()];
320 }
321 function formatUTCMonth(d) {
322 return locale_months[d.getUTCMonth()];
323 }
324 function formatUTCPeriod(d) {
325 return locale_periods[+(d.getUTCHours() >= 12)];
326 }
327 function formatUTCQuarter(d) {
328 return 1 + ~~(d.getUTCMonth() / 3);
329 }
330 return {
331 format: function (specifier) {
332 var f = newFormat(specifier += "", formats);
333 f.toString = function () {
334 return specifier;
335 };
336 return f;
337 },
338 parse: function (specifier) {
339 var p = newParse(specifier += "", false);
340 p.toString = function () {
341 return specifier;
342 };
343 return p;
344 },
345 utcFormat: function (specifier) {
346 var f = newFormat(specifier += "", utcFormats);
347 f.toString = function () {
348 return specifier;
349 };
350 return f;
351 },
352 utcParse: function (specifier) {
353 var p = newParse(specifier += "", true);
354 p.toString = function () {
355 return specifier;
356 };
357 return p;
358 }
359 };
360}
361var pads = {
362 "-": "",
363 "_": " ",
364 "0": "0"
365 },
366 numberRe = /^\s*\d+/,
367 // note: ignores next directive
368 percentRe = /^%/,
369 requoteRe = /[\\^$*+?|[\]().{}]/g;
370function pad(value, fill, width) {
371 var sign = value < 0 ? "-" : "",
372 string = (sign ? -value : value) + "",
373 length = string.length;
374 return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);
375}
376function requote(s) {
377 return s.replace(requoteRe, "\\$&");
378}
379function formatRe(names) {
380 return new RegExp("^(?:" + names.map(requote).join("|") + ")", "i");
381}
382function formatLookup(names) {
383 return new Map(names.map((name, i) => [name.toLowerCase(), i]));
384}
385function parseWeekdayNumberSunday(d, string, i) {
386 var n = numberRe.exec(string.slice(i, i + 1));
387 return n ? (d.w = +n[0], i + n[0].length) : -1;
388}
389function parseWeekdayNumberMonday(d, string, i) {
390 var n = numberRe.exec(string.slice(i, i + 1));
391 return n ? (d.u = +n[0], i + n[0].length) : -1;
392}
393function parseWeekNumberSunday(d, string, i) {
394 var n = numberRe.exec(string.slice(i, i + 2));
395 return n ? (d.U = +n[0], i + n[0].length) : -1;
396}
397function parseWeekNumberISO(d, string, i) {
398 var n = numberRe.exec(string.slice(i, i + 2));
399 return n ? (d.V = +n[0], i + n[0].length) : -1;
400}
401function parseWeekNumberMonday(d, string, i) {
402 var n = numberRe.exec(string.slice(i, i + 2));
403 return n ? (d.W = +n[0], i + n[0].length) : -1;
404}
405function parseFullYear(d, string, i) {
406 var n = numberRe.exec(string.slice(i, i + 4));
407 return n ? (d.y = +n[0], i + n[0].length) : -1;
408}
409function parseYear(d, string, i) {
410 var n = numberRe.exec(string.slice(i, i + 2));
411 return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;
412}
413function parseZone(d, string, i) {
414 var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(string.slice(i, i + 6));
415 return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1;
416}
417function parseQuarter(d, string, i) {
418 var n = numberRe.exec(string.slice(i, i + 1));
419 return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;
420}
421function parseMonthNumber(d, string, i) {
422 var n = numberRe.exec(string.slice(i, i + 2));
423 return n ? (d.m = n[0] - 1, i + n[0].length) : -1;
424}
425function parseDayOfMonth(d, string, i) {
426 var n = numberRe.exec(string.slice(i, i + 2));
427 return n ? (d.d = +n[0], i + n[0].length) : -1;
428}
429function parseDayOfYear(d, string, i) {
430 var n = numberRe.exec(string.slice(i, i + 3));
431 return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;
432}
433function parseHour24(d, string, i) {
434 var n = numberRe.exec(string.slice(i, i + 2));
435 return n ? (d.H = +n[0], i + n[0].length) : -1;
436}
437function parseMinutes(d, string, i) {
438 var n = numberRe.exec(string.slice(i, i + 2));
439 return n ? (d.M = +n[0], i + n[0].length) : -1;
440}
441function parseSeconds(d, string, i) {
442 var n = numberRe.exec(string.slice(i, i + 2));
443 return n ? (d.S = +n[0], i + n[0].length) : -1;
444}
445function parseMilliseconds(d, string, i) {
446 var n = numberRe.exec(string.slice(i, i + 3));
447 return n ? (d.L = +n[0], i + n[0].length) : -1;
448}
449function parseMicroseconds(d, string, i) {
450 var n = numberRe.exec(string.slice(i, i + 6));
451 return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;
452}
453function parseLiteralPercent(d, string, i) {
454 var n = percentRe.exec(string.slice(i, i + 1));
455 return n ? i + n[0].length : -1;
456}
457function parseUnixTimestamp(d, string, i) {
458 var n = numberRe.exec(string.slice(i));
459 return n ? (d.Q = +n[0], i + n[0].length) : -1;
460}
461function parseUnixTimestampSeconds(d, string, i) {
462 var n = numberRe.exec(string.slice(i));
463 return n ? (d.s = +n[0], i + n[0].length) : -1;
464}
465function formatDayOfMonth(d, p) {
466 return pad(d.getDate(), p, 2);
467}
468function formatHour24(d, p) {
469 return pad(d.getHours(), p, 2);
470}
471function formatHour12(d, p) {
472 return pad(d.getHours() % 12 || 12, p, 2);
473}
474function formatDayOfYear(d, p) {
475 return pad(1 + _index.timeDay.count((0, _index.timeYear)(d), d), p, 3);
476}
477function formatMilliseconds(d, p) {
478 return pad(d.getMilliseconds(), p, 3);
479}
480function formatMicroseconds(d, p) {
481 return formatMilliseconds(d, p) + "000";
482}
483function formatMonthNumber(d, p) {
484 return pad(d.getMonth() + 1, p, 2);
485}
486function formatMinutes(d, p) {
487 return pad(d.getMinutes(), p, 2);
488}
489function formatSeconds(d, p) {
490 return pad(d.getSeconds(), p, 2);
491}
492function formatWeekdayNumberMonday(d) {
493 var day = d.getDay();
494 return day === 0 ? 7 : day;
495}
496function formatWeekNumberSunday(d, p) {
497 return pad(_index.timeSunday.count((0, _index.timeYear)(d) - 1, d), p, 2);
498}
499function dISO(d) {
500 var day = d.getDay();
501 return day >= 4 || day === 0 ? (0, _index.timeThursday)(d) : _index.timeThursday.ceil(d);
502}
503function formatWeekNumberISO(d, p) {
504 d = dISO(d);
505 return pad(_index.timeThursday.count((0, _index.timeYear)(d), d) + ((0, _index.timeYear)(d).getDay() === 4), p, 2);
506}
507function formatWeekdayNumberSunday(d) {
508 return d.getDay();
509}
510function formatWeekNumberMonday(d, p) {
511 return pad(_index.timeMonday.count((0, _index.timeYear)(d) - 1, d), p, 2);
512}
513function formatYear(d, p) {
514 return pad(d.getFullYear() % 100, p, 2);
515}
516function formatYearISO(d, p) {
517 d = dISO(d);
518 return pad(d.getFullYear() % 100, p, 2);
519}
520function formatFullYear(d, p) {
521 return pad(d.getFullYear() % 10000, p, 4);
522}
523function formatFullYearISO(d, p) {
524 var day = d.getDay();
525 d = day >= 4 || day === 0 ? (0, _index.timeThursday)(d) : _index.timeThursday.ceil(d);
526 return pad(d.getFullYear() % 10000, p, 4);
527}
528function formatZone(d) {
529 var z = d.getTimezoneOffset();
530 return (z > 0 ? "-" : (z *= -1, "+")) + pad(z / 60 | 0, "0", 2) + pad(z % 60, "0", 2);
531}
532function formatUTCDayOfMonth(d, p) {
533 return pad(d.getUTCDate(), p, 2);
534}
535function formatUTCHour24(d, p) {
536 return pad(d.getUTCHours(), p, 2);
537}
538function formatUTCHour12(d, p) {
539 return pad(d.getUTCHours() % 12 || 12, p, 2);
540}
541function formatUTCDayOfYear(d, p) {
542 return pad(1 + _index.utcDay.count((0, _index.utcYear)(d), d), p, 3);
543}
544function formatUTCMilliseconds(d, p) {
545 return pad(d.getUTCMilliseconds(), p, 3);
546}
547function formatUTCMicroseconds(d, p) {
548 return formatUTCMilliseconds(d, p) + "000";
549}
550function formatUTCMonthNumber(d, p) {
551 return pad(d.getUTCMonth() + 1, p, 2);
552}
553function formatUTCMinutes(d, p) {
554 return pad(d.getUTCMinutes(), p, 2);
555}
556function formatUTCSeconds(d, p) {
557 return pad(d.getUTCSeconds(), p, 2);
558}
559function formatUTCWeekdayNumberMonday(d) {
560 var dow = d.getUTCDay();
561 return dow === 0 ? 7 : dow;
562}
563function formatUTCWeekNumberSunday(d, p) {
564 return pad(_index.utcSunday.count((0, _index.utcYear)(d) - 1, d), p, 2);
565}
566function UTCdISO(d) {
567 var day = d.getUTCDay();
568 return day >= 4 || day === 0 ? (0, _index.utcThursday)(d) : _index.utcThursday.ceil(d);
569}
570function formatUTCWeekNumberISO(d, p) {
571 d = UTCdISO(d);
572 return pad(_index.utcThursday.count((0, _index.utcYear)(d), d) + ((0, _index.utcYear)(d).getUTCDay() === 4), p, 2);
573}
574function formatUTCWeekdayNumberSunday(d) {
575 return d.getUTCDay();
576}
577function formatUTCWeekNumberMonday(d, p) {
578 return pad(_index.utcMonday.count((0, _index.utcYear)(d) - 1, d), p, 2);
579}
580function formatUTCYear(d, p) {
581 return pad(d.getUTCFullYear() % 100, p, 2);
582}
583function formatUTCYearISO(d, p) {
584 d = UTCdISO(d);
585 return pad(d.getUTCFullYear() % 100, p, 2);
586}
587function formatUTCFullYear(d, p) {
588 return pad(d.getUTCFullYear() % 10000, p, 4);
589}
590function formatUTCFullYearISO(d, p) {
591 var day = d.getUTCDay();
592 d = day >= 4 || day === 0 ? (0, _index.utcThursday)(d) : _index.utcThursday.ceil(d);
593 return pad(d.getUTCFullYear() % 10000, p, 4);
594}
595function formatUTCZone() {
596 return "+0000";
597}
598function formatLiteralPercent() {
599 return "%";
600}
601function formatUnixTimestamp(d) {
602 return +d;
603}
604function formatUnixTimestampSeconds(d) {
605 return Math.floor(+d / 1000);
606}
Note: See TracBrowser for help on using the repository browser.