@windycom/plugin-devtools 3.0.0 → 3.0.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 (97) hide show
  1. package/README.md +2 -0
  2. package/package.json +1 -1
  3. package/types/client/BottomSlide.d.ts +3 -0
  4. package/types/client/Calendar.d.ts +101 -71
  5. package/types/client/Color.d.ts +19 -6
  6. package/types/client/DataTiler.d.ts +1 -1
  7. package/types/client/ExternalSveltePlugin.d.ts +6 -1
  8. package/types/client/IDB.d.ts +7 -1
  9. package/types/client/Layer.d.ts +95 -26
  10. package/types/client/LayerClasses.d.ts +5 -0
  11. package/types/client/Metric.d.ts +32 -43
  12. package/types/client/Overlay.d.ts +7 -10
  13. package/types/client/OverlayClasses.d.ts +8 -0
  14. package/types/client/Particles.d.ts +1 -1
  15. package/types/client/Plugin.d.ts +4 -0
  16. package/types/client/Product.d.ts +31 -73
  17. package/types/client/ProductClasses.d.ts +44 -0
  18. package/types/client/Renderer.d.ts +41 -13
  19. package/types/client/SveltePlugin.d.ts +7 -0
  20. package/types/client/TileLayer.d.ts +2 -2
  21. package/types/client/TopoMap.d.ts +2 -3
  22. package/types/client/WindowPlugin.d.ts +9 -5
  23. package/types/client/colorGradients.d.ts +5 -10
  24. package/types/client/colors.d.ts +1 -2
  25. package/types/client/compatibilityCheck.d.ts +1 -0
  26. package/types/client/connection.d.ts +1 -1
  27. package/types/client/d.ts.files/LabelsLayer.d.ts +2 -2
  28. package/types/client/d.ts.files/Metric.d.ts +21 -2
  29. package/types/client/d.ts.files/TileLayerCanvas.d.ts +3 -3
  30. package/types/client/d.ts.files/alerts.d.ts +2 -2
  31. package/types/client/d.ts.files/broadcast.d.ts +17 -12
  32. package/types/client/d.ts.files/dataSpecifications.d.ts +76 -53
  33. package/types/client/d.ts.files/favs.d.ts +18 -30
  34. package/types/client/d.ts.files/http.d.ts +5 -0
  35. package/types/client/d.ts.files/lib.d.ts +5 -8
  36. package/types/client/d.ts.files/plugin-params.d.ts +32 -20
  37. package/types/client/d.ts.files/plugins.d.ts +2 -3
  38. package/types/client/d.ts.files/rootScope.d.ts +14 -12
  39. package/types/client/d.ts.files/startup.d.ts +17 -11
  40. package/types/client/d.ts.files/user.d.ts +3 -0
  41. package/types/client/d.ts.files/{Webcams.d.ts → webcams.d.ts} +9 -2
  42. package/types/client/dataLoader.d.ts +2 -2
  43. package/types/client/device.d.ts +1 -0
  44. package/types/client/embed.d.ts +68 -0
  45. package/types/client/errorLogger.d.ts +28 -3
  46. package/types/client/errors.d.ts +6 -0
  47. package/types/client/externalPlugins.d.ts +2 -0
  48. package/types/client/fetch.d.ts +42 -6
  49. package/types/client/format.d.ts +2 -1
  50. package/types/client/glTileRender.d.ts +1 -7
  51. package/types/client/http.d.ts +0 -6
  52. package/types/client/idbInstances.d.ts +123 -21
  53. package/types/client/imakerMain.d.ts +49 -0
  54. package/types/client/latestBroadcasts.d.ts +1 -1
  55. package/types/client/layers.d.ts +3 -1
  56. package/types/client/legends.d.ts +1 -1
  57. package/types/client/lib.d.ts +1 -10
  58. package/types/client/libHtml.d.ts +1 -1
  59. package/types/client/liveAlerts.d.ts +5 -0
  60. package/types/client/liveAlerts.types.d.ts +28 -0
  61. package/types/client/location.d.ts +5 -0
  62. package/types/client/log.d.ts +3 -1
  63. package/types/client/map.d.ts +7 -1
  64. package/types/client/mobile.d.ts +3 -9
  65. package/types/client/models.d.ts +7 -9
  66. package/types/client/notifications.d.ts +2 -5
  67. package/types/client/overlays.d.ts +2 -1
  68. package/types/client/particleRenderers.d.ts +1 -1
  69. package/types/client/products.d.ts +54 -2
  70. package/types/client/promo.d.ts +28 -5
  71. package/types/client/pushNotifications.d.ts +7 -1
  72. package/types/client/renderCtrl.d.ts +1 -1
  73. package/types/client/renderTile.d.ts +2 -2
  74. package/types/client/renderUtils.d.ts +16 -36
  75. package/types/client/renderers.d.ts +2 -4
  76. package/types/client/reverseName.d.ts +2 -1
  77. package/types/client/rhMessage.d.ts +1 -1
  78. package/types/client/rootScope.d.ts +22 -6
  79. package/types/client/router.d.ts +8 -5
  80. package/types/client/store.d.ts +20 -52
  81. package/types/client/storeLastPosition.d.ts +4 -1
  82. package/types/client/tileInterpolator.d.ts +1 -1
  83. package/types/client/user.d.ts +2 -0
  84. package/types/client/userAlerts.d.ts +0 -4
  85. package/types/client/userFavs.d.ts +12 -0
  86. package/types/client/utils.d.ts +57 -20
  87. package/types/iconfont.d.ts +7 -0
  88. package/types/interfaces.d.ts +339 -81
  89. package/types/lang-files.d.ts +783 -19
  90. package/types/types.d.ts +352 -23
  91. package/types/client/d.ts.files/Calendar.d.ts +0 -96
  92. package/types/client/d.ts.files/Color.d.ts +0 -93
  93. package/types/client/d.ts.files/Layer.d.ts +0 -191
  94. package/types/client/d.ts.files/Renderer.d.ts +0 -44
  95. package/types/client/d.ts.files/errorLogger.d.ts +0 -35
  96. package/types/client/d.ts.files/products.d.ts +0 -61
  97. package/types/offline.d.ts +0 -100
@@ -1,46 +1,49 @@
1
1
  /**
2
2
  * Main Windy interfaces
3
3
  */
4
- import { Weekday } from '@windy/Calendar.d';
4
+ import { Weekday } from '@windy/Calendar';
5
5
  import { ExtendedTileParams } from '@windy/DataTiler.d';
6
6
  import { FavId } from '@windy/favs';
7
- import { FullRenderParameters } from '@windy/Layer.d';
7
+ import { Layers } from '@windy/Layer';
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 { PluginOpenEventSource, PluginsOpenParams, PluginsQsParams } from '@windy/plugin-params.d';
14
10
  import { Plugins } from '@windy/plugins.d';
11
+ import { DataQuality } from '@windy/Product';
15
12
  import { Isolines, Levels, Overlays, PointProducts, Products } from '@windy/rootScope.d';
16
13
  import {
17
14
  BatteryPreferences,
18
15
  CapAlertInfo,
19
16
  CapAlertSeverity,
20
17
  CapAlertType,
18
+ CustomAppIcon,
21
19
  DetailDisplayType,
22
20
  DetailRows,
23
21
  Directions,
24
22
  GoogleServicesPreferences,
25
23
  GpsPreferences,
24
+ Hours,
26
25
  ISODateString,
27
26
  LocationPreferences,
28
27
  MeteogramLayers,
29
28
  MeteogramLevels,
29
+ Minutes,
30
30
  NotificationPreferences,
31
31
  NumOrNull,
32
32
  NumValue,
33
+ ParticlesIdent,
33
34
  Path,
35
+ PatternType,
34
36
  Pixel,
35
37
  Platform,
36
- StationOrPoiType,
38
+ RenderChannels,
39
+ SubTier,
37
40
  Timestamp,
41
+ TransformFunction,
38
42
  WidgetNotificationPreferences,
39
43
  WidgetType,
40
44
  YearMonthDay,
41
- type MigrationResult,
42
- type SubTier,
43
45
  } from '@windy/types.d';
46
+ import type { PaddingOptions, RequireAtLeastOne } from '@windycom/maplibre-gl';
44
47
 
45
48
  export interface ExportedObj {
46
49
  default?: unknown;
@@ -254,12 +257,11 @@ export interface AlertProps {
254
257
  }
255
258
 
256
259
  export interface WeatherParameters {
257
- acRange: Timestamp;
260
+ acRange: Hours;
258
261
  overlay: Overlays;
259
262
  level: Levels;
260
263
  isolinesType: Isolines;
261
264
  isolinesOn: boolean;
262
- path: Path;
263
265
  product: Products;
264
266
  }
265
267
 
@@ -325,7 +327,7 @@ export interface Celestial {
325
327
  /**
326
328
  * TZ offset in hours
327
329
  */
328
- TZoffset: number;
330
+ TZoffset: Hours;
329
331
 
330
332
  /**
331
333
  * TZ offset nicely formatted
@@ -335,7 +337,7 @@ export interface Celestial {
335
337
  /**
336
338
  * TZ offset in minutes
337
339
  */
338
- TZoffsetMin: number;
340
+ TZoffsetMin: Minutes;
339
341
 
340
342
  /**
341
343
  * Type of TZ type t..terrestrial, n..nautical
@@ -344,6 +346,7 @@ export interface Celestial {
344
346
 
345
347
  /**
346
348
  * Determines probability if the location is at sea or not as number from 1..0
349
+ * Unfortunately the number is inverted, so 1 means land, and 0 means sea
347
350
  */
348
351
  atSea: number;
349
352
 
@@ -490,7 +493,6 @@ export interface IsDay {
490
493
  /**
491
494
  * Weather data object as received from backend (full version)
492
495
  */
493
-
494
496
  export interface DataHash extends SummaryDataHash, IsDay {
495
497
  /**
496
498
  * Day identifier
@@ -510,7 +512,7 @@ export interface DataHash extends SummaryDataHash, IsDay {
510
512
  /**
511
513
  * Local Time hour for given place in 24h format
512
514
  */
513
- hour: number[];
515
+ hour: Hours[];
514
516
 
515
517
  /**
516
518
  * Weather icon identifier
@@ -642,11 +644,85 @@ export type PickDataHashPropsByType<U, Strict = true> = Pick<
642
644
  : never
643
645
  : never
644
646
  : U extends DataHash[P]
645
- ? P
646
- : never;
647
+ ? P
648
+ : never;
647
649
  }[keyof DataHash]
648
650
  >;
649
651
 
652
+ export interface AirQDataHash extends IsDay {
653
+ /**
654
+ * Timestamp of beginning of segment
655
+ */
656
+ ts: Timestamp[];
657
+
658
+ /**
659
+ * Day identifier
660
+ */
661
+ day: YearMonthDay[];
662
+
663
+ /**
664
+ * Local Time hour for given place in 24h format
665
+ */
666
+ hour: Hours[];
667
+
668
+ /**
669
+ * CAMS airq properties
670
+ */
671
+ aqiUs: NumValue[];
672
+ /**
673
+ * Concentration of carbon monoxide (CO) in the air.
674
+ */
675
+ chemsCosc: NumValue[];
676
+ /**
677
+ * Concentration of dust particles (coarse particulate matter) in the air.
678
+ */
679
+ chemsDustsm: NumValue[];
680
+ /**
681
+ * Concentration of sulfur dioxide (SO2) in the air.
682
+ */
683
+ chemsSo2sm: NumValue[];
684
+ /**
685
+ * Ground-level ozone (O3) concentration.
686
+ */
687
+ go3: NumValue[];
688
+ /**
689
+ * Nitrogen dioxide (NO2) concentration.
690
+ */
691
+ no2: NumValue[];
692
+ /**
693
+ * Particulate matter with a diameter of 10 micrometers or less.
694
+ */
695
+ pm10: NumValue[];
696
+ /**
697
+ * Particulate matter with a diameter of 2.5 micrometers or less.
698
+ */
699
+ pm2p5: NumValue[];
700
+ /**
701
+ * Concentration of Alder pollen.
702
+ */
703
+ pollenAlder?: NumValue[];
704
+ /**
705
+ * Concentration of Birch pollen.
706
+ */
707
+ pollenBirch?: NumValue[];
708
+ /**
709
+ * Concentration of Grass pollen.
710
+ */
711
+ pollenGrass?: NumValue[];
712
+ /**
713
+ * Concentration of Mugwort pollen.
714
+ */
715
+ pollenMugwort?: NumValue[];
716
+ /**
717
+ * Concentration of Olive pollen.
718
+ */
719
+ pollenOlive?: NumValue[];
720
+ /**
721
+ * Concentration of Ragweed pollen.
722
+ */
723
+ pollenRagweed?: NumValue[];
724
+ }
725
+
650
726
  /**
651
727
  * node-forecast header object
652
728
  */
@@ -774,7 +850,9 @@ export interface WeatherDataNow {
774
850
  /**
775
851
  * Weather data or Summary Weather data JSON as received from node-forecast
776
852
  */
777
- export interface WeatherDataPayload<T extends DataHash | SummaryDataHash> {
853
+ export interface WeatherDataPayload<
854
+ T extends DataHash | SummaryDataHash | AirQDataHash = DataHash,
855
+ > {
778
856
  header: NodeForecastHeader;
779
857
  celestial: Celestial;
780
858
  summary: Record<YearMonthDay, SummaryDay>;
@@ -782,90 +860,83 @@ export interface WeatherDataPayload<T extends DataHash | SummaryDataHash> {
782
860
  now?: T extends SummaryDataHash ? WeatherDataNow : never;
783
861
  }
784
862
 
785
- /**
786
- * Minimal required options for RendererWeatherTable
787
- */
788
- export interface WeatherTableRenderingOptions {
863
+ export interface DetailExtendedLatLon extends LatLon {
789
864
  /**
790
- * How to display detail
865
+ * Optional name of the location
791
866
  */
792
- display: DetailDisplayType;
867
+ name?: string;
793
868
 
794
869
  /**
795
- * Which rows to render
870
+ * id of city label that was was clicked on (if any)
796
871
  */
797
- rows: DetailRows[];
872
+ cityLabelId?: string;
798
873
 
799
874
  /**
800
- * 1h or 3h step
875
+ * id of surf spot that was clicked on (if any)
801
876
  */
802
- step: 1 | 3;
877
+ surfSpotId?: string;
803
878
 
804
879
  /**
805
- * Width of each table cell (in pixels)
880
+ * id of pg spot that was clicked on (if any)
806
881
  */
807
- tdWidth: Pixel;
882
+ pgSpotId?: string;
808
883
 
809
884
  /**
810
- * How many days to display
885
+ * id if tide station that was clicked on (if any)
811
886
  */
812
- days: number;
887
+ tideStationId?: string;
813
888
 
814
889
  /**
815
- * Size of weather icons
890
+ * Source, which led to opening the detail
816
891
  */
817
- iconSize: Pixel;
892
+ source?: PluginOpenEventSource;
818
893
 
819
894
  /**
820
- * Array of times, when Alert was triggered
895
+ * Indicates, that the detail was just opened
821
896
  */
822
- timestamps?: null | Timestamp[];
897
+ externalOpen?: boolean;
823
898
 
824
899
  /**
825
- * Should we display detail with Z times?
900
+ * Array of timestamps, that arrived from Alert notification, that should be shown
826
901
  */
827
- zuluMode?: boolean;
902
+ timestamps?: Timestamp[] | null;
828
903
 
829
904
  /**
830
- * Shoud we display 12 or 24h format
905
+ * Timestamp to which we should scroll detail
831
906
  */
832
- is12hFormat?: boolean;
833
-
834
- /**
835
- * Content to put in header of legend
836
- */
837
- legendHeaderContent?: string;
907
+ scrollToTimestamp?: Timestamp;
908
+ }
838
909
 
910
+ export type WeatherTableRenderingOptions = {
839
911
  /**
840
- * Surface sea temperature if available
912
+ * Width of table element
841
913
  */
842
- sst?: number;
914
+ tdWidth: number;
843
915
 
844
916
  /**
845
- * Should backend interpolate values for 1h step
917
+ * Should we use 12h format for time?
846
918
  */
847
- interpolate?: boolean;
848
- }
919
+ is12hFormat?: boolean;
920
+ } & Pick<DetailParams, 'display' | 'step' | 'days'>;
849
921
 
850
922
  /**
851
923
  * Parameters used for displaying detail (point forecast)
852
924
  */
853
- export interface DetailParams extends DetailOpenParams, WeatherTableRenderingOptions {
854
- display: DetailDisplayType;
925
+ export interface DetailParams extends DetailExtendedLatLon {
855
926
  /**
856
- * Which kind of action led to displaying the detail
927
+ * Optional name of the spot
857
928
  */
858
- emitter?: 'externalOpen' | 'locationChange';
929
+ name?: string;
859
930
 
860
931
  /**
861
- * Should we display extended 10hours forecast?
932
+ * Type of display
862
933
  */
863
- extended: boolean;
934
+ display: DetailDisplayType;
864
935
 
865
936
  /**
866
- * Height of background canvas
937
+ * Should we display extended 10hours forecast?
867
938
  */
868
- height?: Pixel;
939
+ extended: boolean;
869
940
 
870
941
  /**
871
942
  * Required point product
@@ -874,37 +945,34 @@ export interface DetailParams extends DetailOpenParams, WeatherTableRenderingOpt
874
945
 
875
946
  /**
876
947
  * Required multiple point products
877
- * TODO - split to more interfaces, for multimodel and others
878
948
  */
879
949
  models?: Products[];
880
950
 
881
- //source: PluginOpenEventSource;
882
-
883
951
  /**
884
- * Type of POI that was clicked to open detail or was contained in URL on page load
952
+ * Always incrementing synchronization number, that enables
953
+ * to cancel async tasks, if we will have new version of params
954
+ * available
885
955
  */
886
- poiType?: StationOrPoiType;
956
+ syncCounter: number;
887
957
 
888
958
  /**
889
- * POI id that was clicked to open detail or was contained in URL on page load
959
+ * Which rows to render
890
960
  */
891
- id?: string;
961
+ rows: DetailRows[];
892
962
 
893
963
  /**
894
- * height of temperature background canvas
964
+ * 1h or 3h step
895
965
  */
896
- tempBgH?: Pixel;
966
+ step: 1 | 3;
897
967
 
898
968
  /**
899
- * Always incrementing synchronization number, that enables
900
- * to cancel async tasks, if we will have new version of params
901
- * available
969
+ * How many days to display
902
970
  */
903
- syncCounter: number;
971
+ days: number;
904
972
  }
905
973
 
906
974
  /**
907
- * Multimple weather models loaded by multiLoad.ts
975
+ * Multiple weather models loaded by multiLoad.ts
908
976
  */
909
977
  export interface MultiLoadPayload {
910
978
  model: PointProducts;
@@ -1020,23 +1088,32 @@ export interface BillingPlugin {
1020
1088
  export interface TimeLocal {
1021
1089
  weekday: Weekday;
1022
1090
  day: string;
1023
- month: string;
1024
- year: string;
1091
+ month?: string;
1092
+ year?: string;
1025
1093
  /** '09' */
1026
1094
  hour: string;
1027
1095
  }
1028
1096
 
1029
1097
  export interface CapAlertHeadline {
1098
+ id: string;
1030
1099
  start: Timestamp;
1031
1100
  end: Timestamp;
1032
1101
  type: CapAlertType;
1033
1102
  severity: CapAlertSeverity;
1034
- headline: string;
1103
+ headline?: string;
1035
1104
  event: string;
1036
1105
  startLocal: TimeLocal;
1037
1106
  endLocal: TimeLocal;
1038
1107
  }
1039
1108
 
1109
+ export interface ExtendedCapLine extends CapAlertHeadline {
1110
+ id: string;
1111
+ startDay: string;
1112
+ endDay: string;
1113
+ shortenedEvent: string;
1114
+ color: string;
1115
+ }
1116
+
1040
1117
  export interface CapAlertData extends CapAlertHeadline {
1041
1118
  id: string;
1042
1119
  ident: string;
@@ -1150,12 +1227,16 @@ export interface WindyServicePlugin {
1150
1227
  getGoogleServicesAvailability: () => Promise<GoogleServicesPreferences>;
1151
1228
  getWidgetNotificationPermissions: () => Promise<WidgetNotificationPreferences>;
1152
1229
  openWidgetNotificationSettings: () => Promise<void>;
1153
- getBackgroundLocationPermission: () => Promise<GpsPreferences>;
1230
+ getBackgroundLocationPermission: () => Promise<BatteryPreferences>;
1231
+ getBatteryStatus: () => Promise<BatteryPreferences>;
1154
1232
  openBackgroundLocationSettings: () => Promise<void>;
1155
1233
  logError: (arg: { moduleName: string; msg: string; error?: string }) => Promise<void>;
1156
1234
  getId: () => Promise<{ identifier: string }>;
1157
1235
  getAppsflyerCredentials: () => Promise<{ devKey: string | undefined; appId: string }>;
1158
1236
  addWidget: (arg: WidgetType) => Promise<void>;
1237
+ isGarminAppInstalled: () => Promise<{ value: boolean }>;
1238
+ setAppIcon(arg: { iconName: CustomAppIcon }): Promise<void>;
1239
+ getAppIcon(): Promise<{ iconName: CustomAppIcon | null }>;
1159
1240
  }
1160
1241
 
1161
1242
  export interface NotificationLocationInfo {
@@ -1173,6 +1254,29 @@ export interface WindyNotificationLocationPlugin {
1173
1254
  useCustomLocation: (arg: LatLon) => Promise<void>;
1174
1255
  }
1175
1256
 
1257
+ export interface WindyLocalNotificationPlugin {
1258
+ schedule: (arg: {
1259
+ title: string;
1260
+ subtitle: string | null;
1261
+ body: string;
1262
+ timeInterval: number; // in seconds
1263
+ }) => Promise<{ id: string }>; // id of the scheduled notification
1264
+ cancel: (arg: { id: string }) => Promise<void>;
1265
+ cancelAll: () => Promise<void>;
1266
+ getPending: () => Promise<{ pending: string[] }>; // array of ids of pending notifications
1267
+ registerRetentionNotification: (arg: {
1268
+ title: string;
1269
+ subtitle: string | null;
1270
+ body: string;
1271
+ marketingId: string | null; // is used for analytics
1272
+ deepLink: string | null; // deepLink to open when the notification is clicked
1273
+ showAfter: number; // in seconds
1274
+ showUntil: number; // in seconds
1275
+ }) => Promise<{ status: 'notStarted' | 'scheduled' | 'delivered' | 'opened' | 'expired' }>; // status of the registration
1276
+ sendTestRetentionNotification: () => Promise<{ id: string }>;
1277
+ resetRetentionNotification: () => Promise<void>;
1278
+ }
1279
+
1176
1280
  /**
1177
1281
  * A migration tool for transferring old Web View local storage to a new location.
1178
1282
  * This migration is necessary when the hostname is changed in the native Capacitor configuration.
@@ -1215,10 +1319,6 @@ export interface WindyMigrationPlugin {
1215
1319
  * Marks migration as completed and restart WebView from origin
1216
1320
  */
1217
1321
  markMigrationCompleted: (opts: { reload: boolean }) => Promise<void>;
1218
- /**
1219
- * Returns migration status flag - either migrationNotPerformed or migratingData
1220
- */
1221
- getMigrationStatus: () => Promise<MigrationResult>;
1222
1322
  /**
1223
1323
  * Sends migration data to native layer
1224
1324
  */
@@ -1630,3 +1730,161 @@ interface ClientPatch {
1630
1730
  export interface ActiveStormCountPayload {
1631
1731
  activeStormCount: number;
1632
1732
  }
1733
+
1734
+ /**
1735
+ * These properties are passed directly to renderer by enhancing returned params
1736
+ */
1737
+ interface RenderParams {
1738
+ /**
1739
+ * Which channels contain tile rendering data
1740
+ */
1741
+ renderFrom?: RenderChannels;
1742
+
1743
+ /**
1744
+ * Not confirmed: Display map as a sea, meaning the sea layers are below surface layers
1745
+ */
1746
+ sea?: boolean;
1747
+
1748
+ /**
1749
+ * Display map as a land, meaning the sea area is hidden with mask
1750
+ */
1751
+ landOnly?: boolean;
1752
+
1753
+ /**
1754
+ * Identifier of particle type
1755
+ */
1756
+ particlesIdent?: ParticlesIdent;
1757
+
1758
+ /**
1759
+ * Uses two instances of Color for rendering
1760
+ */
1761
+ isMultiColor?: boolean;
1762
+
1763
+ /**
1764
+ * Should green channel be interpolated to nearest discreet value
1765
+ */
1766
+ interpolateNearestG?: boolean;
1767
+
1768
+ /**
1769
+ * Name of interpolator method
1770
+ */
1771
+ interpolate?: 'interpolateOverlay' | 'interpolateWaves';
1772
+
1773
+ /**
1774
+ * Used patternator
1775
+ */
1776
+ pattern?: PatternType;
1777
+ }
1778
+
1779
+ /**
1780
+ * Set of params required to render the layer
1781
+ */
1782
+ interface FullRenderParameters extends WeatherParameters, RenderParams {
1783
+ layer: Layers;
1784
+ JPGtransparency?: boolean;
1785
+ PNGtransparency?: boolean;
1786
+ transformR?: TransformFunction;
1787
+ transformG?: TransformFunction;
1788
+ transformB?: TransformFunction;
1789
+ directory: string;
1790
+
1791
+ /**
1792
+ * Specify zoom of mercator data tiles in dependence of map zoom
1793
+ */
1794
+ dataQuality?: DataQuality;
1795
+ maxTileZoom?: {
1796
+ free: number;
1797
+ premium: number;
1798
+ };
1799
+
1800
+ /**
1801
+ * bump data quality by 1 level for particular overlay/layer
1802
+ */
1803
+ upgradeDataQuality?: boolean;
1804
+
1805
+ /**
1806
+ * Force to select particular zoom of data tiles
1807
+ */
1808
+ dataTilesZoom?: number;
1809
+
1810
+ level: Levels;
1811
+ refTime: Path;
1812
+ fullPath: string;
1813
+ path: Path;
1814
+
1815
+ /**
1816
+ * Optional accumulation range in hours
1817
+ */
1818
+ acRangeInHours?: number;
1819
+
1820
+ fileSuffix?: 'png' | 'jpg' | 'json';
1821
+ }
1822
+
1823
+ /*
1824
+ * Cap alert was slided from left to right on startup screen
1825
+ */
1826
+ export interface CapAlertSlided {
1827
+ id: string;
1828
+ expire: Timestamp;
1829
+ }
1830
+
1831
+ /**
1832
+ * Handy payload or reusable data that helps to render Forecast Table
1833
+ */
1834
+ export interface WeatherTableRenderingData<T extends DataHash | AirQDataHash = DataHash> {
1835
+ /**
1836
+ * Day identifiers, that were used in data object (above)
1837
+ */
1838
+ usedDays: YearMonthDay[];
1839
+
1840
+ /**
1841
+ * Loaded data.data (modified later by splicing data arrays)
1842
+ */
1843
+ data: T;
1844
+
1845
+ /**
1846
+ * Type of the data above
1847
+ */
1848
+ dataType: 'forecast' | 'airq';
1849
+
1850
+ /**
1851
+ * Length of used forecast as a umber of TD segments
1852
+ */
1853
+ dataLength: number;
1854
+
1855
+ /**
1856
+ * Start of timeline
1857
+ */
1858
+ start: Timestamp;
1859
+ end: Timestamp;
1860
+
1861
+ tsWidth: Timestamp;
1862
+ pxWidth: Pixel;
1863
+ px2ts: number;
1864
+ tdWidth: Pixel;
1865
+
1866
+ /**
1867
+ * UTC offset in hours
1868
+ */
1869
+ utcOffset: Hours;
1870
+
1871
+ /**
1872
+ * UTC offset in minutes
1873
+ */
1874
+ utcOffsetMinutes: Minutes;
1875
+
1876
+ /**
1877
+ * Indicates that data payload has waves
1878
+ */
1879
+ hasWaves: boolean;
1880
+
1881
+ /**
1882
+ * Summary of days used
1883
+ */
1884
+ summary: Record<YearMonthDay, SummaryDay>;
1885
+ }
1886
+
1887
+ export interface SimplifiedGetBoundsOptions {
1888
+ animate?: boolean;
1889
+ padding?: RequireAtLeastOne<PaddingOptions>;
1890
+ }