@getmicdrop/venue-calendar 3.3.1 → 3.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/{VenueCalendar-Xppig0q_.js → VenueCalendar-BMSfRl2d.js} +10 -13
  2. package/dist/{VenueCalendar-Xppig0q_.js.map → VenueCalendar-BMSfRl2d.js.map} +1 -1
  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-CoJaem3n.js} +2 -2
  18. package/dist/{index-BjErG0CG.js.map → index-CoJaem3n.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 +4 -4
  22. package/dist/venue-calendar.iife.js.map +1 -1
  23. package/dist/venue-calendar.umd.js +4 -4
  24. package/dist/venue-calendar.umd.js.map +1 -1
  25. package/package.json +96 -94
  26. package/src/lib/api/client.ts +0 -210
  27. package/src/lib/api/events.ts +0 -358
  28. package/src/lib/api/index.ts +0 -182
  29. package/src/lib/api/orders.ts +0 -390
  30. package/src/lib/api/promo.ts +0 -164
  31. package/src/lib/api/transformers/event.ts +0 -248
  32. package/src/lib/api/transformers/index.ts +0 -29
  33. package/src/lib/api/transformers/order.ts +0 -207
  34. package/src/lib/api/transformers/venue.ts +0 -118
  35. package/src/lib/api/venues.ts +0 -100
  36. package/src/lib/utils/api.js +0 -790
  37. package/src/lib/utils/api.test.js +0 -1284
  38. package/src/lib/utils/constants.js +0 -8
  39. package/src/lib/utils/constants.test.js +0 -39
  40. package/src/lib/utils/datetime.js +0 -266
  41. package/src/lib/utils/datetime.test.js +0 -340
  42. package/src/lib/utils/event-transform.js +0 -464
  43. package/src/lib/utils/event-transform.test.js +0 -413
  44. package/src/lib/utils/logger.js +0 -105
  45. package/src/lib/utils/timezone.js +0 -109
  46. package/src/lib/utils/timezone.test.js +0 -222
  47. package/src/lib/utils/utils.js +0 -806
  48. package/src/lib/utils/utils.test.js +0 -959
  49. /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
- });