diff --git a/types/leaflet/index.d.ts b/types/leaflet/index.d.ts index 8402d8bc9b..c9f960b3e6 100644 --- a/types/leaflet/index.d.ts +++ b/types/leaflet/index.d.ts @@ -494,7 +494,11 @@ export interface TileLayerOptions extends GridLayerOptions { zoomReverse?: boolean; detectRetina?: boolean; crossOrigin?: boolean; - [name: string]: any; + // [name: string]: any; + // You are able add additional properties, but it makes this interface unchackable. + // See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/15313 + // Example: + // tileLayer = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png?{foo}&{bar}&{abc}', {foo: 'bar', bar: (data: any) => 'foo', abc: () => ''}); } export class TileLayer extends GridLayer { diff --git a/types/leaflet/leaflet-tests.ts b/types/leaflet/leaflet-tests.ts index d1375fa83f..87779c6de7 100644 --- a/types/leaflet/leaflet-tests.ts +++ b/types/leaflet/leaflet-tests.ts @@ -227,9 +227,6 @@ tileLayerOptions = { pane: '', className: '', keepBuffer: 1, - foo: 'bar', - bar: () => 'foo', - abc: (data: any) => 'foobar' }; tileLayerOptions.subdomains = 'a'; @@ -245,11 +242,9 @@ tileLayerOptions.bounds = latLngBoundsLiteral; let tileLayer: L.TileLayer; tileLayer = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png'); tileLayer = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', tileLayerOptions); -tileLayer = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png?{foo}&{bar}&{abc}', {foo: 'bar', bar: (data: any) => 'foo', abc: () => ''}); tileLayer = new L.TileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png'); tileLayer = new L.TileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', tileLayerOptions); -tileLayer = new L.TileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png?{foo}&{bar}&{abc}', {foo: 'bar', bar: (data: any) => 'foo', abc: () => ''}); // imageOverlay let imageOverlayOptions: L.ImageOverlayOptions;