diff --git a/types/leaflet-providers/index.d.ts b/types/leaflet-providers/index.d.ts new file mode 100644 index 0000000000..537d9d5574 --- /dev/null +++ b/types/leaflet-providers/index.d.ts @@ -0,0 +1,32 @@ +// Type definitions for leaflet-providers 1.1 +// Project: https://github.com/leaflet-extras/leaflet-providers#readme +// Definitions by: BendingBender +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare namespace L { + namespace TileLayer { + class Provider extends TileLayer { + constructor(provider: string, options?: TileLayerOptions) + } + + namespace Provider { + const providers: ProvidersMap; + + interface ProvidersMap { + [providerName: string]: ProviderConfig; + } + + interface ProviderConfig { + url: string; + options?: TileLayerOptions; + variants?: { [variantName: string]: string | ProviderConfig }; + } + } + } + + namespace tileLayer { + function provider(provider: string, options?: TileLayerOptions): TileLayer.Provider; + } +} diff --git a/types/leaflet-providers/leaflet-providers-tests.ts b/types/leaflet-providers/leaflet-providers-tests.ts new file mode 100644 index 0000000000..5ab91e5b92 --- /dev/null +++ b/types/leaflet-providers/leaflet-providers-tests.ts @@ -0,0 +1,28 @@ +const map = L.map('map'); +L.tileLayer.provider('Stamen.Watercolor').addTo(map); + +L.tileLayer.provider('HERE.terrainDay', { + app_id: '', + app_code: '' +}).addTo(map); + +new L.TileLayer.Provider('MapBox').addTo(map); +new L.TileLayer.Provider('MapBox', {id: 'ID', accessToken: 'ACCESS_TOKEN'}).addTo(map); + +L.TileLayer.Provider.providers['nlmaps'] = { + url: 'https://geodata.nationaalgeoregister.nl/tiles/service/wmts/{variant}/EPSG:3857/{z}/{x}/{y}.png', + options: { + minZoom: 6, + maxZoom: 19, + bounds: [[50.5, 3.25], [54, 7.6]], + attribution: 'Kaartgegevens © Kadaster' + }, + variants: { + standaard: 'brtachtergrondkaart', + pastel: 'brtachtergrondkaartpastel', + grijs: 'brtachtergrondkaartgrijs', + luchtfoto: { + url: 'https://geodata.nationaalgeoregister.nl/luchtfoto/rgb/wmts/1.0.0/2016_ortho25/EPSG:3857/{z}/{x}/{y}.png', + } + } +}; diff --git a/types/leaflet-providers/tsconfig.json b/types/leaflet-providers/tsconfig.json new file mode 100644 index 0000000000..3cacd8e3db --- /dev/null +++ b/types/leaflet-providers/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "leaflet-providers-tests.ts" + ] +} diff --git a/types/leaflet-providers/tslint.json b/types/leaflet-providers/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/leaflet-providers/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }