@milemaker/milemaker-js 2.0.0-alpha.3 → 2.0.0-alpha.5
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/dist/actions/layer/trafficLayerActions.factory.d.ts +4 -1
- package/dist/actions/marker/createClusterMarkersAction.factory.d.ts +2 -0
- package/dist/actions/marker/types/markerActions.types.d.ts +133 -3
- package/dist/actions/popup/types/popupActions.types.d.ts +1 -1
- package/dist/actions/types/actions.types.d.ts +2 -1
- package/dist/actions/types/index.d.ts +1 -0
- package/dist/actions/weather/index.d.ts +46 -0
- package/dist/actions/weather/types/index.d.ts +1 -0
- package/dist/actions/weather/types/weather.types.d.ts +115 -0
- package/dist/actions/weather/weatherAlertsActions.factory.d.ts +6 -0
- package/dist/apis/aerisWeather/aerisWeather.api.d.ts +75 -0
- package/dist/apis/aerisWeather/aerisWeather.schemas.d.ts +454 -0
- package/dist/apis/aerisWeather/aerisWeather.selectors.d.ts +68 -0
- package/dist/apis/aerisWeather/aerisWeather.slice.d.ts +18 -0
- package/dist/apis/aerisWeather/aerisWeather.thunks.d.ts +12 -0
- package/dist/apis/aerisWeather/aerisWeather.types.d.ts +142 -0
- package/dist/apis/types.d.ts +1 -0
- package/dist/components/WeatherAlertIcon/WeatherAlertIcon.d.ts +3 -0
- package/dist/components/WeatherAlertIcon/WeatherAlertIcon.types.d.ts +17 -0
- package/dist/components/WeatherAlertIcon/WeatherAlertIconPopup.d.ts +24 -0
- package/dist/components/WeatherAlertIcon/index.d.ts +3 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/controls/createOverlayLayerControl.factory.d.ts +2 -2
- package/dist/controls/createWeatherLayerControl.factory.d.ts +2 -2
- package/dist/controls/types/controls.types.d.ts +50 -5
- package/dist/controls/utils/index.d.ts +0 -1
- package/dist/controls/utils/weatherLayers.constants.d.ts +1 -2
- package/dist/controls/utils/weatherLayers.helpers.d.ts +1 -1
- package/dist/controls/utils/weatherLayers.rendering.d.ts +1 -1
- package/dist/helpers/parseLonLatLikeToCoordinates.helper.d.ts +2 -1
- package/dist/helpers/runAsyncThread.d.ts +30 -0
- package/dist/index.cjs +343 -262
- package/dist/index.esm-8a133e09.js +3080 -0
- package/dist/index.esm-e8122a0a.cjs +5 -0
- package/dist/index.js +37004 -28019
- package/dist/types/common.types.d.ts +7 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/utils/common.schemas.d.ts +9 -0
- package/dist/utils/constants.d.ts +12 -1
- package/dist/utils/helpers/compareLonLatLikesByDistanceKm.helper.d.ts +2 -0
- package/dist/utils/helpers/filterLonLatLikesByDistanceKm.helper.d.ts +6 -0
- package/dist/utils/helpers/getConvertedLength.helper.d.ts +12 -0
- package/dist/utils/helpers/getKmDistanceBetweenLonLatLike.helper.d.ts +8 -0
- package/dist/utils/helpers/indexDBFactory.helper.d.ts +14 -0
- package/dist/utils/helpers/normalizeColor.helper.d.ts +17 -0
- package/dist/utils/helpers/roundToDecimals.helper.d.ts +4 -0
- package/dist/utils/helpers/setUrlParameter.helper.d.ts +5 -0
- package/dist/utils/helpers.d.ts +4 -0
- package/dist/utils/singletons/wasmFloat.polyfill.d.ts +9 -0
- package/dist/utils/singletons/wasmMath.singleton.d.ts +8 -0
- package/dist/utils/types.d.ts +22 -0
- package/dist/utils/version.d.ts +1 -1
- package/package.json +5 -2
- package/dist/controls/utils/weatherLayers.types.d.ts +0 -1
|
@@ -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,18 @@
|
|
|
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
|
+
};
|
|
12
|
+
export declare const aerisWeatherSliceThunks: {
|
|
13
|
+
handleGetAlertResponseItemsByLonLatLikes: ({ lonLatLikes, baseApiUrl, accessToken }: {
|
|
14
|
+
lonLatLikes: import("../..").LonLatLike[];
|
|
15
|
+
baseApiUrl: string;
|
|
16
|
+
accessToken: string;
|
|
17
|
+
}) => Promise<import("./aerisWeather.types").AlertResponseItemPerLonLatLike[]>;
|
|
18
|
+
};
|
|
@@ -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";
|