@getmicdrop/venue-calendar 3.3.1 → 3.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/{VenueCalendar-Xppig0q_.js → VenueCalendar-qwLPhCFH.js} +2698 -2693
  2. package/dist/VenueCalendar-qwLPhCFH.js.map +1 -0
  3. package/dist/api/api.cjs +2 -0
  4. package/dist/api/api.cjs.map +1 -0
  5. package/dist/api/api.mjs +787 -0
  6. package/dist/api/api.mjs.map +1 -0
  7. package/dist/api/client.d.ts +46 -0
  8. package/dist/api/events.d.ts +102 -0
  9. package/dist/api/index.d.ts +38 -0
  10. package/dist/api/orders.d.ts +104 -0
  11. package/dist/api/promo.d.ts +45 -0
  12. package/dist/api/transformers/event.d.ts +86 -0
  13. package/dist/api/transformers/index.d.ts +9 -0
  14. package/dist/api/transformers/order.d.ts +105 -0
  15. package/dist/api/transformers/venue.d.ts +48 -0
  16. package/dist/api/venues.d.ts +33 -0
  17. package/dist/{index-BjErG0CG.js → index-TUrDiCfO.js} +2 -2
  18. package/dist/{index-BjErG0CG.js.map → index-TUrDiCfO.js.map} +1 -1
  19. package/dist/venue-calendar.css +1 -1
  20. package/dist/venue-calendar.es.js +1 -1
  21. package/dist/venue-calendar.iife.js +14 -14
  22. package/dist/venue-calendar.iife.js.map +1 -1
  23. package/dist/venue-calendar.umd.js +14 -14
  24. package/dist/venue-calendar.umd.js.map +1 -1
  25. package/package.json +96 -94
  26. package/dist/VenueCalendar-Xppig0q_.js.map +0 -1
  27. package/src/lib/api/client.ts +0 -210
  28. package/src/lib/api/events.ts +0 -358
  29. package/src/lib/api/index.ts +0 -182
  30. package/src/lib/api/orders.ts +0 -390
  31. package/src/lib/api/promo.ts +0 -164
  32. package/src/lib/api/transformers/event.ts +0 -248
  33. package/src/lib/api/transformers/index.ts +0 -29
  34. package/src/lib/api/transformers/order.ts +0 -207
  35. package/src/lib/api/transformers/venue.ts +0 -118
  36. package/src/lib/api/venues.ts +0 -100
  37. package/src/lib/utils/api.js +0 -790
  38. package/src/lib/utils/api.test.js +0 -1284
  39. package/src/lib/utils/constants.js +0 -8
  40. package/src/lib/utils/constants.test.js +0 -39
  41. package/src/lib/utils/datetime.js +0 -266
  42. package/src/lib/utils/datetime.test.js +0 -340
  43. package/src/lib/utils/event-transform.js +0 -464
  44. package/src/lib/utils/event-transform.test.js +0 -413
  45. package/src/lib/utils/logger.js +0 -105
  46. package/src/lib/utils/timezone.js +0 -109
  47. package/src/lib/utils/timezone.test.js +0 -222
  48. package/src/lib/utils/utils.js +0 -806
  49. package/src/lib/utils/utils.test.js +0 -959
  50. /package/{src/lib/api/types.ts → dist/api/types.d.ts} +0 -0
@@ -1,222 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import {
3
- DEFAULT_TIMEZONE,
4
- LEGACY_TIMEZONE_MAP,
5
- isValidTimezone,
6
- isValidIANATimezone,
7
- getIANATimezone,
8
- } from './timezone.js';
9
-
10
- describe('timezone.js', () => {
11
- describe('DEFAULT_TIMEZONE', () => {
12
- it('is UTC', () => {
13
- expect(DEFAULT_TIMEZONE).toBe('UTC');
14
- });
15
- });
16
-
17
- describe('LEGACY_TIMEZONE_MAP', () => {
18
- it('contains US timezone abbreviations', () => {
19
- expect(LEGACY_TIMEZONE_MAP['PST']).toBe('America/Los_Angeles');
20
- expect(LEGACY_TIMEZONE_MAP['PDT']).toBe('America/Los_Angeles');
21
- expect(LEGACY_TIMEZONE_MAP['MST']).toBe('America/Denver');
22
- expect(LEGACY_TIMEZONE_MAP['MDT']).toBe('America/Denver');
23
- expect(LEGACY_TIMEZONE_MAP['CST']).toBe('America/Chicago');
24
- expect(LEGACY_TIMEZONE_MAP['CDT']).toBe('America/Chicago');
25
- expect(LEGACY_TIMEZONE_MAP['EST']).toBe('America/New_York');
26
- expect(LEGACY_TIMEZONE_MAP['EDT']).toBe('America/New_York');
27
- expect(LEGACY_TIMEZONE_MAP['HST']).toBe('Pacific/Honolulu');
28
- expect(LEGACY_TIMEZONE_MAP['AKST']).toBe('America/Anchorage');
29
- expect(LEGACY_TIMEZONE_MAP['AKDT']).toBe('America/Anchorage');
30
- });
31
-
32
- it('contains common city names', () => {
33
- expect(LEGACY_TIMEZONE_MAP['Pacific']).toBe('America/Los_Angeles');
34
- expect(LEGACY_TIMEZONE_MAP['Mountain']).toBe('America/Denver');
35
- expect(LEGACY_TIMEZONE_MAP['Central']).toBe('America/Chicago');
36
- expect(LEGACY_TIMEZONE_MAP['Eastern']).toBe('America/New_York');
37
- });
38
-
39
- it('contains UTC variants', () => {
40
- expect(LEGACY_TIMEZONE_MAP['UTC']).toBe('UTC');
41
- expect(LEGACY_TIMEZONE_MAP['GMT']).toBe('UTC');
42
- expect(LEGACY_TIMEZONE_MAP['Z']).toBe('UTC');
43
- });
44
-
45
- it('contains numeric offsets', () => {
46
- expect(LEGACY_TIMEZONE_MAP['-08:00']).toBe('America/Los_Angeles');
47
- expect(LEGACY_TIMEZONE_MAP['-07:00']).toBe('America/Denver');
48
- expect(LEGACY_TIMEZONE_MAP['-06:00']).toBe('America/Chicago');
49
- expect(LEGACY_TIMEZONE_MAP['-05:00']).toBe('America/New_York');
50
- expect(LEGACY_TIMEZONE_MAP['-04:00']).toBe('America/New_York');
51
- expect(LEGACY_TIMEZONE_MAP['+00:00']).toBe('UTC');
52
- });
53
- });
54
-
55
- describe('isValidTimezone', () => {
56
- it('returns true for valid IANA timezones', () => {
57
- expect(isValidTimezone('America/New_York')).toBe(true);
58
- expect(isValidTimezone('America/Los_Angeles')).toBe(true);
59
- expect(isValidTimezone('Europe/London')).toBe(true);
60
- expect(isValidTimezone('UTC')).toBe(true);
61
- expect(isValidTimezone('Asia/Tokyo')).toBe(true);
62
- expect(isValidTimezone('Australia/Sydney')).toBe(true);
63
- expect(isValidTimezone('Pacific/Auckland')).toBe(true);
64
- });
65
-
66
- it('returns false for daylight saving time abbreviations', () => {
67
- // These are NOT valid IANA timezones
68
- expect(isValidTimezone('PDT')).toBe(false);
69
- expect(isValidTimezone('CDT')).toBe(false);
70
- expect(isValidTimezone('MDT')).toBe(false);
71
- expect(isValidTimezone('EDT')).toBe(false);
72
- expect(isValidTimezone('AKST')).toBe(false);
73
- expect(isValidTimezone('AKDT')).toBe(false);
74
- });
75
-
76
- it('returns true for standard time abbreviations (they are valid in Node.js)', () => {
77
- // These ARE valid IANA timezone identifiers in Node.js
78
- expect(isValidTimezone('PST')).toBe(true);
79
- expect(isValidTimezone('HST')).toBe(true);
80
- expect(isValidTimezone('EST')).toBe(true);
81
- expect(isValidTimezone('MST')).toBe(true);
82
- expect(isValidTimezone('CST')).toBe(true);
83
- expect(isValidTimezone('GMT')).toBe(true);
84
- });
85
-
86
- it('returns false for common names', () => {
87
- expect(isValidTimezone('Pacific')).toBe(false);
88
- expect(isValidTimezone('Eastern')).toBe(false);
89
- });
90
-
91
- it('returns false for invalid strings', () => {
92
- expect(isValidTimezone('Invalid/Timezone')).toBe(false);
93
- expect(isValidTimezone('NotATimezone')).toBe(false);
94
- expect(isValidTimezone('12345')).toBe(false);
95
- });
96
-
97
- it('returns false for null/undefined/empty', () => {
98
- expect(isValidTimezone(null)).toBe(false);
99
- expect(isValidTimezone(undefined)).toBe(false);
100
- expect(isValidTimezone('')).toBe(false);
101
- });
102
-
103
- it('returns false for non-string values', () => {
104
- expect(isValidTimezone(123)).toBe(false);
105
- expect(isValidTimezone({})).toBe(false);
106
- expect(isValidTimezone([])).toBe(false);
107
- expect(isValidTimezone(true)).toBe(false);
108
- });
109
- });
110
-
111
- describe('isValidIANATimezone', () => {
112
- it('is an alias for isValidTimezone', () => {
113
- expect(isValidIANATimezone).toBe(isValidTimezone);
114
- });
115
- });
116
-
117
- describe('getIANATimezone', () => {
118
- describe('valid IANA timezones', () => {
119
- it('returns the timezone as-is', () => {
120
- expect(getIANATimezone('America/New_York')).toBe('America/New_York');
121
- expect(getIANATimezone('America/Los_Angeles')).toBe('America/Los_Angeles');
122
- expect(getIANATimezone('Europe/London')).toBe('Europe/London');
123
- expect(getIANATimezone('UTC')).toBe('UTC');
124
- });
125
-
126
- it('trims whitespace', () => {
127
- expect(getIANATimezone(' America/New_York ')).toBe('America/New_York');
128
- expect(getIANATimezone(' UTC ')).toBe('UTC');
129
- });
130
- });
131
-
132
- describe('legacy timezone abbreviations', () => {
133
- it('passes through valid timezone identifiers as-is', () => {
134
- // Many abbreviations are actually valid timezone identifiers on Node.js
135
- // The function returns them as-is since isValidTimezone returns true
136
- const pst = getIANATimezone('PST');
137
- const est = getIANATimezone('EST');
138
- const cst = getIANATimezone('CST');
139
- const mst = getIANATimezone('MST');
140
- const hst = getIANATimezone('HST');
141
- const gmt = getIANATimezone('GMT');
142
-
143
- // These should all be valid (either original or mapped)
144
- expect(isValidTimezone(pst)).toBe(true);
145
- expect(isValidTimezone(est)).toBe(true);
146
- expect(isValidTimezone(cst)).toBe(true);
147
- expect(isValidTimezone(mst)).toBe(true);
148
- expect(isValidTimezone(hst)).toBe(true);
149
- expect(isValidTimezone(gmt)).toBe(true);
150
- });
151
-
152
- it('returns valid timezones from lowercase abbreviations', () => {
153
- // Even lowercase versions may be valid in Node.js
154
- const result = getIANATimezone('pst');
155
- expect(isValidTimezone(result)).toBe(true);
156
- });
157
-
158
- it('handles daylight saving time variants via map', () => {
159
- expect(getIANATimezone('PDT')).toBe('America/Los_Angeles');
160
- expect(getIANATimezone('CDT')).toBe('America/Chicago');
161
- expect(getIANATimezone('MDT')).toBe('America/Denver');
162
- });
163
-
164
- it('handles Alaska timezones via map', () => {
165
- expect(getIANATimezone('AKST')).toBe('America/Anchorage');
166
- expect(getIANATimezone('AKDT')).toBe('America/Anchorage');
167
- });
168
- });
169
-
170
- describe('common city names', () => {
171
- it('converts city names', () => {
172
- expect(getIANATimezone('Pacific')).toBe('America/Los_Angeles');
173
- expect(getIANATimezone('Mountain')).toBe('America/Denver');
174
- expect(getIANATimezone('Central')).toBe('America/Chicago');
175
- expect(getIANATimezone('Eastern')).toBe('America/New_York');
176
- });
177
- });
178
-
179
- describe('UTC variants', () => {
180
- it('handles UTC (valid IANA timezone)', () => {
181
- expect(getIANATimezone('UTC')).toBe('UTC');
182
- });
183
-
184
- it('converts Z via legacy map', () => {
185
- expect(getIANATimezone('Z')).toBe('UTC');
186
- });
187
- });
188
-
189
- describe('numeric offsets', () => {
190
- it('converts numeric offsets', () => {
191
- expect(getIANATimezone('-08:00')).toBe('America/Los_Angeles');
192
- expect(getIANATimezone('-07:00')).toBe('America/Denver');
193
- expect(getIANATimezone('-06:00')).toBe('America/Chicago');
194
- expect(getIANATimezone('-05:00')).toBe('America/New_York');
195
- expect(getIANATimezone('-04:00')).toBe('America/New_York');
196
- expect(getIANATimezone('+00:00')).toBe('UTC');
197
- });
198
- });
199
-
200
- describe('fallback to UTC', () => {
201
- it('returns UTC for null/undefined', () => {
202
- expect(getIANATimezone(null)).toBe('UTC');
203
- expect(getIANATimezone(undefined)).toBe('UTC');
204
- });
205
-
206
- it('returns UTC for empty string', () => {
207
- expect(getIANATimezone('')).toBe('UTC');
208
- });
209
-
210
- it('returns UTC for non-string values', () => {
211
- expect(getIANATimezone(123)).toBe('UTC');
212
- expect(getIANATimezone({})).toBe('UTC');
213
- });
214
-
215
- it('returns UTC for unknown strings', () => {
216
- expect(getIANATimezone('Unknown')).toBe('UTC');
217
- expect(getIANATimezone('NotATimezone')).toBe('UTC');
218
- expect(getIANATimezone('XYZ')).toBe('UTC');
219
- });
220
- });
221
- });
222
- });