@windycom/plugin-devtools 2.0.0 → 3.0.0

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 (120) hide show
  1. package/README.md +3 -0
  2. package/index.mjs +2 -2
  3. package/package.json +2 -3
  4. package/types/client/AccessProducts.d.ts +8 -0
  5. package/types/client/BottomSveltePlugins.d.ts +8 -0
  6. package/types/client/Calendar.d.ts +9 -17
  7. package/types/client/Color.d.ts +43 -90
  8. package/types/client/Evented.d.ts +4 -0
  9. package/types/client/ExternalSveltePlugin.d.ts +2 -1
  10. package/types/client/IDB.d.ts +63 -0
  11. package/types/client/IconProducts.d.ts +2 -0
  12. package/types/client/Layer.d.ts +1 -2
  13. package/types/client/Metric.d.ts +8 -8
  14. package/types/client/MetricClasses.d.ts +4 -3
  15. package/types/client/Overlay.d.ts +30 -15
  16. package/types/client/OverlayClasses.d.ts +11 -7
  17. package/types/client/Plugin.d.ts +2 -2
  18. package/types/client/Product.d.ts +40 -29
  19. package/types/client/RadarPlusProduct.d.ts +19 -0
  20. package/types/client/Renderer.d.ts +2 -10
  21. package/types/client/SveltePlugin.d.ts +9 -5
  22. package/types/client/TileLayer.d.ts +1 -2
  23. package/types/client/TopoMap.d.ts +10 -0
  24. package/types/client/WindowPlugin.d.ts +7 -3
  25. package/types/client/appsFlyer.d.ts +3 -0
  26. package/types/client/baseMap.d.ts +8 -5
  27. package/types/client/cityLabels.d.ts +10 -2
  28. package/types/client/cloudSync.d.ts +3 -1
  29. package/types/client/colorGradients.d.ts +13 -0
  30. package/types/client/customColors.d.ts +1 -0
  31. package/types/client/d.ts.files/Calendar.d.ts +11 -2
  32. package/types/client/d.ts.files/Color.d.ts +16 -5
  33. package/types/client/d.ts.files/LabelsLayer.d.ts +1 -18
  34. package/types/client/d.ts.files/Layer.d.ts +8 -1
  35. package/types/client/d.ts.files/Metric.d.ts +1 -0
  36. package/types/client/d.ts.files/Renderer.d.ts +22 -1
  37. package/types/client/d.ts.files/alerts.d.ts +120 -0
  38. package/types/client/d.ts.files/broadcast.d.ts +38 -10
  39. package/types/client/d.ts.files/dataSpecifications.d.ts +81 -122
  40. package/types/client/d.ts.files/favs.d.ts +69 -0
  41. package/types/client/d.ts.files/incomingMessages.d.ts +0 -4
  42. package/types/client/d.ts.files/notifications.d.ts +2 -2
  43. package/types/client/d.ts.files/plugin-params.d.ts +35 -47
  44. package/types/client/d.ts.files/plugins.d.ts +30 -42
  45. package/types/client/d.ts.files/pois.d.ts +1 -1
  46. package/types/client/d.ts.files/products.d.ts +15 -3
  47. package/types/client/d.ts.files/rootScope.d.ts +3 -21
  48. package/types/client/d.ts.files/startup.d.ts +59 -0
  49. package/types/client/d.ts.files/storage.d.ts +12 -35
  50. package/types/client/d.ts.files/user.d.ts +79 -24
  51. package/types/client/deviceLogging.d.ts +2 -1
  52. package/types/client/embed2.d.ts +14 -31
  53. package/types/client/fetch.d.ts +29 -16
  54. package/types/client/ga.d.ts +1 -1
  55. package/types/client/geolocation.d.ts +15 -7
  56. package/types/client/globals.d.ts +1 -0
  57. package/types/client/http.d.ts +17 -0
  58. package/types/client/idbInstances.d.ts +45 -0
  59. package/types/client/langFiles.d.ts +2 -0
  60. package/types/client/layers.d.ts +2 -0
  61. package/types/client/lib.d.ts +7 -21
  62. package/types/client/loadArticlesOrWhatsNew.d.ts +1 -0
  63. package/types/client/log.d.ts +1 -0
  64. package/types/client/lruCache.d.ts +6 -0
  65. package/types/client/map.d.ts +17 -6
  66. package/types/client/mobile.d.ts +28 -20
  67. package/types/client/models.d.ts +1 -1
  68. package/types/client/notifications.d.ts +32 -67
  69. package/types/client/overlays.d.ts +4 -1
  70. package/types/client/params.d.ts +0 -1
  71. package/types/client/permanentPromos.d.ts +1 -1
  72. package/types/client/persistentStorage.d.ts +8 -0
  73. package/types/client/picker.d.ts +1 -1
  74. package/types/client/pois.d.ts +1 -2
  75. package/types/client/promo.d.ts +6 -16
  76. package/types/client/pushNotifications.d.ts +13 -1
  77. package/types/client/queryString.d.ts +1 -1
  78. package/types/client/renderUtils.d.ts +1 -1
  79. package/types/client/renderers.d.ts +7 -3
  80. package/types/client/rootScope.d.ts +14 -23
  81. package/types/client/router.d.ts +9 -5
  82. package/types/client/seoParser.d.ts +21 -0
  83. package/types/client/serviceWorkerCtrl.d.ts +8 -0
  84. package/types/client/startupWeather.d.ts +13 -9
  85. package/types/client/store.d.ts +2 -2
  86. package/types/client/storeLastPosition.d.ts +1 -0
  87. package/types/client/subscription.d.ts +1 -0
  88. package/types/client/swDownloader.d.ts +7 -7
  89. package/types/client/swProxy.d.ts +1 -1
  90. package/types/client/swUtils.d.ts +3 -3
  91. package/types/client/trans.d.ts +26 -37
  92. package/types/client/user.d.ts +5 -13
  93. package/types/client/userAlerts.d.ts +68 -0
  94. package/types/client/userConsent.d.ts +6 -0
  95. package/types/client/userFavs.d.ts +46 -121
  96. package/types/client/utils.d.ts +28 -6
  97. package/types/iconfont.d.ts +1 -0
  98. package/types/interfaces.d.ts +90 -225
  99. package/types/lang-files.d.ts +687 -119
  100. package/types/offline.d.ts +100 -0
  101. package/types/types.d.ts +59 -24
  102. package/types/client/Bar.d.ts +0 -114
  103. package/types/client/BindedBar.d.ts +0 -51
  104. package/types/client/BindedCheckbox.d.ts +0 -30
  105. package/types/client/BindedSwitch.d.ts +0 -35
  106. package/types/client/BottomTagPlugin.d.ts +0 -8
  107. package/types/client/DraggableDiv.d.ts +0 -21
  108. package/types/client/GhostBox.d.ts +0 -17
  109. package/types/client/Legend.d.ts +0 -6
  110. package/types/client/LongTap.d.ts +0 -21
  111. package/types/client/MobileCalendar.d.ts +0 -51
  112. package/types/client/OfflineMessagesClasses.d.ts +0 -30
  113. package/types/client/ProductSwitch.d.ts +0 -14
  114. package/types/client/Scrollable.d.ts +0 -14
  115. package/types/client/Switch.d.ts +0 -24
  116. package/types/client/TimestampBar.d.ts +0 -8
  117. package/types/client/d.ts.files/Product.d.ts +0 -37
  118. package/types/client/d.ts.files/trans.d.ts +0 -55
  119. package/types/client/favs.d.ts +0 -83
  120. package/types/client/offlineController.d.ts +0 -20
@@ -1,41 +1,45 @@
1
1
  /**
2
2
  * Main Windy interfaces
3
3
  */
4
- import { ClientMessage } from '@plugins/offline/offline';
5
4
  import { Weekday } from '@windy/Calendar.d';
6
5
  import { ExtendedTileParams } from '@windy/DataTiler.d';
6
+ import { FavId } from '@windy/favs';
7
7
  import { FullRenderParameters } from '@windy/Layer.d';
8
8
  import { Particles } from '@windy/Particles';
9
- import { PluginsOpenParams, type PluginsQsParams } from '@windy/plugin-params.d';
9
+ import {
10
+ PluginsOpenParams,
11
+ type DetailOpenParams,
12
+ type PluginsQsParams,
13
+ } from '@windy/plugin-params.d';
10
14
  import { Plugins } from '@windy/plugins.d';
11
- import { AcTimes, Isolines, Levels, Overlays, PointProducts, Products } from '@windy/rootScope.d';
15
+ import { Isolines, Levels, Overlays, PointProducts, Products } from '@windy/rootScope.d';
12
16
  import {
13
- BatteryPreferences,
14
- CapAlertInfo,
15
- CapAlertSeverity,
16
- CapAlertType,
17
- DetailDisplayType,
18
- DetailRows,
19
- Directions,
20
- FavType,
21
- GoogleServicesPreferences,
22
- GpsPreferences,
23
- ISODateString,
24
- LocationPreferences,
25
- MeteogramLayers,
26
- MeteogramLevels,
27
- NotificationPreferences,
28
- NumOrNull,
29
- NumValue,
30
- Path,
31
- Pixel,
32
- Platform,
33
- SearchType,
34
- StationOrPoiType,
35
- Timestamp,
36
- WidgetNotificationPreferences,
37
- YearMonthDay,
38
- type MigrationResult,
17
+ BatteryPreferences,
18
+ CapAlertInfo,
19
+ CapAlertSeverity,
20
+ CapAlertType,
21
+ DetailDisplayType,
22
+ DetailRows,
23
+ Directions,
24
+ GoogleServicesPreferences,
25
+ GpsPreferences,
26
+ ISODateString,
27
+ LocationPreferences,
28
+ MeteogramLayers,
29
+ MeteogramLevels,
30
+ NotificationPreferences,
31
+ NumOrNull,
32
+ NumValue,
33
+ Path,
34
+ Pixel,
35
+ Platform,
36
+ StationOrPoiType,
37
+ Timestamp,
38
+ WidgetNotificationPreferences,
39
+ WidgetType,
40
+ YearMonthDay,
41
+ type MigrationResult,
42
+ type SubTier,
39
43
  } from '@windy/types.d';
40
44
 
41
45
  export interface ExportedObj {
@@ -117,8 +121,8 @@ export interface GeolocationInfo extends LatLon {
117
121
  * TODO: This is basically copied favorite
118
122
  */
119
123
  export interface HomeLocation extends LatLon {
124
+ id: FavId;
120
125
  title: string;
121
- updated?: string;
122
126
  }
123
127
 
124
128
  export interface Alert {
@@ -159,6 +163,7 @@ export interface Alert {
159
163
  snow: {
160
164
  active: boolean;
161
165
  min: number;
166
+ max: number;
162
167
  };
163
168
 
164
169
  /**
@@ -168,6 +173,7 @@ export interface Alert {
168
173
  rain: {
169
174
  active: boolean;
170
175
  min: number;
176
+ max: number;
171
177
  hours: 3 | 6 | 12 | 24 | 48;
172
178
  };
173
179
 
@@ -247,154 +253,12 @@ export interface AlertProps {
247
253
  suspended?: boolean;
248
254
  }
249
255
 
250
- export interface Fav extends LatLon {
251
- /** Unique ID of item */
252
- id: string;
253
-
254
- /* How many times was this item hit/used */
255
- counter?: number;
256
-
257
- /** Title of item */
258
- title: string;
259
-
260
- /** @deprecated Name was used till 2019, all should be refactored to `title` if it is safe */
261
- name?: string;
262
-
263
- /** Unique invented key, for access */
264
- key?: string;
265
-
266
- /** Type of item */
267
- type: FavType | SearchType;
268
-
269
- /** Airport ICAO code in case of airport */
270
- icao?: string;
271
-
272
- /** Weather station ID (if WX station) */
273
- stationId?: string;
274
-
275
- /** Webcam ID in case of webcam */
276
- webcamId?: number;
277
-
278
- /** For saved routes */
279
- route?: string;
280
-
281
- /**
282
- * If user wants to pin to top this fav, this timestamp enable us to sort all the favs
283
- * so the last pinned is on top
284
- */
285
- pin2top?: Timestamp | null;
286
-
287
- /**
288
- * If user wants to pin to homepage this fav, this timestamp enable us to sort all the favs
289
- * so the last pinned is first in line
290
- */
291
- pin2homepage?: Timestamp | null;
292
- }
293
-
294
- /** Search result payload as received from backend */
295
- export interface SearchResult extends Fav {
296
- /** Localized Search result */
297
- title: string;
298
-
299
- /** Type of item */
300
- type: SearchType;
301
-
302
- /** Localized, human readable country name */
303
- country?: string | null;
304
-
305
- /** Lowercase ISO-2 CC */
306
- cc?: string;
307
-
308
- /** Localized, human readable region */
309
- region?: string | null;
310
-
311
- /** Localized, human readable state */
312
- state?: string;
313
-
314
- /** Stringified bounds of found item for case of island, country etc */
315
- bounds?: string;
316
-
317
- /**
318
- * Added properties for purpose of recent searches
319
- */
320
-
321
- /** Creation date */
322
- timestamp?: Timestamp;
323
-
324
- /** Search query under which was item stored to recents */
325
- query?: string;
326
- }
327
-
328
- export interface HttpSearchPayload {
329
- header: {
330
- type: 'search' | 'coordinates' | 'query-error' | '2airports';
331
- };
332
- data: SearchResult[];
333
- }
334
-
335
- export interface SavedFav extends Fav {
336
- /** Title of item */
337
- title: string;
338
-
339
- /** Unique invented key, for access */
340
- key: string;
341
-
342
- /** Type of item */
343
- type: FavType;
344
-
345
- /** Alert settings (conditions, properties, ...) if any */
346
- alert?: Alert;
347
-
348
- /** Basic info about alert if any */
349
- alertProps?: AlertProps;
350
-
351
- /**
352
- * Query params of the route needed for creating the route again
353
- *
354
- * @example car/50.43,21.49;48.14,20.61;49.18,21.41
355
- */
356
- route?: string;
357
-
358
- /**
359
- * Timestamp when the item has been updated for the last time. It is used for updating items on all devices (the most up-to-date wins)
360
- */
361
- updated?: Timestamp;
362
-
363
- overflowed?: boolean;
364
-
365
- /** @deprecated Use `title` instead. This property is presented only because of in local storage saved old favs compatibility. */
366
- name?: string;
367
- /** Used for alerts to open slider on active timestamp */
368
- moveToTimestamp?: boolean;
369
- }
370
-
371
- export interface UpcomingFav extends Fav {
372
- // TODO - is it necessary? Isn't just some migration deprecated stuff?
373
- name?: string;
374
-
375
- /** Type of item */
376
- type: FavType;
377
-
378
- // TODO - is it necessary? Can unsaved fav has a route property?
379
- route?: string;
380
-
381
- // TODO - is it necessary? Can unsaved fav has an alert property?
382
- alert?: Alert;
383
-
384
- // TODO - is it necessary? Can unsaved fav has an updated property?
385
- updated?: Timestamp;
386
- }
387
-
388
- export interface SavedAlertFav extends UpcomingFav {
389
- _id?: string;
390
- alert: Alert;
391
- }
392
-
393
256
  export interface WeatherParameters {
257
+ acRange: Timestamp;
394
258
  overlay: Overlays;
395
- acTime: AcTimes;
396
259
  level: Levels;
397
- isolines: Isolines;
260
+ isolinesType: Isolines;
261
+ isolinesOn: boolean;
398
262
  path: Path;
399
263
  product: Products;
400
264
  }
@@ -415,6 +279,8 @@ export interface LastSentDevice {
415
279
  platform: string;
416
280
  target: string;
417
281
  version: string;
282
+ subscription: SubTier;
283
+ cc: string;
418
284
  deactivated?: boolean;
419
285
  updated?: number;
420
286
  screen?: {
@@ -511,7 +377,7 @@ export interface Celestial {
511
377
  /**
512
378
  * Summary day as received from backend
513
379
  */
514
- export interface SummaryDay {
380
+ export interface CalendarSummaryDay {
515
381
  /**
516
382
  * Identifier of the day
517
383
  */
@@ -522,6 +388,21 @@ export interface SummaryDay {
522
388
  */
523
389
  day: number;
524
390
 
391
+ /**
392
+ * Timestamp of midnight when the segment starts
393
+ */
394
+ timestamp: Timestamp;
395
+
396
+ /**
397
+ * Translation string for weekday
398
+ */
399
+ weekday: Weekday;
400
+ }
401
+
402
+ /**
403
+ * Summary day as received from backend
404
+ */
405
+ export interface SummaryDay extends CalendarSummaryDay {
525
406
  /**
526
407
  * Weather icon identifier
527
408
  */
@@ -547,16 +428,6 @@ export interface SummaryDay {
547
428
  */
548
429
  tempMin: NumValue;
549
430
 
550
- /**
551
- * Timestamp of midnight when the segment starts
552
- */
553
- timestamp: Timestamp;
554
-
555
- /**
556
- * Translation string for weekday
557
- */
558
- weekday: Weekday;
559
-
560
431
  /**
561
432
  * Mean/Average Wind force
562
433
  */
@@ -875,7 +746,7 @@ export interface NodeForecastHeader {
875
746
  /**
876
747
  * Elevation of model grid
877
748
  */
878
- modelElevation: number;
749
+ modelElevation?: number;
879
750
 
880
751
  /**
881
752
  * UTC offset in hours
@@ -969,15 +840,17 @@ export interface WeatherTableRenderingOptions {
969
840
  * Surface sea temperature if available
970
841
  */
971
842
  sst?: number;
972
- }
973
843
 
974
- // TS cannot extend from [] syntax, just create proxy type and use it in the next line
975
- type DetailPluginOpenParams = PluginsOpenParams['detail'];
844
+ /**
845
+ * Should backend interpolate values for 1h step
846
+ */
847
+ interpolate?: boolean;
848
+ }
976
849
 
977
850
  /**
978
851
  * Parameters used for displaying detail (point forecast)
979
852
  */
980
- export interface DetailParams extends DetailPluginOpenParams, WeatherTableRenderingOptions {
853
+ export interface DetailParams extends DetailOpenParams, WeatherTableRenderingOptions {
981
854
  display: DetailDisplayType;
982
855
  /**
983
856
  * Which kind of action led to displaying the detail
@@ -1070,27 +943,6 @@ export interface ExtendedRenderParams extends ExtendedTileParams, FullRenderPara
1070
943
  speed2pixel: number;
1071
944
  }
1072
945
 
1073
- /**
1074
- * Info about articles, user has already seen
1075
- */
1076
- export interface SeenArticle {
1077
- /**
1078
- * Last time, the article has been displayed to the user
1079
- */
1080
- checked: Timestamp;
1081
-
1082
- /**
1083
- * How many times the article has been seen
1084
- * (one count is added only if the article has been seen after 12 hours from the last seen time)
1085
- */
1086
- count: number;
1087
-
1088
- /**
1089
- * Marks beginning of 12h interval
1090
- */
1091
- seen: Timestamp;
1092
- }
1093
-
1094
946
  /**
1095
947
  * How good are observations by this AD or WX station?
1096
948
  */
@@ -1302,7 +1154,25 @@ export interface WindyServicePlugin {
1302
1154
  openBackgroundLocationSettings: () => Promise<void>;
1303
1155
  logError: (arg: { moduleName: string; msg: string; error?: string }) => Promise<void>;
1304
1156
  getId: () => Promise<{ identifier: string }>;
1157
+ getAppsflyerCredentials: () => Promise<{ devKey: string | undefined; appId: string }>;
1158
+ addWidget: (arg: WidgetType) => Promise<void>;
1159
+ }
1160
+
1161
+ export interface NotificationLocationInfo {
1162
+ locationEntityId: string;
1163
+ deviceToken: string | null;
1164
+ isRunning: boolean;
1165
+ }
1166
+
1167
+ export interface WindyNotificationLocationPlugin {
1168
+ getInfo: () => Promise<NotificationLocationInfo>;
1169
+ startUpdateService: () => Promise<NotificationLocationInfo>;
1170
+ stopUpdateService: () => Promise<NotificationLocationInfo>;
1171
+ // Only for testing purposes
1172
+ getDebugLog: () => Promise<{ lastLocationUpdates: string }>;
1173
+ useCustomLocation: (arg: LatLon) => Promise<void>;
1305
1174
  }
1175
+
1306
1176
  /**
1307
1177
  * A migration tool for transferring old Web View local storage to a new location.
1308
1178
  * This migration is necessary when the hostname is changed in the native Capacitor configuration.
@@ -1344,7 +1214,7 @@ export interface WindyMigrationPlugin {
1344
1214
  /**
1345
1215
  * Marks migration as completed and restart WebView from origin
1346
1216
  */
1347
- markMigrationCompleted: () => Promise<void>;
1217
+ markMigrationCompleted: (opts: { reload: boolean }) => Promise<void>;
1348
1218
  /**
1349
1219
  * Returns migration status flag - either migrationNotPerformed or migratingData
1350
1220
  */
@@ -1494,18 +1364,6 @@ export interface LocationState {
1494
1364
  search: string;
1495
1365
  }
1496
1366
 
1497
- export interface WindyOfflinePlugin {
1498
- // startOfflineMode: () => Promise<unknown>;
1499
- // stopOfflineMode: () => Promise<unknown>;
1500
- controlReadiness: () => Promise<{ value: boolean }>;
1501
- // fetchOfflineData: (payload: DownloadPayload) => Promise<unknown>;
1502
- postMessage: (message: ClientMessage) => Promise<unknown>;
1503
- addListener: (
1504
- eventName: 'offlineMessage',
1505
- callback: (message: { data: string }) => void,
1506
- ) => void;
1507
- }
1508
-
1509
1367
  /**
1510
1368
  * # Plugin configuration
1511
1369
  *
@@ -1765,3 +1623,10 @@ interface ClientPatch {
1765
1623
  exclusivePromos: PromoObj[];
1766
1624
  otherPromos: PromoObj[];
1767
1625
  }
1626
+
1627
+ /**
1628
+ * Amount of active hurricanes as returnd from hurricane tracker backend
1629
+ */
1630
+ export interface ActiveStormCountPayload {
1631
+ activeStormCount: number;
1632
+ }