UNPKG

universal-geocoder

Version:

Universal geocoding abstraction server-side and client-side with multiple built-in providers

74 lines 4.1 kB
var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; import { BingProvider, ChainProvider, GeoPluginProvider, GoogleMapsProvider, LocationIQProvider, MapboxProvider, MapQuestProvider, NominatimProvider, OpenCageProvider, YandexProvider, defaultBingProviderOptions, defaultChainProviderOptions, defaultLocationIQProviderOptions, defaultMapboxProviderOptions, defaultMapQuestProviderOptions, defaultNominatimProviderOptions, defaultOpenCageProviderOptions, defaultYandexProviderOptions, defaultProviderOptions, } from "./provider"; import ExternalLoader from "./ExternalLoader"; var ProviderFactory = /** @class */ (function () { function ProviderFactory() { } /** * Creates Geocoder Provider instances. * @param options * Either a string representing the registered provider, or an object with the * following settings for instigating providers: * - provider: A string representing the registered provider. * @return * An object compatible with ProviderInterface, or undefined if there's not a * registered provider. */ ProviderFactory.createProvider = function (options) { var createProviderOptions = __assign(__assign({}, defaultProviderOptions), (typeof options === "string" ? { provider: options } : options)); var externalLoader = new ExternalLoader(); var provider = createProviderOptions.provider, providerOptions = __rest(createProviderOptions, ["provider"]); switch (provider) { case "bing": case "bingmaps": case "microsoft": return new BingProvider(externalLoader, __assign(__assign({}, defaultBingProviderOptions), providerOptions)); case "chain": return new ChainProvider(__assign(__assign({}, defaultChainProviderOptions), providerOptions)); case "geoplugin": return new GeoPluginProvider(externalLoader, providerOptions); case "google": case "googlemaps": return new GoogleMapsProvider(externalLoader, providerOptions); case "locationiq": return new LocationIQProvider(externalLoader, __assign(__assign({}, defaultLocationIQProviderOptions), providerOptions)); case "mapbox": return new MapboxProvider(externalLoader, __assign(__assign({}, defaultMapboxProviderOptions), providerOptions)); case "mapquest": return new MapQuestProvider(externalLoader, __assign(__assign({}, defaultMapQuestProviderOptions), providerOptions)); case "openstreetmap": case "nominatim": return new NominatimProvider(externalLoader, __assign(__assign({}, defaultNominatimProviderOptions), providerOptions)); case "opencage": return new OpenCageProvider(externalLoader, __assign(__assign({}, defaultOpenCageProviderOptions), providerOptions)); case "yandex": return new YandexProvider(externalLoader, __assign(__assign({}, defaultYandexProviderOptions), providerOptions)); default: } return undefined; }; return ProviderFactory; }()); export default ProviderFactory; //# sourceMappingURL=GeocoderProviderFactory.js.map