From 1e8400f11d57f6fcdea85ab8eee2068214593ad5 Mon Sep 17 00:00:00 2001 From: Vijayan Balasubramanian Date: Thu, 2 Feb 2023 16:22:53 -0800 Subject: [PATCH] Refactor tests Create layer interface to abstract common properties. Signed-off-by: Vijayan Balasubramanian --- public/model/map/layer_operations.ts | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/public/model/map/layer_operations.ts b/public/model/map/layer_operations.ts index 7c3cfd99..06241b2f 100644 --- a/public/model/map/layer_operations.ts +++ b/public/model/map/layer_operations.ts @@ -48,16 +48,20 @@ export const updateLayerVisibility = (map: Maplibre, layerId: string, visibility }); }; -export interface LineLayerSpecification { +// Common properties that every DashboardMap layer contains +interface Layer { sourceId: string; - visibility: string; - color: string; opacity: number; - width: number; minZoom: number; maxZoom: number; } +export interface LineLayerSpecification extends Layer { + visibility: string; + color: string; + width: number; +} + export const addLineLayer = ( map: Maplibre, specification: LineLayerSpecification, @@ -90,16 +94,12 @@ export const updateLineLayer = ( return lineLayerId; }; -export interface CircleLayerSpecification { - sourceId: string; +export interface CircleLayerSpecification extends Layer { visibility: string; fillColor: string; outlineColor: string; radius: number; - opacity: number; width: number; - minZoom: number; - maxZoom: number; } export const addCircleLayer = ( @@ -137,15 +137,11 @@ export const updateCircleLayer = ( return circleLayerId; }; -export interface PolygonLayerSpecification { - sourceId: string; +export interface PolygonLayerSpecification extends Layer { visibility: string; fillColor: string; outlineColor: string; - opacity: number; width: number; - minZoom: number; - maxZoom: number; } export const addPolygonLayer = (