@lbd-sh/date-tz 1.0.5 → 1.0.7

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/date-tz.d.ts DELETED
@@ -1,41 +0,0 @@
1
- import { IDateTz } from "./idate-tz";
2
- export declare class DateTz implements IDateTz {
3
- timestamp: number;
4
- timezone: string;
5
- private offsetCache?;
6
- static defaultFormat: string;
7
- constructor(value: IDateTz);
8
- constructor(value: number, tz?: string);
9
- get timezoneOffset(): import("./timezones").TimezoneOffset;
10
- compare(other: IDateTz): number;
11
- isComparable(other: IDateTz): boolean;
12
- toString(): string;
13
- toString(pattern: string): string;
14
- add(value: number, unit: 'minute' | 'hour' | 'day' | 'month' | 'year'): this;
15
- private _year;
16
- private _month;
17
- private _day;
18
- private _hour;
19
- private _minute;
20
- private _dayOfWeek;
21
- convertToTimezone(tz: string): this;
22
- cloneToTimezone(tz: string): DateTz;
23
- private stripSMs;
24
- private invalidateOffsetCache;
25
- private getOffsetSeconds;
26
- private getOffsetInfo;
27
- private computeOffsetInfo;
28
- private getIntlOffsetSeconds;
29
- set(value: number, unit: 'year' | 'month' | 'day' | 'hour' | 'minute'): this;
30
- private isLeapYear;
31
- private daysInYear;
32
- static parse(dateString: string, pattern?: string, tz?: string): DateTz;
33
- static now(tz?: string): DateTz;
34
- get isDst(): boolean;
35
- get year(): number;
36
- get month(): number;
37
- get day(): number;
38
- get hour(): number;
39
- get minute(): number;
40
- get dayOfWeek(): number;
41
- }
package/date-tz.js DELETED
@@ -1,503 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DateTz = void 0;
4
- const timezones_1 = require("./timezones");
5
- const MS_PER_MINUTE = 60000;
6
- const MS_PER_HOUR = 3600000;
7
- const MS_PER_DAY = 86400000;
8
- const epochYear = 1970;
9
- const daysPerMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
10
- class DateTz {
11
- constructor(value, tz) {
12
- if (typeof value === 'object') {
13
- this.timestamp = value.timestamp;
14
- this.timezone = value.timezone || 'UTC';
15
- if (!timezones_1.timezones[this.timezone]) {
16
- throw new Error(`Invalid timezone: ${value.timezone}`);
17
- }
18
- }
19
- else {
20
- this.timezone = tz || 'UTC';
21
- if (!timezones_1.timezones[this.timezone]) {
22
- throw new Error(`Invalid timezone: ${tz}`);
23
- }
24
- this.timestamp = this.stripSMs(value);
25
- }
26
- this.invalidateOffsetCache();
27
- }
28
- get timezoneOffset() {
29
- return timezones_1.timezones[this.timezone];
30
- }
31
- compare(other) {
32
- if (this.isComparable(other)) {
33
- return this.timestamp - other.timestamp;
34
- }
35
- throw new Error('Cannot compare dates with different timezones');
36
- }
37
- isComparable(other) {
38
- return this.timezone === other.timezone;
39
- }
40
- toString(pattern, locale) {
41
- if (!pattern)
42
- pattern = 'YYYY-MM-DD HH:mm:ss';
43
- const offsetInfo = this.getOffsetInfo();
44
- const offset = offsetInfo.offsetSeconds * 1000;
45
- let remainingMs = this.timestamp + offset;
46
- let year = epochYear;
47
- while (true) {
48
- const daysInYear = this.isLeapYear(year) ? 366 : 365;
49
- const msInYear = daysInYear * MS_PER_DAY;
50
- if (remainingMs >= msInYear) {
51
- remainingMs -= msInYear;
52
- year++;
53
- }
54
- else {
55
- break;
56
- }
57
- }
58
- let month = 0;
59
- while (month < 12) {
60
- const daysInMonth = month === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[month];
61
- const msInMonth = daysInMonth * MS_PER_DAY;
62
- if (remainingMs >= msInMonth) {
63
- remainingMs -= msInMonth;
64
- month++;
65
- }
66
- else {
67
- break;
68
- }
69
- }
70
- const day = Math.floor(remainingMs / MS_PER_DAY) + 1;
71
- remainingMs %= MS_PER_DAY;
72
- const hour = Math.floor(remainingMs / MS_PER_HOUR);
73
- remainingMs %= MS_PER_HOUR;
74
- const minute = Math.floor(remainingMs / MS_PER_MINUTE);
75
- remainingMs %= MS_PER_MINUTE;
76
- const second = Math.floor(remainingMs / 1000);
77
- const pm = hour >= 12 ? 'PM' : 'AM';
78
- const hour12 = hour % 12 || 12;
79
- if (!locale)
80
- locale = 'en';
81
- let monthStr = new Date(year, month, 3).toLocaleString(locale || 'en', { month: 'long' });
82
- monthStr = monthStr.charAt(0).toUpperCase() + monthStr.slice(1);
83
- const tokens = {
84
- YYYY: year,
85
- YY: String(year).slice(-2),
86
- yyyy: year.toString(),
87
- yy: String(year).slice(-2),
88
- MM: String(month + 1).padStart(2, '0'),
89
- LM: monthStr,
90
- DD: String(day).padStart(2, '0'),
91
- HH: String(hour).padStart(2, '0'),
92
- mm: String(minute).padStart(2, '0'),
93
- ss: String(second).padStart(2, '0'),
94
- aa: pm.toLowerCase(),
95
- AA: pm,
96
- hh: hour12.toString().padStart(2, '0'),
97
- tz: this.timezone,
98
- };
99
- return pattern.replace(/YYYY|yyyy|YY|yy|MM|LM|DD|HH|hh|mm|ss|aa|AA|tz/g, (match) => tokens[match]);
100
- }
101
- add(value, unit) {
102
- let remainingMs = this.timestamp;
103
- let year = 1970;
104
- let days = Math.floor(remainingMs / MS_PER_DAY);
105
- remainingMs %= MS_PER_DAY;
106
- let hour = Math.floor(remainingMs / MS_PER_HOUR);
107
- remainingMs %= MS_PER_HOUR;
108
- let minute = Math.floor(remainingMs / MS_PER_MINUTE);
109
- let second = Math.floor((remainingMs % MS_PER_MINUTE) / 1000);
110
- while (days >= this.daysInYear(year)) {
111
- days -= this.daysInYear(year);
112
- year++;
113
- }
114
- let month = 0;
115
- while (days >= (month === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[month])) {
116
- days -= month === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[month];
117
- month++;
118
- }
119
- let day = days + 1;
120
- switch (unit) {
121
- case 'minute':
122
- minute += value;
123
- break;
124
- case 'hour':
125
- hour += value;
126
- break;
127
- case 'day':
128
- day += value;
129
- break;
130
- case 'month':
131
- month += value;
132
- break;
133
- case 'year':
134
- year += value;
135
- break;
136
- default:
137
- throw new Error(`Unsupported unit: ${unit}`);
138
- }
139
- while (minute >= 60) {
140
- minute -= 60;
141
- hour++;
142
- }
143
- while (hour >= 24) {
144
- hour -= 24;
145
- day++;
146
- }
147
- while (month >= 12) {
148
- month -= 12;
149
- year++;
150
- }
151
- while (day > (month === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[month])) {
152
- day -= month === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[month];
153
- month++;
154
- if (month >= 12) {
155
- month = 0;
156
- year++;
157
- }
158
- }
159
- const newTimestamp = (() => {
160
- let totalMs = 0;
161
- for (let y = 1970; y < year; y++) {
162
- totalMs += this.daysInYear(y) * MS_PER_DAY;
163
- }
164
- for (let m = 0; m < month; m++) {
165
- totalMs += (m === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[m]) * MS_PER_DAY;
166
- }
167
- totalMs += (day - 1) * MS_PER_DAY;
168
- totalMs += hour * MS_PER_HOUR;
169
- totalMs += minute * MS_PER_MINUTE;
170
- totalMs += second * 1000;
171
- return totalMs;
172
- })();
173
- this.timestamp = newTimestamp;
174
- this.invalidateOffsetCache();
175
- return this;
176
- }
177
- _year(considerDst = false) {
178
- const offset = this.getOffsetSeconds(considerDst) * 1000;
179
- let remainingMs = this.timestamp + offset;
180
- let year = 1970;
181
- let days = Math.floor(remainingMs / MS_PER_DAY);
182
- while (days >= this.daysInYear(year)) {
183
- days -= this.daysInYear(year);
184
- year++;
185
- }
186
- return year;
187
- }
188
- _month(considerDst = false) {
189
- const offset = this.getOffsetSeconds(considerDst) * 1000;
190
- let remainingMs = this.timestamp + offset;
191
- let year = 1970;
192
- let days = Math.floor(remainingMs / MS_PER_DAY);
193
- while (days >= this.daysInYear(year)) {
194
- days -= this.daysInYear(year);
195
- year++;
196
- }
197
- let month = 0;
198
- while (days >= (month === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[month])) {
199
- days -= month === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[month];
200
- month++;
201
- }
202
- return month;
203
- }
204
- _day(considerDst = false) {
205
- const offset = this.getOffsetSeconds(considerDst) * 1000;
206
- let remainingMs = this.timestamp + offset;
207
- let year = 1970;
208
- let days = Math.floor(remainingMs / MS_PER_DAY);
209
- while (days >= this.daysInYear(year)) {
210
- days -= this.daysInYear(year);
211
- year++;
212
- }
213
- let month = 0;
214
- while (days >= (month === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[month])) {
215
- days -= month === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[month];
216
- month++;
217
- }
218
- return days + 1;
219
- }
220
- _hour(considerDst = false) {
221
- const offset = this.getOffsetSeconds(considerDst) * 1000;
222
- let remainingMs = this.timestamp + offset;
223
- remainingMs %= MS_PER_DAY;
224
- let hour = Math.floor(remainingMs / MS_PER_HOUR);
225
- return hour;
226
- }
227
- _minute(considerDst = false) {
228
- const offset = this.getOffsetSeconds(considerDst) * 1000;
229
- let remainingMs = this.timestamp + offset;
230
- remainingMs %= MS_PER_HOUR;
231
- let minute = Math.floor(remainingMs / MS_PER_MINUTE);
232
- return minute;
233
- }
234
- _dayOfWeek(considerDst = false) {
235
- const offset = this.getOffsetSeconds(considerDst) * 1000;
236
- let remainingMs = this.timestamp + offset;
237
- const date = new Date(remainingMs);
238
- return date.getDay();
239
- }
240
- convertToTimezone(tz) {
241
- if (!timezones_1.timezones[tz]) {
242
- throw new Error(`Invalid timezone: ${tz}`);
243
- }
244
- this.timezone = tz;
245
- this.invalidateOffsetCache();
246
- return this;
247
- }
248
- cloneToTimezone(tz) {
249
- if (!timezones_1.timezones[tz]) {
250
- throw new Error(`Invalid timezone: ${tz}`);
251
- }
252
- const clone = new DateTz(this);
253
- clone.timezone = tz;
254
- clone.invalidateOffsetCache();
255
- return clone;
256
- }
257
- stripSMs(timestamp) {
258
- const days = Math.floor(timestamp / MS_PER_DAY);
259
- const remainingAfterDays = timestamp % MS_PER_DAY;
260
- const hours = Math.floor(remainingAfterDays / MS_PER_HOUR);
261
- const remainingAfterHours = remainingAfterDays % MS_PER_HOUR;
262
- const minutes = Math.floor(remainingAfterHours / MS_PER_MINUTE);
263
- return days * MS_PER_DAY + hours * MS_PER_HOUR + minutes * MS_PER_MINUTE;
264
- }
265
- invalidateOffsetCache() {
266
- this.offsetCache = undefined;
267
- }
268
- getOffsetSeconds(considerDst) {
269
- const tzInfo = timezones_1.timezones[this.timezone];
270
- if (!tzInfo) {
271
- throw new Error(`Invalid timezone: ${this.timezone}`);
272
- }
273
- if (!considerDst) {
274
- return tzInfo.sdt;
275
- }
276
- return this.getOffsetInfo().offsetSeconds;
277
- }
278
- getOffsetInfo() {
279
- if (this.offsetCache && this.offsetCache.timestamp === this.timestamp) {
280
- return this.offsetCache.info;
281
- }
282
- const info = this.computeOffsetInfo();
283
- this.offsetCache = { timestamp: this.timestamp, info };
284
- return info;
285
- }
286
- computeOffsetInfo() {
287
- const tzInfo = timezones_1.timezones[this.timezone];
288
- if (!tzInfo) {
289
- throw new Error(`Invalid timezone: ${this.timezone}`);
290
- }
291
- if (tzInfo.dst === tzInfo.sdt) {
292
- return { offsetSeconds: tzInfo.sdt, isDst: false };
293
- }
294
- const actual = this.getIntlOffsetSeconds(this.timestamp);
295
- if (actual !== null) {
296
- if (actual !== tzInfo.sdt && actual !== tzInfo.dst) {
297
- return { offsetSeconds: actual, isDst: actual > tzInfo.sdt };
298
- }
299
- return { offsetSeconds: actual, isDst: actual === tzInfo.dst };
300
- }
301
- return { offsetSeconds: tzInfo.sdt, isDst: false };
302
- }
303
- getIntlOffsetSeconds(timestamp) {
304
- try {
305
- const formatter = new Intl.DateTimeFormat('en-US', {
306
- timeZone: this.timezone,
307
- hour12: false,
308
- year: 'numeric',
309
- month: '2-digit',
310
- day: '2-digit',
311
- hour: '2-digit',
312
- minute: '2-digit',
313
- second: '2-digit'
314
- });
315
- const parts = formatter.formatToParts(new Date(timestamp));
316
- const lookup = (type) => {
317
- const part = parts.find(p => p.type === type);
318
- if (!part) {
319
- throw new Error(`Missing part ${type}`);
320
- }
321
- return Number(part.value);
322
- };
323
- const adjusted = Date.UTC(lookup('year'), lookup('month') - 1, lookup('day'), lookup('hour'), lookup('minute'), lookup('second'));
324
- return Math.round((adjusted - timestamp) / 1000);
325
- }
326
- catch {
327
- return null;
328
- }
329
- }
330
- set(value, unit) {
331
- let remainingMs = this.timestamp;
332
- let year = 1970;
333
- let days = Math.floor(remainingMs / MS_PER_DAY);
334
- remainingMs %= MS_PER_DAY;
335
- let hour = Math.floor(remainingMs / MS_PER_HOUR);
336
- remainingMs %= MS_PER_HOUR;
337
- let minute = Math.floor(remainingMs / MS_PER_MINUTE);
338
- let second = Math.floor((remainingMs % MS_PER_MINUTE) / 1000);
339
- while (days >= this.daysInYear(year)) {
340
- days -= this.daysInYear(year);
341
- year++;
342
- }
343
- let month = 0;
344
- while (days >= (month === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[month])) {
345
- days -= month === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[month];
346
- month++;
347
- }
348
- let day = days + 1;
349
- switch (unit) {
350
- case 'year':
351
- year = value;
352
- break;
353
- case 'month':
354
- month = value - 1;
355
- break;
356
- case 'day':
357
- day = value;
358
- break;
359
- case 'hour':
360
- hour = value;
361
- break;
362
- case 'minute':
363
- minute = value;
364
- break;
365
- default:
366
- throw new Error(`Unsupported unit: ${unit}`);
367
- }
368
- while (month >= 12) {
369
- month -= 12;
370
- year++;
371
- }
372
- while (day > (month === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[month])) {
373
- day -= month === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[month];
374
- month++;
375
- if (month >= 12) {
376
- month = 0;
377
- year++;
378
- }
379
- }
380
- const newTimestamp = (() => {
381
- let totalMs = 0;
382
- for (let y = 1970; y < year; y++) {
383
- totalMs += this.daysInYear(y) * MS_PER_DAY;
384
- }
385
- for (let m = 0; m < month; m++) {
386
- totalMs += (m === 1 && this.isLeapYear(year) ? 29 : daysPerMonth[m]) * MS_PER_DAY;
387
- }
388
- totalMs += (day - 1) * MS_PER_DAY;
389
- totalMs += hour * MS_PER_HOUR;
390
- totalMs += minute * MS_PER_MINUTE;
391
- totalMs += second * 1000;
392
- return totalMs;
393
- })();
394
- this.timestamp = newTimestamp;
395
- this.invalidateOffsetCache();
396
- return this;
397
- }
398
- isLeapYear(year) {
399
- return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
400
- }
401
- daysInYear(year) {
402
- return this.isLeapYear(year) ? 366 : 365;
403
- }
404
- static parse(dateString, pattern, tz) {
405
- if (!pattern)
406
- pattern = DateTz.defaultFormat;
407
- if (!tz)
408
- tz = 'UTC';
409
- if (!timezones_1.timezones[tz]) {
410
- throw new Error(`Invalid timezone: ${tz}`);
411
- }
412
- if (pattern.includes('hh') && (!pattern.includes('aa') || !pattern.includes('AA'))) {
413
- throw new Error('AM/PM marker (aa or AA) is required when using 12-hour format (hh)');
414
- }
415
- const regex = /YYYY|yyyy|MM|DD|HH|hh|mm|ss|aa|AA/g;
416
- const dateComponents = {
417
- YYYY: 1970,
418
- yyyy: 1970,
419
- MM: 0,
420
- DD: 0,
421
- HH: 0,
422
- hh: 0,
423
- aa: 'am',
424
- AA: "AM",
425
- mm: 0,
426
- ss: 0,
427
- };
428
- let match;
429
- let index = 0;
430
- while ((match = regex.exec(pattern)) !== null) {
431
- const token = match[0];
432
- const value = parseInt(dateString.substring(match.index, match.index + token.length), 10);
433
- dateComponents[token] = value;
434
- index += token.length + 1;
435
- }
436
- const year = dateComponents.YYYY || dateComponents.yyyy;
437
- const month = dateComponents.MM - 1;
438
- const day = dateComponents.DD;
439
- let hour = 0;
440
- const ampm = (dateComponents.a || dateComponents.A);
441
- if (ampm) {
442
- hour = ampm.toUpperCase() === 'AM' ? dateComponents.hh : dateComponents.hh + 12;
443
- }
444
- else {
445
- hour = dateComponents.HH;
446
- }
447
- const minute = dateComponents.mm;
448
- const second = dateComponents.ss;
449
- const daysInYear = (year) => (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0) ? 366 : 365;
450
- const daysInMonth = (year, month) => month === 1 && daysInYear(year) === 366 ? 29 : daysPerMonth[month];
451
- let timestamp = 0;
452
- for (let y = 1970; y < year; y++) {
453
- timestamp += daysInYear(y) * MS_PER_DAY;
454
- }
455
- for (let m = 0; m < month; m++) {
456
- timestamp += daysInMonth(year, m) * MS_PER_DAY;
457
- }
458
- timestamp += (day - 1) * MS_PER_DAY;
459
- timestamp += hour * MS_PER_HOUR;
460
- timestamp += minute * MS_PER_MINUTE;
461
- timestamp += second * 1000;
462
- const offset = (timezones_1.timezones[tz].sdt) * 1000;
463
- let remainingMs = timestamp - offset;
464
- const date = new DateTz(remainingMs, tz);
465
- date.timestamp -= date.isDst ? (timezones_1.timezones[tz].dst - timezones_1.timezones[tz].sdt) * 1000 : 0;
466
- date.invalidateOffsetCache();
467
- return date;
468
- }
469
- static now(tz) {
470
- if (!tz)
471
- tz = 'UTC';
472
- const timezone = timezones_1.timezones[tz];
473
- if (!timezone) {
474
- throw new Error(`Invalid timezone: ${tz}`);
475
- }
476
- const date = new DateTz(Date.now(), tz);
477
- return date;
478
- }
479
- get isDst() {
480
- return this.getOffsetInfo().isDst;
481
- }
482
- get year() {
483
- return this._year(true);
484
- }
485
- get month() {
486
- return this._month(true);
487
- }
488
- get day() {
489
- return this._day(true);
490
- }
491
- get hour() {
492
- return this._hour(true);
493
- }
494
- get minute() {
495
- return this._minute(true);
496
- }
497
- get dayOfWeek() {
498
- return this._dayOfWeek(true);
499
- }
500
- }
501
- exports.DateTz = DateTz;
502
- DateTz.defaultFormat = 'YYYY-MM-DD HH:mm:ss';
503
- //# sourceMappingURL=date-tz.js.map
package/date-tz.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-tz.js","sourceRoot":"","sources":["../src/date-tz.ts"],"names":[],"mappings":"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"}
package/idate-tz.d.ts DELETED
@@ -1,22 +0,0 @@
1
- import { TimezoneOffset } from "./timezones";
2
- export interface IDateTz {
3
- timestamp: number;
4
- timezone?: string;
5
- readonly timezoneOffset?: TimezoneOffset;
6
- compare?(other: IDateTz): number;
7
- isComparable?(other: IDateTz): boolean;
8
- toString?(): string;
9
- toString?(pattern: string): string;
10
- toString?(pattern: string, locale?: string): string;
11
- add?(value: number, unit: 'minute' | 'hour' | 'day' | 'month' | 'year'): IDateTz;
12
- set?(value: number, unit: 'year' | 'month' | 'day' | 'hour' | 'minute'): IDateTz;
13
- convertToTimezone?(tz: string): IDateTz;
14
- cloneToTimezone?(tz: string): IDateTz;
15
- readonly isDst?: boolean;
16
- readonly year?: number;
17
- readonly month?: number;
18
- readonly day?: number;
19
- readonly hour?: number;
20
- readonly minute?: number;
21
- readonly dayOfWeek?: number;
22
- }
package/idate-tz.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=idate-tz.js.map
package/idate-tz.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"idate-tz.js","sourceRoot":"","sources":["../src/idate-tz.ts"],"names":[],"mappings":""}
package/index.js DELETED
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./date-tz"), exports);
18
- __exportStar(require("./idate-tz"), exports);
19
- __exportStar(require("./timezones"), exports);
20
- //# sourceMappingURL=index.js.map
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B"}
package/timezones.d.ts DELETED
@@ -1,8 +0,0 @@
1
- export type TimezoneOffset = {
2
- sdt: number;
3
- dst: number;
4
- };
5
- export type Timezone = {
6
- [k: string]: TimezoneOffset;
7
- };
8
- export declare const timezones: Timezone;