@milemaker/milemaker-js 2.0.0-alpha.3 → 2.0.0-alpha.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.
Files changed (78) hide show
  1. package/dist/actions/layer/trafficLayerActions.factory.d.ts +4 -1
  2. package/dist/actions/marker/createClusterMarkersAction.factory.d.ts +5 -0
  3. package/dist/actions/marker/index.d.ts +4 -1
  4. package/dist/actions/marker/types/markerActions.types.d.ts +133 -3
  5. package/dist/actions/popup/types/popupActions.types.d.ts +1 -1
  6. package/dist/actions/types/actions.types.d.ts +2 -1
  7. package/dist/actions/types/index.d.ts +1 -0
  8. package/dist/actions/weather/index.d.ts +46 -0
  9. package/dist/actions/weather/types/index.d.ts +1 -0
  10. package/dist/actions/weather/types/weather.types.d.ts +115 -0
  11. package/dist/actions/weather/weatherAlertsActions.factory.d.ts +6 -0
  12. package/dist/apis/aerisWeather/aerisWeather.api.d.ts +75 -0
  13. package/dist/apis/aerisWeather/aerisWeather.schemas.d.ts +454 -0
  14. package/dist/apis/aerisWeather/aerisWeather.selectors.d.ts +68 -0
  15. package/dist/apis/aerisWeather/aerisWeather.slice.d.ts +11 -0
  16. package/dist/apis/aerisWeather/aerisWeather.thunks.d.ts +12 -0
  17. package/dist/apis/aerisWeather/aerisWeather.types.d.ts +142 -0
  18. package/dist/apis/types.d.ts +1 -0
  19. package/dist/components/WeatherAlertIcon/WeatherAlertIcon.d.ts +3 -0
  20. package/dist/components/WeatherAlertIcon/WeatherAlertIcon.types.d.ts +17 -0
  21. package/dist/components/WeatherAlertIcon/WeatherAlertIconPopup.d.ts +24 -0
  22. package/dist/components/WeatherAlertIcon/index.d.ts +3 -0
  23. package/dist/components/WeatherLegend/RainSnowIceLegend/RainSnowIceLegend.types.d.ts +1 -0
  24. package/dist/components/WeatherLegend/WeatherAlertsLegend/WeatherAlertsLegend.types.d.ts +1 -0
  25. package/dist/components/WeatherLegend/WeatherLegend.types.d.ts +1 -0
  26. package/dist/components/WeatherLegend/WeatherTemperaturesLegend/WeatherTemperaturesLegend.types.d.ts +1 -0
  27. package/dist/components/WeatherLegend/WeatherWindSpeedsLegend/WeatherWindSpeedsLegend.types.d.ts +1 -0
  28. package/dist/components/index.d.ts +1 -0
  29. package/dist/controls/createOverlayLayerControl.factory.d.ts +2 -2
  30. package/dist/controls/createWeatherLayerControl.factory.d.ts +2 -2
  31. package/dist/controls/types/controls.types.d.ts +50 -5
  32. package/dist/controls/utils/index.d.ts +0 -1
  33. package/dist/controls/utils/weatherLayers.constants.d.ts +1 -2
  34. package/dist/controls/utils/weatherLayers.helpers.d.ts +1 -1
  35. package/dist/controls/utils/weatherLayers.rendering.d.ts +1 -1
  36. package/dist/createMap/createMap.d.ts +1 -1
  37. package/dist/helpers/parseLonLatLikeToCoordinates.helper.d.ts +2 -1
  38. package/dist/helpers/runAsyncThread.d.ts +30 -0
  39. package/dist/index.cjs +341 -260
  40. package/dist/index.cjs.map +1 -0
  41. package/dist/index.esm-8a133e09.js +3081 -0
  42. package/dist/index.esm-8a133e09.js.map +1 -0
  43. package/dist/index.esm-e8122a0a.cjs +6 -0
  44. package/dist/index.esm-e8122a0a.cjs.map +1 -0
  45. package/dist/index.js +34452 -26452
  46. package/dist/index.js.map +1 -0
  47. package/dist/nmaps-gl-69f5266d.js +1 -0
  48. package/dist/nmaps-gl-69f5266d.js.map +1 -0
  49. package/dist/nmaps-gl-6afeae26.cjs +1 -0
  50. package/dist/nmaps-gl-6afeae26.cjs.map +1 -0
  51. package/dist/types/common.types.d.ts +7 -0
  52. package/dist/types/index.d.ts +1 -0
  53. package/dist/utils/apis/api.constants.d.ts +6 -0
  54. package/dist/utils/apis/api.types.d.ts +5 -0
  55. package/dist/utils/apis/logEvents.api.d.ts +37 -0
  56. package/dist/utils/apis/sdkEvents.api.d.ts +4 -0
  57. package/dist/utils/common.schemas.d.ts +9 -0
  58. package/dist/utils/constants.d.ts +15 -5
  59. package/dist/utils/helpers/compareLonLatLikesByDistanceKm.helper.d.ts +2 -0
  60. package/dist/utils/helpers/filterLonLatLikesByDistanceKm.helper.d.ts +6 -0
  61. package/dist/utils/helpers/getConvertedLength.helper.d.ts +12 -0
  62. package/dist/utils/helpers/getKmDistanceBetweenLonLatLike.helper.d.ts +8 -0
  63. package/dist/utils/helpers/httpHeader.helpers.d.ts +29 -0
  64. package/dist/utils/helpers/indexDBFactory.helper.d.ts +14 -0
  65. package/dist/utils/helpers/normalizeColor.helper.d.ts +17 -0
  66. package/dist/utils/helpers/prepareAppErrorMailToData.helper.d.ts +2 -2
  67. package/dist/utils/helpers/roundToDecimals.helper.d.ts +4 -0
  68. package/dist/utils/helpers/setUrlParameter.helper.d.ts +5 -0
  69. package/dist/utils/helpers/sourcemap.helpers.d.ts +14 -0
  70. package/dist/utils/helpers.d.ts +4 -0
  71. package/dist/utils/singletons/wasmFloat.polyfill.d.ts +9 -0
  72. package/dist/utils/singletons/wasmMath.singleton.d.ts +8 -0
  73. package/dist/utils/types.d.ts +22 -7
  74. package/dist/utils/version.d.ts +1 -1
  75. package/package.json +7 -2
  76. package/dist/controls/utils/weatherLayers.types.d.ts +0 -1
  77. package/dist/helpers/sdkEvents.helpers.d.ts +0 -4
  78. package/dist/utils/helpers/prepareContactSupportMandatoryFields.helper.d.ts +0 -4
@@ -0,0 +1,454 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Aeris Weather API error object schema
4
+ *
5
+ * Validates error responses from the Aeris Weather API.
6
+ */
7
+ export declare const AerisWeatherResponseErrorSchema: z.ZodObject<{
8
+ code: z.ZodString;
9
+ description: z.ZodString;
10
+ }, z.core.$strip>;
11
+ /**
12
+ * Aeris Weather alert object schema
13
+ *
14
+ * @see {@link https://www.aerisweather.com/support/docs/api/reference/endpoints/alerts/ | Aeris Weather Alerts API Documentation}
15
+ */
16
+ export declare const AerisWeatherAlertSchema: z.ZodObject<{
17
+ id: z.ZodString;
18
+ loc: z.ZodObject<{
19
+ lat: z.ZodNumber;
20
+ long: z.ZodNumber;
21
+ }, z.core.$strip>;
22
+ dataSource: z.ZodString;
23
+ details: z.ZodObject<{
24
+ type: z.ZodString;
25
+ name: z.ZodString;
26
+ loc: z.ZodString;
27
+ emergency: z.ZodBoolean;
28
+ priority: z.ZodNumber;
29
+ color: z.ZodString;
30
+ cat: z.ZodString;
31
+ body: z.ZodString;
32
+ bodyFull: z.ZodString;
33
+ }, z.core.$strip>;
34
+ timestamps: z.ZodObject<{
35
+ issued: z.ZodNumber;
36
+ issuedISO: z.ZodString;
37
+ begins: z.ZodNumber;
38
+ beginsISO: z.ZodString;
39
+ expires: z.ZodNumber;
40
+ expiresISO: z.ZodString;
41
+ updated: z.ZodNumber;
42
+ updateISO: z.ZodString;
43
+ added: z.ZodNumber;
44
+ addedISO: z.ZodString;
45
+ created: z.ZodNumber;
46
+ createdISO: z.ZodString;
47
+ }, z.core.$strip>;
48
+ poly: z.ZodString;
49
+ geoPoly: z.ZodNull;
50
+ includes: z.ZodObject<{
51
+ fips: z.ZodArray<z.ZodString>;
52
+ counties: z.ZodArray<z.ZodString>;
53
+ wxzones: z.ZodArray<z.ZodString>;
54
+ zipcodes: z.ZodArray<z.ZodString>;
55
+ }, z.core.$strip>;
56
+ place: z.ZodObject<{
57
+ name: z.ZodString;
58
+ state: z.ZodString;
59
+ country: z.ZodString;
60
+ }, z.core.$strip>;
61
+ profile: z.ZodObject<{
62
+ tz: z.ZodString;
63
+ }, z.core.$strip>;
64
+ active: z.ZodBoolean;
65
+ }, z.core.$strip>;
66
+ /**
67
+ * Generic factory function to create Aeris Weather response item schemas
68
+ *
69
+ * Creates a GeoJSON Feature schema for different Aeris Weather API response types.
70
+ * This factory wraps any Aeris Weather data type (like alerts) in a standard GeoJSON
71
+ * Feature structure with request metadata.
72
+ *
73
+ * @template ResponseType - The Zod schema type for the response data
74
+ * @param responseSchema - The Zod schema to wrap in a GeoJSON Feature
75
+ * @returns A Zod schema for a GeoJSON Feature containing the response data
76
+ */
77
+ export declare const createAerisWeatherResponseItemSchema: <ResponseType_1 extends z.ZodObject<{
78
+ id: z.ZodString;
79
+ loc: z.ZodObject<{
80
+ lat: z.ZodNumber;
81
+ long: z.ZodNumber;
82
+ }, z.core.$strip>;
83
+ dataSource: z.ZodString;
84
+ details: z.ZodObject<{
85
+ type: z.ZodString;
86
+ name: z.ZodString;
87
+ loc: z.ZodString;
88
+ emergency: z.ZodBoolean;
89
+ priority: z.ZodNumber;
90
+ color: z.ZodString;
91
+ cat: z.ZodString;
92
+ body: z.ZodString;
93
+ bodyFull: z.ZodString;
94
+ }, z.core.$strip>;
95
+ timestamps: z.ZodObject<{
96
+ issued: z.ZodNumber;
97
+ issuedISO: z.ZodString;
98
+ begins: z.ZodNumber;
99
+ beginsISO: z.ZodString;
100
+ expires: z.ZodNumber;
101
+ expiresISO: z.ZodString;
102
+ updated: z.ZodNumber;
103
+ updateISO: z.ZodString;
104
+ added: z.ZodNumber;
105
+ addedISO: z.ZodString;
106
+ created: z.ZodNumber;
107
+ createdISO: z.ZodString;
108
+ }, z.core.$strip>;
109
+ poly: z.ZodString;
110
+ geoPoly: z.ZodNull;
111
+ includes: z.ZodObject<{
112
+ fips: z.ZodArray<z.ZodString>;
113
+ counties: z.ZodArray<z.ZodString>;
114
+ wxzones: z.ZodArray<z.ZodString>;
115
+ zipcodes: z.ZodArray<z.ZodString>;
116
+ }, z.core.$strip>;
117
+ place: z.ZodObject<{
118
+ name: z.ZodString;
119
+ state: z.ZodString;
120
+ country: z.ZodString;
121
+ }, z.core.$strip>;
122
+ profile: z.ZodObject<{
123
+ tz: z.ZodString;
124
+ }, z.core.$strip>;
125
+ active: z.ZodBoolean;
126
+ }, z.core.$strip>>(responseSchema: ResponseType_1) => z.ZodObject<{
127
+ type: z.ZodLiteral<"Feature">;
128
+ geometry: z.ZodObject<{
129
+ coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
130
+ type: z.ZodLiteral<"Point">;
131
+ }, z.core.$strip>;
132
+ properties: z.ZodObject<{
133
+ request: z.ZodObject<{
134
+ id: z.ZodString;
135
+ skipped: z.ZodBoolean;
136
+ success: z.ZodBoolean;
137
+ error: z.ZodNullable<z.ZodObject<{
138
+ code: z.ZodString;
139
+ description: z.ZodString;
140
+ }, z.core.$strip>>;
141
+ }, z.core.$strip>;
142
+ response: z.ZodNullable<z.ZodArray<ResponseType_1>>;
143
+ }, z.core.$strip>;
144
+ }, z.core.$strip>;
145
+ /**
146
+ * Schema map for different Aeris Weather response item types
147
+ *
148
+ * Contains Zod schemas for validating different types of Aeris Weather API responses.
149
+ * Currently only 'alert' is supported, but this can be extended with other response types
150
+ * like weather forecasts, observations, etc.
151
+ *
152
+ * @see {@link https://www.aerisweather.com/support/docs/api/reference/endpoints/alerts/ | Aeris Weather Alerts API Documentation}
153
+ */
154
+ export declare const AerisWeatherResponseItemSchemas: {
155
+ /**
156
+ * Schema for weather alert responses
157
+ */
158
+ readonly alert: z.ZodObject<{
159
+ type: z.ZodLiteral<"Feature">;
160
+ geometry: z.ZodObject<{
161
+ coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
162
+ type: z.ZodLiteral<"Point">;
163
+ }, z.core.$strip>;
164
+ properties: z.ZodObject<{
165
+ request: z.ZodObject<{
166
+ id: z.ZodString;
167
+ skipped: z.ZodBoolean;
168
+ success: z.ZodBoolean;
169
+ error: z.ZodNullable<z.ZodObject<{
170
+ code: z.ZodString;
171
+ description: z.ZodString;
172
+ }, z.core.$strip>>;
173
+ }, z.core.$strip>;
174
+ response: z.ZodNullable<z.ZodArray<z.ZodObject<{
175
+ id: z.ZodString;
176
+ loc: z.ZodObject<{
177
+ lat: z.ZodNumber;
178
+ long: z.ZodNumber;
179
+ }, z.core.$strip>;
180
+ dataSource: z.ZodString;
181
+ details: z.ZodObject<{
182
+ type: z.ZodString;
183
+ name: z.ZodString;
184
+ loc: z.ZodString;
185
+ emergency: z.ZodBoolean;
186
+ priority: z.ZodNumber;
187
+ color: z.ZodString;
188
+ cat: z.ZodString;
189
+ body: z.ZodString;
190
+ bodyFull: z.ZodString;
191
+ }, z.core.$strip>;
192
+ timestamps: z.ZodObject<{
193
+ issued: z.ZodNumber;
194
+ issuedISO: z.ZodString;
195
+ begins: z.ZodNumber;
196
+ beginsISO: z.ZodString;
197
+ expires: z.ZodNumber;
198
+ expiresISO: z.ZodString;
199
+ updated: z.ZodNumber;
200
+ updateISO: z.ZodString;
201
+ added: z.ZodNumber;
202
+ addedISO: z.ZodString;
203
+ created: z.ZodNumber;
204
+ createdISO: z.ZodString;
205
+ }, z.core.$strip>;
206
+ poly: z.ZodString;
207
+ geoPoly: z.ZodNull;
208
+ includes: z.ZodObject<{
209
+ fips: z.ZodArray<z.ZodString>;
210
+ counties: z.ZodArray<z.ZodString>;
211
+ wxzones: z.ZodArray<z.ZodString>;
212
+ zipcodes: z.ZodArray<z.ZodString>;
213
+ }, z.core.$strip>;
214
+ place: z.ZodObject<{
215
+ name: z.ZodString;
216
+ state: z.ZodString;
217
+ country: z.ZodString;
218
+ }, z.core.$strip>;
219
+ profile: z.ZodObject<{
220
+ tz: z.ZodString;
221
+ }, z.core.$strip>;
222
+ active: z.ZodBoolean;
223
+ }, z.core.$strip>>>;
224
+ }, z.core.$strip>;
225
+ }, z.core.$strip>;
226
+ };
227
+ /**
228
+ * Main schema for weather alerts (most common use case)
229
+ *
230
+ * This is the primary schema used for validating weather alert responses from the Aeris API.
231
+ * It's a convenience export that references the 'alert' schema from AerisWeatherResponseItemSchemas.
232
+ */
233
+ export declare const AerisWeatherResponseItemSchema: z.ZodObject<{
234
+ type: z.ZodLiteral<"Feature">;
235
+ geometry: z.ZodObject<{
236
+ coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
237
+ type: z.ZodLiteral<"Point">;
238
+ }, z.core.$strip>;
239
+ properties: z.ZodObject<{
240
+ request: z.ZodObject<{
241
+ id: z.ZodString;
242
+ skipped: z.ZodBoolean;
243
+ success: z.ZodBoolean;
244
+ error: z.ZodNullable<z.ZodObject<{
245
+ code: z.ZodString;
246
+ description: z.ZodString;
247
+ }, z.core.$strip>>;
248
+ }, z.core.$strip>;
249
+ response: z.ZodNullable<z.ZodArray<z.ZodObject<{
250
+ id: z.ZodString;
251
+ loc: z.ZodObject<{
252
+ lat: z.ZodNumber;
253
+ long: z.ZodNumber;
254
+ }, z.core.$strip>;
255
+ dataSource: z.ZodString;
256
+ details: z.ZodObject<{
257
+ type: z.ZodString;
258
+ name: z.ZodString;
259
+ loc: z.ZodString;
260
+ emergency: z.ZodBoolean;
261
+ priority: z.ZodNumber;
262
+ color: z.ZodString;
263
+ cat: z.ZodString;
264
+ body: z.ZodString;
265
+ bodyFull: z.ZodString;
266
+ }, z.core.$strip>;
267
+ timestamps: z.ZodObject<{
268
+ issued: z.ZodNumber;
269
+ issuedISO: z.ZodString;
270
+ begins: z.ZodNumber;
271
+ beginsISO: z.ZodString;
272
+ expires: z.ZodNumber;
273
+ expiresISO: z.ZodString;
274
+ updated: z.ZodNumber;
275
+ updateISO: z.ZodString;
276
+ added: z.ZodNumber;
277
+ addedISO: z.ZodString;
278
+ created: z.ZodNumber;
279
+ createdISO: z.ZodString;
280
+ }, z.core.$strip>;
281
+ poly: z.ZodString;
282
+ geoPoly: z.ZodNull;
283
+ includes: z.ZodObject<{
284
+ fips: z.ZodArray<z.ZodString>;
285
+ counties: z.ZodArray<z.ZodString>;
286
+ wxzones: z.ZodArray<z.ZodString>;
287
+ zipcodes: z.ZodArray<z.ZodString>;
288
+ }, z.core.$strip>;
289
+ place: z.ZodObject<{
290
+ name: z.ZodString;
291
+ state: z.ZodString;
292
+ country: z.ZodString;
293
+ }, z.core.$strip>;
294
+ profile: z.ZodObject<{
295
+ tz: z.ZodString;
296
+ }, z.core.$strip>;
297
+ active: z.ZodBoolean;
298
+ }, z.core.$strip>>>;
299
+ }, z.core.$strip>;
300
+ }, z.core.$strip>;
301
+ /**
302
+ * Schema for Aeris Weather API response body
303
+ */
304
+ export declare const AerisWeatherResponseBodySchema: z.ZodObject<{
305
+ error: z.ZodNullable<z.ZodObject<{
306
+ code: z.ZodString;
307
+ description: z.ZodString;
308
+ }, z.core.$strip>>;
309
+ success: z.ZodBoolean;
310
+ response: z.ZodNullable<z.ZodArray<z.ZodObject<{
311
+ type: z.ZodLiteral<"Feature">;
312
+ geometry: z.ZodObject<{
313
+ coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
314
+ type: z.ZodLiteral<"Point">;
315
+ }, z.core.$strip>;
316
+ properties: z.ZodObject<{
317
+ request: z.ZodObject<{
318
+ id: z.ZodString;
319
+ skipped: z.ZodBoolean;
320
+ success: z.ZodBoolean;
321
+ error: z.ZodNullable<z.ZodObject<{
322
+ code: z.ZodString;
323
+ description: z.ZodString;
324
+ }, z.core.$strip>>;
325
+ }, z.core.$strip>;
326
+ response: z.ZodNullable<z.ZodArray<z.ZodObject<{
327
+ id: z.ZodString;
328
+ loc: z.ZodObject<{
329
+ lat: z.ZodNumber;
330
+ long: z.ZodNumber;
331
+ }, z.core.$strip>;
332
+ dataSource: z.ZodString;
333
+ details: z.ZodObject<{
334
+ type: z.ZodString;
335
+ name: z.ZodString;
336
+ loc: z.ZodString;
337
+ emergency: z.ZodBoolean;
338
+ priority: z.ZodNumber;
339
+ color: z.ZodString;
340
+ cat: z.ZodString;
341
+ body: z.ZodString;
342
+ bodyFull: z.ZodString;
343
+ }, z.core.$strip>;
344
+ timestamps: z.ZodObject<{
345
+ issued: z.ZodNumber;
346
+ issuedISO: z.ZodString;
347
+ begins: z.ZodNumber;
348
+ beginsISO: z.ZodString;
349
+ expires: z.ZodNumber;
350
+ expiresISO: z.ZodString;
351
+ updated: z.ZodNumber;
352
+ updateISO: z.ZodString;
353
+ added: z.ZodNumber;
354
+ addedISO: z.ZodString;
355
+ created: z.ZodNumber;
356
+ createdISO: z.ZodString;
357
+ }, z.core.$strip>;
358
+ poly: z.ZodString;
359
+ geoPoly: z.ZodNull;
360
+ includes: z.ZodObject<{
361
+ fips: z.ZodArray<z.ZodString>;
362
+ counties: z.ZodArray<z.ZodString>;
363
+ wxzones: z.ZodArray<z.ZodString>;
364
+ zipcodes: z.ZodArray<z.ZodString>;
365
+ }, z.core.$strip>;
366
+ place: z.ZodObject<{
367
+ name: z.ZodString;
368
+ state: z.ZodString;
369
+ country: z.ZodString;
370
+ }, z.core.$strip>;
371
+ profile: z.ZodObject<{
372
+ tz: z.ZodString;
373
+ }, z.core.$strip>;
374
+ active: z.ZodBoolean;
375
+ }, z.core.$strip>>>;
376
+ }, z.core.$strip>;
377
+ }, z.core.$strip>>>;
378
+ }, z.core.$strip>;
379
+ /**
380
+ * Schema for Aeris Weather Redux state
381
+ *
382
+ * Validates the structure of weather alert data stored in Redux state.
383
+ * Weather alerts are indexed by timestamp for efficient caching and retrieval.
384
+ */
385
+ export declare const AerisWeatherStateSchema: z.ZodObject<{
386
+ alertsResponseItemPerTimeStamp: z.ZodRecord<z.ZodNumber, z.ZodArray<z.ZodObject<{
387
+ type: z.ZodLiteral<"Feature">;
388
+ geometry: z.ZodObject<{
389
+ coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
390
+ type: z.ZodLiteral<"Point">;
391
+ }, z.core.$strip>;
392
+ properties: z.ZodObject<{
393
+ request: z.ZodObject<{
394
+ id: z.ZodString;
395
+ skipped: z.ZodBoolean;
396
+ success: z.ZodBoolean;
397
+ error: z.ZodNullable<z.ZodObject<{
398
+ code: z.ZodString;
399
+ description: z.ZodString;
400
+ }, z.core.$strip>>;
401
+ }, z.core.$strip>;
402
+ response: z.ZodNullable<z.ZodArray<z.ZodObject<{
403
+ id: z.ZodString;
404
+ loc: z.ZodObject<{
405
+ lat: z.ZodNumber;
406
+ long: z.ZodNumber;
407
+ }, z.core.$strip>;
408
+ dataSource: z.ZodString;
409
+ details: z.ZodObject<{
410
+ type: z.ZodString;
411
+ name: z.ZodString;
412
+ loc: z.ZodString;
413
+ emergency: z.ZodBoolean;
414
+ priority: z.ZodNumber;
415
+ color: z.ZodString;
416
+ cat: z.ZodString;
417
+ body: z.ZodString;
418
+ bodyFull: z.ZodString;
419
+ }, z.core.$strip>;
420
+ timestamps: z.ZodObject<{
421
+ issued: z.ZodNumber;
422
+ issuedISO: z.ZodString;
423
+ begins: z.ZodNumber;
424
+ beginsISO: z.ZodString;
425
+ expires: z.ZodNumber;
426
+ expiresISO: z.ZodString;
427
+ updated: z.ZodNumber;
428
+ updateISO: z.ZodString;
429
+ added: z.ZodNumber;
430
+ addedISO: z.ZodString;
431
+ created: z.ZodNumber;
432
+ createdISO: z.ZodString;
433
+ }, z.core.$strip>;
434
+ poly: z.ZodString;
435
+ geoPoly: z.ZodNull;
436
+ includes: z.ZodObject<{
437
+ fips: z.ZodArray<z.ZodString>;
438
+ counties: z.ZodArray<z.ZodString>;
439
+ wxzones: z.ZodArray<z.ZodString>;
440
+ zipcodes: z.ZodArray<z.ZodString>;
441
+ }, z.core.$strip>;
442
+ place: z.ZodObject<{
443
+ name: z.ZodString;
444
+ state: z.ZodString;
445
+ country: z.ZodString;
446
+ }, z.core.$strip>;
447
+ profile: z.ZodObject<{
448
+ tz: z.ZodString;
449
+ }, z.core.$strip>;
450
+ active: z.ZodBoolean;
451
+ }, z.core.$strip>>>;
452
+ }, z.core.$strip>;
453
+ }, z.core.$strip>>>;
454
+ }, z.core.$strip>;
@@ -0,0 +1,68 @@
1
+ export declare const draftSelectAerisWeatherAlertResponseItemsPerTimeStamp: () => Promise<Record<number, {
2
+ type: "Feature";
3
+ geometry: {
4
+ coordinates: [number, number];
5
+ type: "Point";
6
+ };
7
+ properties: {
8
+ request: {
9
+ id: string;
10
+ skipped: boolean;
11
+ success: boolean;
12
+ error: {
13
+ code: string;
14
+ description: string;
15
+ } | null;
16
+ };
17
+ response: {
18
+ id: string;
19
+ loc: {
20
+ lat: number;
21
+ long: number;
22
+ };
23
+ dataSource: string;
24
+ details: {
25
+ type: string;
26
+ name: string;
27
+ loc: string;
28
+ emergency: boolean;
29
+ priority: number;
30
+ color: string;
31
+ cat: string;
32
+ body: string;
33
+ bodyFull: string;
34
+ };
35
+ timestamps: {
36
+ issued: number;
37
+ issuedISO: string;
38
+ begins: number;
39
+ beginsISO: string;
40
+ expires: number;
41
+ expiresISO: string;
42
+ updated: number;
43
+ updateISO: string;
44
+ added: number;
45
+ addedISO: string;
46
+ created: number;
47
+ createdISO: string;
48
+ };
49
+ poly: string;
50
+ geoPoly: null;
51
+ includes: {
52
+ fips: string[];
53
+ counties: string[];
54
+ wxzones: string[];
55
+ zipcodes: string[];
56
+ };
57
+ place: {
58
+ name: string;
59
+ state: string;
60
+ country: string;
61
+ };
62
+ profile: {
63
+ tz: string;
64
+ };
65
+ active: boolean;
66
+ }[] | null;
67
+ };
68
+ }[]>>;
@@ -0,0 +1,11 @@
1
+ import { AerisWeatherResponseItemAlert } from "./aerisWeather.types";
2
+ export declare const AERIS_WEATHER_SLICE_KEYS: {
3
+ alertsResponseItemPerTimeStamp: string;
4
+ };
5
+ export declare const aerisWeatherSlice: {
6
+ setAlertsResponseItems: ({ timestamp, data }: {
7
+ timestamp: number;
8
+ data: AerisWeatherResponseItemAlert[];
9
+ }) => Promise<void>;
10
+ removeAlertsResponseItemsByTimestamp: (payload: number | number[]) => Promise<void>;
11
+ };
@@ -0,0 +1,12 @@
1
+ import { LonLatLike } from "../../types";
2
+ import { AlertResponseItemPerLonLatLike } from "./aerisWeather.types";
3
+ export declare const AERIS_WEATHER_ALERTS_CACHE_KEEP_ALIVE_MS: number;
4
+ export declare const handleGetAlertResponseItemsByLonLatLikes: ({ lonLatLikes, baseApiUrl, accessToken }: {
5
+ lonLatLikes: LonLatLike[];
6
+ baseApiUrl: string;
7
+ accessToken: string;
8
+ }) => Promise<AlertResponseItemPerLonLatLike[]>;
9
+ /**
10
+ * This function is used to remove expired alerts from the store.
11
+ */
12
+ export declare const handleValidateAlertsCache: (propCacheKeepAlivePayload?: number | undefined) => Promise<void>;
@@ -0,0 +1,142 @@
1
+ import { z } from "zod";
2
+ import { LonLatLike } from "../../types";
3
+ import { AerisWeatherAlertSchema, AerisWeatherResponseBodySchema, AerisWeatherResponseItemSchemas, AerisWeatherStateSchema } from "./aerisWeather.schemas";
4
+ /**
5
+ * Aeris Weather Redux state type
6
+ *
7
+ * Contains cached weather alert data indexed by timestamp for efficient retrieval.
8
+ *
9
+ * @group Actions
10
+ * @category Weather
11
+ * @internal
12
+ */
13
+ export type AerisWeatherState = z.infer<typeof AerisWeatherStateSchema>;
14
+ /**
15
+ * Aeris Weather API response body type
16
+ *
17
+ * The main response structure returned by Aeris Weather API endpoints.
18
+ *
19
+ * @group Actions
20
+ * @category Weather
21
+ * @internal
22
+ */
23
+ export type AerisWeatherResponseBody = z.infer<typeof AerisWeatherResponseBodySchema>;
24
+ /**
25
+ * Generic Aeris Weather response item type
26
+ *
27
+ * Can be used with different response types (currently only 'alert' is supported).
28
+ * This is a generic wrapper for various Aeris Weather API response types.
29
+ *
30
+ * @template T - Response type key from AerisWeatherResponseItemSchemas (default: "alert")
31
+ *
32
+ * @group Actions
33
+ * @category Weather
34
+ */
35
+ export type AerisWeatherResponseItem<T extends keyof typeof AerisWeatherResponseItemSchemas = "alert"> = z.infer<(typeof AerisWeatherResponseItemSchemas)[T]>;
36
+ /**
37
+ * Aeris weather alert response item (GeoJSON Feature)
38
+ *
39
+ * Contains weather alert data from the Aeris Weather API including alert details,
40
+ * timestamps, and location information.
41
+ *
42
+ * @see {@link https://www.aerisweather.com/support/docs/api/reference/endpoints/alerts/ | Aeris Weather Alerts API Documentation}
43
+ *
44
+ * @interface
45
+ * @group Actions
46
+ * @category Weather
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * const alertResponseItem: AerisWeatherResponseItemAlert = {
51
+ * type: "Feature",
52
+ * geometry: {
53
+ * coordinates: [-93.265, 44.978],
54
+ * type: "Point"
55
+ * },
56
+ * properties: {
57
+ * request: {
58
+ * id: "req_abc123",
59
+ * skipped: false,
60
+ * success: true,
61
+ * error: null
62
+ * },
63
+ * response: [
64
+ * {
65
+ * id: "alert_xyz789",
66
+ * loc: { lat: 44.978, long: -93.265 },
67
+ * dataSource: "nws",
68
+ * details: {
69
+ * type: "WSW",
70
+ * name: "WINTER STORM WARNING",
71
+ * loc: "MN",
72
+ * emergency: false,
73
+ * priority: 5,
74
+ * color: "#FF6347",
75
+ * cat: "winter",
76
+ * body: "Heavy snow expected...",
77
+ * bodyFull: "A winter storm warning means..."
78
+ * },
79
+ * timestamps: {
80
+ * issued: 1704067200,
81
+ * issuedISO: "2024-01-01T00:00:00Z",
82
+ * begins: 1704067200,
83
+ * beginsISO: "2024-01-01T00:00:00Z",
84
+ * expires: 1704153600,
85
+ * expiresISO: "2024-01-02T00:00:00Z",
86
+ * updated: 1704067200,
87
+ * updateISO: "2024-01-01T00:00:00Z",
88
+ * added: 1704067200,
89
+ * addedISO: "2024-01-01T00:00:00Z",
90
+ * created: 1704067200,
91
+ * createdISO: "2024-01-01T00:00:00Z"
92
+ * },
93
+ * poly: "...",
94
+ * geoPoly: null,
95
+ * includes: {
96
+ * fips: ["27123"],
97
+ * counties: ["hennepin"],
98
+ * wxzones: ["mnz060"],
99
+ * zipcodes: ["55401"]
100
+ * },
101
+ * place: {
102
+ * name: "minneapolis",
103
+ * state: "mn",
104
+ * country: "us"
105
+ * },
106
+ * profile: {
107
+ * tz: "America/Chicago"
108
+ * },
109
+ * active: true
110
+ * }
111
+ * ]
112
+ * }
113
+ * };
114
+ * ```
115
+ */
116
+ export type AerisWeatherResponseItemAlert = AerisWeatherResponseItem<"alert">;
117
+ /**
118
+ * Aeris Weather alert object
119
+ *
120
+ * @see {@link https://www.aerisweather.com/support/docs/api/reference/endpoints/alerts/ | Aeris Weather Alerts API Documentation}
121
+ *
122
+ * @group Actions
123
+ * @category Weather
124
+ */
125
+ export type AerisWeatherAlert = z.infer<typeof AerisWeatherAlertSchema>;
126
+ /**
127
+ * Alert response item with associated location
128
+ *
129
+ * Used internally to track which alerts correspond to which route coordinates.
130
+ * This type combines a location coordinate with the full alert response data.
131
+ *
132
+ * @group Actions
133
+ * @category Weather
134
+ */
135
+ export type AlertResponseItemPerLonLatLike = {
136
+ /** Unique identifier */
137
+ id: string;
138
+ /** Location coordinate */
139
+ lonLatLike: LonLatLike;
140
+ /** Alert response data from Aeris API */
141
+ alertResponseItem: AerisWeatherResponseItemAlert;
142
+ };
@@ -0,0 +1 @@
1
+ export { type AlertResponseItemPerLonLatLike, type AerisWeatherResponseItemAlert, type AerisWeatherResponseItem } from "./aerisWeather/aerisWeather.types";
@@ -0,0 +1,3 @@
1
+ import "./WeatherAlertIcon.scss";
2
+ import { WeatherAlertIconOptions } from "./WeatherAlertIcon.types";
3
+ export declare const createWeatherAlertIcon: (options?: WeatherAlertIconOptions) => HTMLElement;