From 5d2a30f0ba2fcd7679bc7d863675b8c131a01a5f Mon Sep 17 00:00:00 2001 From: Weffe <6274727+Weffe@users.noreply.github.com> Date: Sat, 22 Feb 2025 00:44:21 +0000 Subject: [PATCH] fix: slow intersections with interface + extends --- src/types.ts | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/src/types.ts b/src/types.ts index 63cb03d..271c4ed 100644 --- a/src/types.ts +++ b/src/types.ts @@ -199,19 +199,27 @@ export type IAzureMapLifecycleEvent = { [property in IAzureMapLayerLifecycleEvents]: (e: atlas.layer.Layer) => void } +export interface IAzureLayerStatefulProviderOptions + extends SymbolLayerOptions, + HeatMapLayerOptions, + ImageLayerOptions, + LineLayerOptions, + PolygonExtrusionLayerOptions, + PolygonLayerOptions, + TileLayerOptions, + BubbleLayerOptions, + LayerOptions { + opacity: HeatMapLayerOptions['opacity'] & + ImageLayerOptions['opacity'] & + TileLayerOptions['opacity'] + color: HeatMapLayerOptions['color'] & BubbleLayerOptions['color'] + radius: HeatMapLayerOptions['radius'] & BubbleLayerOptions['radius'] + fillOpacity: PolygonExtrusionLayerOptions['fillOpacity'] & PolygonLayerOptions['fillOpacity'] +} + export type IAzureLayerStatefulProviderProps = { id?: string - options?: - | (SymbolLayerOptions & - HeatMapLayerOptions & - ImageLayerOptions & - LineLayerOptions & - PolygonExtrusionLayerOptions & - PolygonLayerOptions & - TileLayerOptions & - BubbleLayerOptions & - LayerOptions) - | Options + options?: IAzureLayerStatefulProviderOptions | Options type: IAzureMapLayerType events?: IAzureMapLayerEvent | any onCreateCustomLayer?: (dataSourceRef: DataSourceType, mapRef: MapType | null) => atlas.layer.Layer