@windycom/plugin-devtools 3.0.0 → 3.0.1

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 (69) hide show
  1. package/README.md +1 -0
  2. package/package.json +1 -1
  3. package/types/client/BottomSlide.d.ts +3 -0
  4. package/types/client/Color.d.ts +1 -1
  5. package/types/client/EcmwfProduct.d.ts +0 -22
  6. package/types/client/ExternalSveltePlugin.d.ts +6 -1
  7. package/types/client/IDB.d.ts +7 -1
  8. package/types/client/Metric.d.ts +5 -1
  9. package/types/client/Overlay.d.ts +1 -1
  10. package/types/client/Plugin.d.ts +4 -0
  11. package/types/client/Product.d.ts +2 -10
  12. package/types/client/RadarPlusProduct.d.ts +1 -1
  13. package/types/client/SatelliteProduct.d.ts +1 -1
  14. package/types/client/SveltePlugin.d.ts +7 -0
  15. package/types/client/WindowPlugin.d.ts +3 -2
  16. package/types/client/appsFlyer.d.ts +1 -2
  17. package/types/client/compatibilityCheck.d.ts +1 -0
  18. package/types/client/connection.d.ts +1 -1
  19. package/types/client/d.ts.files/Color.d.ts +1 -0
  20. package/types/client/d.ts.files/LabelsLayer.d.ts +2 -2
  21. package/types/client/d.ts.files/alerts.d.ts +1 -2
  22. package/types/client/d.ts.files/broadcast.d.ts +16 -11
  23. package/types/client/d.ts.files/dataSpecifications.d.ts +46 -21
  24. package/types/client/d.ts.files/favs.d.ts +19 -20
  25. package/types/client/d.ts.files/lib.d.ts +5 -7
  26. package/types/client/d.ts.files/plugin-params.d.ts +19 -11
  27. package/types/client/d.ts.files/plugins.d.ts +2 -1
  28. package/types/client/d.ts.files/products.d.ts +1 -2
  29. package/types/client/d.ts.files/rootScope.d.ts +12 -12
  30. package/types/client/d.ts.files/startup.d.ts +17 -11
  31. package/types/client/d.ts.files/user.d.ts +3 -0
  32. package/types/client/detectDevice.d.ts +0 -3
  33. package/types/client/device.d.ts +1 -0
  34. package/types/client/embed.d.ts +70 -0
  35. package/types/client/errorLogger.d.ts +28 -3
  36. package/types/client/errors.d.ts +6 -0
  37. package/types/client/fetch.d.ts +15 -3
  38. package/types/client/format.d.ts +1 -1
  39. package/types/client/http.d.ts +0 -6
  40. package/types/client/idbInstances.d.ts +21 -30
  41. package/types/client/imaker.d.ts +112 -0
  42. package/types/client/imakerMain.d.ts +49 -0
  43. package/types/client/latestBroadcasts.d.ts +1 -1
  44. package/types/client/lib.d.ts +1 -3
  45. package/types/client/libHtml.d.ts +1 -1
  46. package/types/client/liveAlerts.d.ts +5 -0
  47. package/types/client/liveAlerts.types.d.ts +28 -0
  48. package/types/client/location.d.ts +5 -0
  49. package/types/client/log.d.ts +3 -1
  50. package/types/client/mobile.d.ts +3 -2
  51. package/types/client/models.d.ts +7 -5
  52. package/types/client/notifications.d.ts +2 -5
  53. package/types/client/plugins.d.ts +4 -0
  54. package/types/client/promo.d.ts +1 -1
  55. package/types/client/pushNotifications.d.ts +1 -13
  56. package/types/client/rootScope.d.ts +9 -1
  57. package/types/client/router.d.ts +9 -33
  58. package/types/client/seoParser.d.ts +0 -35
  59. package/types/client/showableErrorsService.d.ts +6 -10
  60. package/types/client/storeLastPosition.d.ts +4 -1
  61. package/types/client/user.d.ts +2 -0
  62. package/types/client/userFavs.d.ts +10 -11
  63. package/types/client/utils.d.ts +40 -4
  64. package/types/iconfont.d.ts +7 -0
  65. package/types/interfaces.d.ts +150 -73
  66. package/types/lang-files.d.ts +625 -1
  67. package/types/types.d.ts +56 -17
  68. package/types/client/d.ts.files/errorLogger.d.ts +0 -35
  69. /package/types/client/d.ts.files/{Webcams.d.ts → webcams.d.ts} +0 -0
@@ -6,11 +6,7 @@ import { ExtendedTileParams } from '@windy/DataTiler.d';
6
6
  import { FavId } from '@windy/favs';
7
7
  import { FullRenderParameters } from '@windy/Layer.d';
8
8
  import { Particles } from '@windy/Particles';
9
- import {
10
- PluginsOpenParams,
11
- type DetailOpenParams,
12
- type PluginsQsParams,
13
- } from '@windy/plugin-params.d';
9
+ import { PluginsOpenParams, PluginOpenEventSource, PluginsQsParams } from '@windy/plugin-params.d';
14
10
  import { Plugins } from '@windy/plugins.d';
15
11
  import { Isolines, Levels, Overlays, PointProducts, Products } from '@windy/rootScope.d';
16
12
  import {
@@ -33,13 +29,14 @@ import {
33
29
  Path,
34
30
  Pixel,
35
31
  Platform,
36
- StationOrPoiType,
37
32
  Timestamp,
38
33
  WidgetNotificationPreferences,
39
34
  WidgetType,
40
35
  YearMonthDay,
41
- type MigrationResult,
42
- type SubTier,
36
+ Hours,
37
+ Minutes,
38
+ SubTier,
39
+ CustomAppIcon,
43
40
  } from '@windy/types.d';
44
41
 
45
42
  export interface ExportedObj {
@@ -325,7 +322,7 @@ export interface Celestial {
325
322
  /**
326
323
  * TZ offset in hours
327
324
  */
328
- TZoffset: number;
325
+ TZoffset: Hours;
329
326
 
330
327
  /**
331
328
  * TZ offset nicely formatted
@@ -335,7 +332,7 @@ export interface Celestial {
335
332
  /**
336
333
  * TZ offset in minutes
337
334
  */
338
- TZoffsetMin: number;
335
+ TZoffsetMin: Minutes;
339
336
 
340
337
  /**
341
338
  * Type of TZ type t..terrestrial, n..nautical
@@ -344,6 +341,7 @@ export interface Celestial {
344
341
 
345
342
  /**
346
343
  * Determines probability if the location is at sea or not as number from 1..0
344
+ * Unfortunately the number is inverted, so 1 means land, and 0 means sea
347
345
  */
348
346
  atSea: number;
349
347
 
@@ -642,8 +640,8 @@ export type PickDataHashPropsByType<U, Strict = true> = Pick<
642
640
  : never
643
641
  : never
644
642
  : U extends DataHash[P]
645
- ? P
646
- : never;
643
+ ? P
644
+ : never;
647
645
  }[keyof DataHash]
648
646
  >;
649
647
 
@@ -782,90 +780,83 @@ export interface WeatherDataPayload<T extends DataHash | SummaryDataHash> {
782
780
  now?: T extends SummaryDataHash ? WeatherDataNow : never;
783
781
  }
784
782
 
785
- /**
786
- * Minimal required options for RendererWeatherTable
787
- */
788
- export interface WeatherTableRenderingOptions {
783
+ export interface DetailExtendedLatLon extends LatLon {
789
784
  /**
790
- * How to display detail
785
+ * Optional name of the location
791
786
  */
792
- display: DetailDisplayType;
793
-
794
- /**
795
- * Which rows to render
796
- */
797
- rows: DetailRows[];
787
+ name?: string;
798
788
 
799
789
  /**
800
- * 1h or 3h step
790
+ * id of city label that was was clicked on (if any)
801
791
  */
802
- step: 1 | 3;
792
+ cityLabelId?: string;
803
793
 
804
794
  /**
805
- * Width of each table cell (in pixels)
795
+ * id of surf spot that was clicked on (if any)
806
796
  */
807
- tdWidth: Pixel;
797
+ surfSpotId?: string;
808
798
 
809
799
  /**
810
- * How many days to display
800
+ * id of pg spot that was clicked on (if any)
811
801
  */
812
- days: number;
802
+ pgSpotId?: string;
813
803
 
814
804
  /**
815
- * Size of weather icons
805
+ * id if tide station that was clicked on (if any)
816
806
  */
817
- iconSize: Pixel;
807
+ tideStationId?: string;
818
808
 
819
809
  /**
820
- * Array of times, when Alert was triggered
810
+ * Source, which led to opening the detail
821
811
  */
822
- timestamps?: null | Timestamp[];
812
+ source?: PluginOpenEventSource;
823
813
 
824
814
  /**
825
- * Should we display detail with Z times?
815
+ * Indicates, that the detail was just opened
826
816
  */
827
- zuluMode?: boolean;
817
+ externalOpen?: boolean;
828
818
 
829
819
  /**
830
- * Shoud we display 12 or 24h format
820
+ * Array of timestamps, that arrived from Alert notification, that should be shown
831
821
  */
832
- is12hFormat?: boolean;
822
+ timestamps?: Timestamp[] | null;
833
823
 
834
824
  /**
835
- * Content to put in header of legend
825
+ * Timestamp to which we should scroll detail
836
826
  */
837
- legendHeaderContent?: string;
827
+ scrollToTimestamp?: Timestamp;
828
+ }
838
829
 
830
+ export type WeatherTableRenderingOptions = {
839
831
  /**
840
- * Surface sea temperature if available
832
+ * Width of table element
841
833
  */
842
- sst?: number;
834
+ tdWidth: number;
843
835
 
844
836
  /**
845
- * Should backend interpolate values for 1h step
837
+ * Should we use 12h format for time?
846
838
  */
847
- interpolate?: boolean;
848
- }
839
+ is12hFormat?: boolean;
840
+ } & Pick<DetailParams, 'display' | 'step' | 'rows' | 'days'>;
849
841
 
850
842
  /**
851
843
  * Parameters used for displaying detail (point forecast)
852
844
  */
853
- export interface DetailParams extends DetailOpenParams, WeatherTableRenderingOptions {
854
- display: DetailDisplayType;
845
+ export interface DetailParams extends DetailExtendedLatLon {
855
846
  /**
856
- * Which kind of action led to displaying the detail
847
+ * Optional name of the spot
857
848
  */
858
- emitter?: 'externalOpen' | 'locationChange';
849
+ name?: string;
859
850
 
860
851
  /**
861
- * Should we display extended 10hours forecast?
852
+ * Type of display
862
853
  */
863
- extended: boolean;
854
+ display: DetailDisplayType;
864
855
 
865
856
  /**
866
- * Height of background canvas
857
+ * Should we display extended 10hours forecast?
867
858
  */
868
- height?: Pixel;
859
+ extended: boolean;
869
860
 
870
861
  /**
871
862
  * Required point product
@@ -874,37 +865,34 @@ export interface DetailParams extends DetailOpenParams, WeatherTableRenderingOpt
874
865
 
875
866
  /**
876
867
  * Required multiple point products
877
- * TODO - split to more interfaces, for multimodel and others
878
868
  */
879
869
  models?: Products[];
880
870
 
881
- //source: PluginOpenEventSource;
882
-
883
871
  /**
884
- * Type of POI that was clicked to open detail or was contained in URL on page load
872
+ * Always incrementing synchronization number, that enables
873
+ * to cancel async tasks, if we will have new version of params
874
+ * available
885
875
  */
886
- poiType?: StationOrPoiType;
876
+ syncCounter: number;
887
877
 
888
878
  /**
889
- * POI id that was clicked to open detail or was contained in URL on page load
879
+ * Which rows to render
890
880
  */
891
- id?: string;
881
+ rows: DetailRows[];
892
882
 
893
883
  /**
894
- * height of temperature background canvas
884
+ * 1h or 3h step
895
885
  */
896
- tempBgH?: Pixel;
886
+ step: 1 | 3;
897
887
 
898
888
  /**
899
- * Always incrementing synchronization number, that enables
900
- * to cancel async tasks, if we will have new version of params
901
- * available
889
+ * How many days to display
902
890
  */
903
- syncCounter: number;
891
+ days: number;
904
892
  }
905
893
 
906
894
  /**
907
- * Multimple weather models loaded by multiLoad.ts
895
+ * Multiple weather models loaded by multiLoad.ts
908
896
  */
909
897
  export interface MultiLoadPayload {
910
898
  model: PointProducts;
@@ -1020,23 +1008,32 @@ export interface BillingPlugin {
1020
1008
  export interface TimeLocal {
1021
1009
  weekday: Weekday;
1022
1010
  day: string;
1023
- month: string;
1024
- year: string;
1011
+ month?: string;
1012
+ year?: string;
1025
1013
  /** '09' */
1026
1014
  hour: string;
1027
1015
  }
1028
1016
 
1029
1017
  export interface CapAlertHeadline {
1018
+ id: string;
1030
1019
  start: Timestamp;
1031
1020
  end: Timestamp;
1032
1021
  type: CapAlertType;
1033
1022
  severity: CapAlertSeverity;
1034
- headline: string;
1023
+ headline?: string;
1035
1024
  event: string;
1036
1025
  startLocal: TimeLocal;
1037
1026
  endLocal: TimeLocal;
1038
1027
  }
1039
1028
 
1029
+ export interface ExtendedCapLine extends CapAlertHeadline {
1030
+ id: string;
1031
+ startDay: string;
1032
+ endDay: string;
1033
+ shortenedEvent: string;
1034
+ color: string;
1035
+ }
1036
+
1040
1037
  export interface CapAlertData extends CapAlertHeadline {
1041
1038
  id: string;
1042
1039
  ident: string;
@@ -1156,6 +1153,9 @@ export interface WindyServicePlugin {
1156
1153
  getId: () => Promise<{ identifier: string }>;
1157
1154
  getAppsflyerCredentials: () => Promise<{ devKey: string | undefined; appId: string }>;
1158
1155
  addWidget: (arg: WidgetType) => Promise<void>;
1156
+ isGarminAppInstalled: () => Promise<{ value: boolean }>;
1157
+ setAppIcon(arg: { iconName: CustomAppIcon }): Promise<void>;
1158
+ getAppIcon(): Promise<{ iconName: CustomAppIcon | null }>;
1159
1159
  }
1160
1160
 
1161
1161
  export interface NotificationLocationInfo {
@@ -1173,6 +1173,29 @@ export interface WindyNotificationLocationPlugin {
1173
1173
  useCustomLocation: (arg: LatLon) => Promise<void>;
1174
1174
  }
1175
1175
 
1176
+ export interface WindyLocalNotificationPlugin {
1177
+ schedule: (arg: {
1178
+ title: string;
1179
+ subtitle: string | null;
1180
+ body: string;
1181
+ timeInterval: number; // in seconds
1182
+ }) => Promise<{ id: string }>; // id of the scheduled notification
1183
+ cancel: (arg: { id: string }) => Promise<void>;
1184
+ cancelAll: () => Promise<void>;
1185
+ getPending: () => Promise<{ pending: string[] }>; // array of ids of pending notifications
1186
+ registerRetentionNotification: (arg: {
1187
+ title: string;
1188
+ subtitle: string | null;
1189
+ body: string;
1190
+ marketingId: string | null; // is used for analytics
1191
+ deepLink: string | null; // deepLink to open when the notification is clicked
1192
+ showAfter: number; // in seconds
1193
+ showUntil: number; // in seconds
1194
+ }) => Promise<{ status: 'notStarted' | 'scheduled' | 'delivered' | 'opened' | 'expired' }>; // status of the registration
1195
+ sendTestRetentionNotification: () => Promise<{ id: string }>;
1196
+ resetRetentionNotification: () => Promise<void>;
1197
+ }
1198
+
1176
1199
  /**
1177
1200
  * A migration tool for transferring old Web View local storage to a new location.
1178
1201
  * This migration is necessary when the hostname is changed in the native Capacitor configuration.
@@ -1215,10 +1238,6 @@ export interface WindyMigrationPlugin {
1215
1238
  * Marks migration as completed and restart WebView from origin
1216
1239
  */
1217
1240
  markMigrationCompleted: (opts: { reload: boolean }) => Promise<void>;
1218
- /**
1219
- * Returns migration status flag - either migrationNotPerformed or migratingData
1220
- */
1221
- getMigrationStatus: () => Promise<MigrationResult>;
1222
1241
  /**
1223
1242
  * Sends migration data to native layer
1224
1243
  */
@@ -1630,3 +1649,61 @@ interface ClientPatch {
1630
1649
  export interface ActiveStormCountPayload {
1631
1650
  activeStormCount: number;
1632
1651
  }
1652
+
1653
+ /**
1654
+ * Cap alert was slided from left to right on startup screen
1655
+ */
1656
+ export interface CapAlertSlided {
1657
+ id: string;
1658
+ expire: Timestamp;
1659
+ }
1660
+
1661
+ /**
1662
+ * Handy payload or reusable data that helps to render Forecast Table
1663
+ */
1664
+ export interface WeatherTableRenderingData {
1665
+ /**
1666
+ * Day identifiers, that were used in data object (above)
1667
+ */
1668
+ usedDays: YearMonthDay[];
1669
+
1670
+ /**
1671
+ * Loaded data.data (modified later by splicing data arrays)
1672
+ */
1673
+ data: DataHash;
1674
+
1675
+ /**
1676
+ * Length of used forecast as a umber of TD segments
1677
+ */
1678
+ dataLength: number;
1679
+
1680
+ /**
1681
+ * Start of timeline
1682
+ */
1683
+ start: Timestamp;
1684
+ end: Timestamp;
1685
+
1686
+ tsWidth: Timestamp;
1687
+ pxWidth: Pixel;
1688
+ px2ts: number;
1689
+
1690
+ /**
1691
+ * UTC offset in hours
1692
+ */
1693
+ utcOffset: Hours;
1694
+
1695
+ /**
1696
+ * UTC offset in minutes
1697
+ */
1698
+ utcOffsetMinutes: Minutes;
1699
+
1700
+ /**
1701
+ * Indicates that data payload has waves
1702
+ */
1703
+ hasWaves: boolean;
1704
+
1705
+ /**
1706
+ * Summary of days used
1707
+ */
1708
+ summary: Record<YearMonthDay, SummaryDay>;
1709
+ }