UNPKG

thinkgeocloudclient-js

Version:

A JavaScript library for ThinkGeo Cloud Server.

1,329 lines (1,124 loc) 102 kB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else if(typeof exports === 'object') exports["tg"] = factory(); else root["tg"] = factory(); })(window, function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "./src/index.js"); /******/ }) /************************************************************************/ /******/ ({ /***/ "./src/Advanced/BaseClient.js": /*!************************************!*\ !*** ./src/Advanced/BaseClient.js ***! \************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Eventable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Eventable */ "./src/Advanced/Eventable.js"); /* harmony import */ var _shared_Util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared/Util */ "./src/shared/Util.js"); /* harmony import */ var _shared_AccessToken__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared/AccessToken */ "./src/shared/AccessToken.js"); /* harmony import */ var _BaseClientEventType_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BaseClientEventType.js */ "./src/Advanced/BaseClientEventType.js"); /* harmony import */ var _GettingAccessTokenEventArgs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./GettingAccessTokenEventArgs */ "./src/Advanced/GettingAccessTokenEventArgs.js"); /* harmony import */ var _SendingRequestEventArgs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SendingRequestEventArgs */ "./src/Advanced/SendingRequestEventArgs.js"); /* harmony import */ var _SentRequestEventArgs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./SentRequestEventArgs */ "./src/Advanced/SentRequestEventArgs.js"); class BaseClient extends _Eventable__WEBPACK_IMPORTED_MODULE_0__["default"] { constructor(apiKey) { super(); this.baseUrls_ = [ 'https://cloud1.thinkgeo.com', 'https://cloud2.thinkgeo.com', 'https://cloud3.thinkgeo.com', 'https://cloud4.thinkgeo.com', 'https://cloud5.thinkgeo.com', 'https://cloud6.thinkgeo.com' ]; this.baseUrlIndex_ = -1; this.authNames_ = []; this.authentications_ = { 'API Key': { type: 'apiKey', in: 'query', name: 'ApiKey' }, 'Client Credentials': { type: 'oauth2' } }; if (apiKey) { this.authentications_["API Key"]["apiKey"] = apiKey; this.authNames_.push("API Key"); } } getNextCandidateBaseUri() { this.baseUrlIndex_++; if (this.baseUrls_) { let baseUrlsLength = this.baseUrls_.length; if (this.baseUrlIndex_ > baseUrlsLength - 1) { this.baseUrlIndex_ = 0; } return this.baseUrls_[this.baseUrlIndex_]; } else { throw new ThinkGeoCloudApplicationException("the urls is empty, please set it in option of client"); } } callApi(path, httpMethod, pathParams, queryParams, bodyParam, authNames, contentTypes, returnType, callback) { let params = { queryObj: queryParams } if (httpMethod.toLowerCase() === 'post') { params["setHeaderObj"] = { "Content-type": contentTypes } } let applyAuthNames = authNames === undefined ? this.authNames_ : authNames; let xhr = new XMLHttpRequest(); params = _shared_Util__WEBPACK_IMPORTED_MODULE_1__["default"].applyAuthToRequest(applyAuthNames, this.authentications_, params); let url = _shared_Util__WEBPACK_IMPORTED_MODULE_1__["default"].buildUrl(this.getNextCandidateBaseUri(), path, pathParams, params.queryObj); xhr.open(httpMethod, url, true); if(params.setHeaderObj){ _shared_Util__WEBPACK_IMPORTED_MODULE_1__["default"].setRequestHeader(xhr, params.setHeaderObj); } if (returnType) { if (returnType.toLowerCase() === 'blob') { xhr.responseType = "blob"; } else if (returnType.toLowerCase() === 'arrayBuffer') { xhr.responseType = "arrayBuffer"; } else if (returnType.toLowerCase() === 'json') { xhr.responseType = "json"; } } let sendingRequestEventArgs = new _SendingRequestEventArgs__WEBPACK_IMPORTED_MODULE_5__["default"](xhr); this.fire(sendingRequestEventArgs); if (!sendingRequestEventArgs.cancel) { if (callback) { sendingRequestEventArgs.xhr.onload = (event) => { let sentRequestEventArgs = new _SentRequestEventArgs__WEBPACK_IMPORTED_MODULE_6__["default"](sendingRequestEventArgs.xhr); this.fire(sentRequestEventArgs); if (callback) { callback(sentRequestEventArgs.xhr.status, sentRequestEventArgs.xhr.response); } } sendingRequestEventArgs.xhr.onerror = (error) => { if (callback) { callback("error", error.type); } } } if (bodyParam) { sendingRequestEventArgs.xhr.send(bodyParam); } else { sendingRequestEventArgs.xhr.send(); } } } formatResponse(response) { return response; } disposeCore() { } } /* harmony default export */ __webpack_exports__["default"] = (BaseClient); /***/ }), /***/ "./src/Advanced/BaseClientEventType.js": /*!*********************************************!*\ !*** ./src/Advanced/BaseClientEventType.js ***! \*********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony default export */ __webpack_exports__["default"] = ({ GETTINGACCESSTOKEN: "gettingaccesstoken", SENDINGREQUEST: "sendingrequest", SENTREQUEST: "sentrequest" }); /***/ }), /***/ "./src/Advanced/Disposable.js": /*!************************************!*\ !*** ./src/Advanced/Disposable.js ***! \************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); class Disposable { constructor() { this.disposed_ = false; } dispose() { if (!this.disposed_) { this.disposed_ = true; this.disposeCore(); } } disposeCore() { } } /* harmony default export */ __webpack_exports__["default"] = (Disposable); /***/ }), /***/ "./src/Advanced/Eventable.js": /*!***********************************!*\ !*** ./src/Advanced/Eventable.js ***! \***********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Disposable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Disposable */ "./src/Advanced/Disposable.js"); class Eventable extends _Disposable__WEBPACK_IMPORTED_MODULE_0__["default"] { constructor() { super(); this.listeners_ = {}; } on(type, listener) { let listeners = this.listeners_[type]; if (!listeners) { listeners = this.listeners_[type] = []; } if (listeners.indexOf(listener) === -1) { listeners.push(listener); } } fire(event) { const listeners = this.listeners_[event.type]; if (listeners) { for (let i = 0; i < listeners.length; ++i) { listeners[i].call(this, event); } } } un(type, listener) { const listeners = this.listeners_[type]; if (listeners) { const index = listeners.indexOf(listener); listeners.splice(index, 1); if (listeners.lengtxlh === 0) { delete this.listeners_[type]; } } } unAll() { this.listeners_ = {}; } disposeCore() { unAll(this); } } /* harmony default export */ __webpack_exports__["default"] = (Eventable); /***/ }), /***/ "./src/Advanced/GettingAccessTokenEventArgs.js": /*!*****************************************************!*\ !*** ./src/Advanced/GettingAccessTokenEventArgs.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _BaseClientEventType__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseClientEventType */ "./src/Advanced/BaseClientEventType.js"); class GettingAccessTokenEventArgs { constructor(xhr, cancel) { this.xhr = xhr; this.cancel = cancel; this.type = _BaseClientEventType__WEBPACK_IMPORTED_MODULE_0__["default"].GETTINGACCESSTOKEN } } /* harmony default export */ __webpack_exports__["default"] = (GettingAccessTokenEventArgs); /***/ }), /***/ "./src/Advanced/SendingRequestEventArgs.js": /*!*************************************************!*\ !*** ./src/Advanced/SendingRequestEventArgs.js ***! \*************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _BaseClientEventType__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseClientEventType */ "./src/Advanced/BaseClientEventType.js"); class SendingRequestEventArgs { constructor(xhr, cancel) { this.xhr = xhr; this.cancel = cancel; this.type = _BaseClientEventType__WEBPACK_IMPORTED_MODULE_0__["default"].SENDINGREQUEST; } } /* harmony default export */ __webpack_exports__["default"] = (SendingRequestEventArgs); /***/ }), /***/ "./src/Advanced/SentRequestEventArgs.js": /*!**********************************************!*\ !*** ./src/Advanced/SentRequestEventArgs.js ***! \**********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _BaseClientEventType__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseClientEventType */ "./src/Advanced/BaseClientEventType.js"); class SentRequestEventArgs { constructor(xhr) { this.xhr = xhr this.type = _BaseClientEventType__WEBPACK_IMPORTED_MODULE_0__["default"].SENTREQUEST; } } /* harmony default export */ __webpack_exports__["default"] = (SentRequestEventArgs); /***/ }), /***/ "./src/Advanced/ThinkGeoCloudApplicationException.js": /*!***********************************************************!*\ !*** ./src/Advanced/ThinkGeoCloudApplicationException.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); class ThinkGeoCloudApplicationException extends Error { constructor(message, code, e) { super(message); this.code = code; this.message = message; this.e = e; } } /* harmony default export */ __webpack_exports__["default"] = (ThinkGeoCloudApplicationException); /***/ }), /***/ "./src/ColorUtilities/ColorClient.js": /*!*******************************************!*\ !*** ./src/ColorUtilities/ColorClient.js ***! \*******************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Advanced/BaseClient */ "./src/Advanced/BaseClient.js"); /* harmony import */ var _Advanced_ThinkGeoCloudApplicationException__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Advanced/ThinkGeoCloudApplicationException */ "./src/Advanced/ThinkGeoCloudApplicationException.js"); class ColorClient extends _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__["default"] { constructor(apiKey) { super(apiKey); } getColorsInAnalogousFamily(options, callback) { let opts = options || {}; let inputColor = opts["color"]; let numberOfColors = opts["numberOfColors"]; // verify the required parameter 'numberOfColors' is set if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') { throw new Error("Missing the required parameter 'numberOfColors' when calling getColorsInAnalogousFamily"); } let path = '/api/v1/color/scheme/analogous/random/{numberOfColors}'; let pathParams = { 'numberOfColors': numberOfColors }; let queryParams = { 'outFormat': opts['outFormat'], }; if (inputColor) { path = '/api/v1/color/scheme/analogous/{inputColor}/{numberOfColors}'; pathParams.inputColor = inputColor; queryParams.inFormat = opts['inFormat'] } let httpMethod = 'GET'; let bodyParam = {}; var contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } getColorsInComplementaryFamily(options, callback) { let opts = options || {}; let inputColor = opts["color"]; let numberOfColors = opts["numberOfColors"]; // verify the required parameter 'numberOfColors' is set if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') { throw new Error("Missing the required parameter 'numberOfColors' when calling getColorSchemeComplementaryRandomByNumberOfColorV1"); } let path = '/api/v1/color/scheme/complementary/random/{numberOfColors}'; let pathParams = { 'numberOfColors': numberOfColors }; let queryParams = { 'outFormat': opts['outFormat'], }; if (inputColor) { path = '/api/v1/color/scheme/complementary/{inputColor}/{numberOfColors}'; pathParams.inputColor = inputColor; queryParams.inFormat = opts['inFormat']; } let httpMethod = 'GET'; let bodyParam = {}; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } getColorsInContrastingFamily(options, callback) { let opts = options || {}; let inputColor = opts["color"]; let numberOfColors = opts["numberOfColors"]; // verify the required parameter 'numberOfColors' is set if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') { throw new Error("Missing the required parameter 'numberOfColors' when calling getColorsInContrastingFamily"); } let path = '/api/v1/color/scheme/contrasting/random/{numberOfColors}'; let pathParams = { 'numberOfColors': numberOfColors }; let queryParams = { 'outFormat': opts['outFormat'], }; if (inputColor) { path = '/api/v1/color/scheme/contrasting/{inputColor}/{numberOfColors}'; pathParams.inputColor = inputColor; queryParams.inFormat = opts['inFormat'] } let httpMethod = 'GET'; let bodyParam = {}; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } getColorsInHueFamily(options, callback) { let opts = options || {}; let inputColor = opts["color"]; let numberOfColors = opts["numberOfColors"]; // verify the required parameter 'numberOfColors' is set if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') { throw new Error("Missing the required parameter 'numberOfColors' when calling getColorsInHueFamily"); } let path = '/api/v1/color/scheme/sequential/random/{numberOfColors}'; let pathParams = { 'numberOfColors': numberOfColors }; let queryParams = { 'outFormat': opts['outFormat'], }; if (inputColor) { path = '/api/v1/color/scheme/sequential/{inputColor}/{numberOfColors}'; pathParams.inputColor = inputColor; queryParams.inFormat = opts['inFormat']; } let httpMethod = 'GET'; let bodyParam = {}; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } getColorsInQualityFamily(options, callback) { let opts = options || {}; let inputColor = opts['color']; let numberOfColors = opts['numberOfColors']; // verify the required parameter 'numberOfColors' is set if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') { throw new Error("Missing the required parameter 'numberOfColors' when calling getColorsInQualityFamily"); } let path = '/api/v1/color/scheme/qualitative/random/{numberOfColors}'; let pathParams = { 'numberOfColors': numberOfColors }; let queryParams = { 'outFormat': opts['outFormat'], }; if (inputColor) { path = '/api/v1/color/scheme/qualitative/{inputColor}/{numberOfColors}'; pathParams.inputColor = inputColor; queryParams.inFormat = opts['inFormat']; } let httpMethod = 'GET'; let bodyParam = {}; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } getColorsInTetradFamily(options, callback) { let opts = options || {}; let inputColor = opts['color']; let numberOfColors = opts['numberOfColors']; // verify the required parameter 'numberOfColors' is set if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') { throw new Error("Missing the required parameter 'numberOfColors' when calling getColorSchemeTetradRandomByNumberOfColor"); } let path = '/api/v1/color/scheme/tetrad/random/{numberOfColors}'; let pathParams = { 'numberOfColors': numberOfColors }; let queryParams = { 'outFormat': opts['outFormat'], }; if (inputColor) { path = '/api/v1/color/scheme/tetrad/{inputColor}/{numberOfColors}'; pathParams.inputColor = inputColor; queryParams.inFormat = opts['inFormat']; } let httpMethod = 'GET'; let bodyParam = {}; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } getColorsInTriadFamily(options, callback) { let opts = options || {}; let inputColor = opts['color']; let numberOfColors = opts['numberOfColors']; // verify the required parameter 'numberOfColors' is set if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') { throw new Error("Missing the required parameter 'numberOfColors' when calling getColorsInTriadFamily"); } let path = '/api/v1/color/scheme/triad/random/{numberOfColors}'; let pathParams = { 'numberOfColors': numberOfColors }; let queryParams = { 'outFormat': opts['outFormat'], }; if (inputColor) { path = '/api/v1/color/scheme/triad/{inputColor}/{numberOfColors}'; pathParams.inputColor = inputColor; queryParams.inFormat = opts['inFormat']; } let httpMethod = 'GET'; let bodyParam = {}; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } } /* harmony default export */ __webpack_exports__["default"] = (ColorClient); /***/ }), /***/ "./src/Elevation/ElevationClient.js": /*!******************************************!*\ !*** ./src/Elevation/ElevationClient.js ***! \******************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Advanced/BaseClient */ "./src/Advanced/BaseClient.js"); class ElevationClient extends _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__["default"] { constructor(apiKey) { super(apiKey); } getElevationOfPoint(options, callback) { let opts = options || {}; let pointX = opts['pointX']; let pointY = opts['pointY']; let path = '/api/v1/elevation/{pointY},{pointX}'; let httpMethod = 'GET'; let pathParams = { 'pointY': pointY, 'pointX': pointX }; let queryParams = { 'Srid': opts['srid'], 'Proj4String': opts['proj4String'], 'ElevationUnit': opts['elevationUnit'], }; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, undefined, undefined, contentTypes, returnType, callback); } getElevationOfPoints(options, callback) { let opts = options || {}; let path = '/api/v1/elevation/point/multi'; let httpMethod = 'POST'; let queryParams = { 'Srid': opts['srid'], 'Proj4String': opts['proj4String'], 'ElevationUnit': opts['elevationUnit'], }; let bodyParam = JSON.stringify(opts['body']); let contentTypes = ['application/json-patch+json', 'application/json', 'text/json', 'application/_*+json']; let returnType = 'json'; this.callApi(path, httpMethod, undefined, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } getElevationOfLine(options, callback) { let opts = options || {}; let wkt = opts['wkt']; let path = '/api/v1/elevation/line'; let httpMethod = 'GET'; let pathParams = {}; let queryParams = { 'wkt': wkt, 'Srid': opts['srid'], 'Proj4String': opts['proj4String'], 'NumberOfSegments': opts['numberOfSegments'], 'ElevationUnit': opts['elevationUnit'], 'IntervalDistance': opts['intervalDistance'], 'IntervalDistanceUnit': opts['intervalDistanceUnit'], }; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, undefined, undefined, contentTypes, returnType, callback); } getGradeOfLine(options, callback) { let opts = options || {}; let wkt = opts['wkt']; let path = '/api/v1/elevation/grade/line'; let httpMethod = 'GET'; let queryParams = { 'wkt': wkt, 'Srid': opts['srid'], 'Proj4String': opts['proj4String'], 'NumberOfSegments': opts['numberOfSegments'], 'ElevationUnit': opts['elevationUnit'], 'IntervalDistance': opts['intervalDistance'], 'IntervalDistanceUnit': opts['intervalDistanceUnit'], }; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, undefined, queryParams, undefined, undefined, contentTypes, returnType, callback); } getElevationOfArea(options, callback) { let opts = options || {}; let wkt = opts['wkt']; let path = '/api/v1/elevation/area'; let httpMethod = 'GET'; let pathParams = {}; let queryParams = { 'wkt': wkt, 'Srid': opts['srid'], 'Proj4String': opts['proj4String'], 'IntervalDistance': opts['intervalDistance'], 'IntervalDistanceUnit': opts['intervalDistanceUnit'], 'ElevationUnit': opts['elevationUnit'], }; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, undefined, undefined, contentTypes, returnType, callback); } } /* harmony default export */ __webpack_exports__["default"] = (ElevationClient); /***/ }), /***/ "./src/Geocoding/GeocodingClient.js": /*!******************************************!*\ !*** ./src/Geocoding/GeocodingClient.js ***! \******************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Advanced/BaseClient */ "./src/Advanced/BaseClient.js"); class GeocodingClient extends _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__["default"] { constructor(apiKey) { super(apiKey); } search(options, callback) { let opts = options || {}; let location = opts['location']; let body = opts['body']; if (location != undefined) { this.searchByPoint(location, callback, opts); } else if (body != undefined) { this.searchBatch(opts, callback); } } searchByPoint(location, callback, options) { if (location === undefined || location === null || location === '') { throw new Error("Missing the required parameter 'searchText' when calling searchByPoint"); } let path = '/api/v2/location/geocode/{searchText}'; let httpMethod = 'GET'; let pathParams = { 'searchText': location }; let queryParams = options || {}; delete queryParams["location"]; let bodyParam = {}; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } searchBatch(options, callback) { let opts = options || {}; let path = '/api/v2/location/geocode/multi'; let httpMethod = 'POST'; let pathParams = { }; let queryParams = options || {}; delete queryParams["body"]; let bodyParam = opts['body']; let contentTypes = ['application/json-patch+json', 'application/json', 'text/json', 'application/_*+json']; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } } /* harmony default export */ __webpack_exports__["default"] = (GeocodingClient); /***/ }), /***/ "./src/MapsQuery/MapsQueryClient.js": /*!******************************************!*\ !*** ./src/MapsQuery/MapsQueryClient.js ***! \******************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Advanced/BaseClient */ "./src/Advanced/BaseClient.js"); /* harmony import */ var _constants_DistanceUnit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/DistanceUnit */ "./src/constants/DistanceUnit.js"); class MapsQueryClient extends _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__["default"] { constructor (apiKey){ super(apiKey); } /** * * @param {string} queryLayer * @param {string} wkt * @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType * @param {function(number, object) : undefined} callback * @param {{ * srid:number, * proj4String:string, * maxResults:number, * returnFeatureAttributes:boolean * featureAttributesToReturn:string[]}} options */ getFeaturesWithin(layerName, wkt, callback, options) { this._spatialQuery(layerName, wkt, 'within', callback, options); } /** * * @param {string} queryLayer * @param {string} wkt * @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType * @param {function(number, object) : undefined} callback * @param {{ * srid:number, * proj4String:string, * maxResults:number, * returnFeatureAttributes:boolean * featureAttributesToReturn:string[]}} options */ getFeaturesContaining(layerName, wkt, callback, options) { this._spatialQuery(layerName, wkt, 'containing', callback, options); } /** * * @param {string} queryLayer * @param {string} wkt * @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType * @param {function(number, object) : undefined} callback * @param {{ * srid:number, * proj4String:string, * maxResults:number, * returnFeatureAttributes:boolean * featureAttributesToReturn:string[]}} options */ getFeaturesIntersecting(layerName, wkt, callback, options) { this._spatialQuery(layerName, wkt, 'intersecting', callback, options); } /** * * @param {string} queryLayer * @param {string} wkt * @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType * @param {function(number, object) : undefined} callback * @param {{ * srid:number, * proj4String:string, * maxResults:number, * returnFeatureAttributes:boolean * featureAttributesToReturn:string[]}} options */ getFeaturesOverlapping(layerName, wkt, callback, options) { this._spatialQuery(layerName, wkt, 'overlapping', callback, options); } /** * * @param {string} queryLayer * @param {string} wkt * @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType * @param {function(number, object) : undefined} callback * @param {{ * srid:number, * proj4String:string, * maxResults:number, * returnFeatureAttributes:boolean * featureAttributesToReturn:string[]}} options */ getFeaturesTouching(layerName, wkt, callback, options) { this._spatialQuery(layerName, wkt, 'touching', callback, options); } /** * * @param {string} queryLayer * @param {string} wkt * @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType * @param {function(number, object) : undefined} callback * @param {{ * srid:number, * proj4String:string, * searchRadius:number, * searchRadiusUnit:DistanceUnit, * maxResults:number, * returnFeatureAttributes:boolean * featureAttributesToReturn:string[]}} options */ getFeaturesNearest(layerName, wkt, callback, options) { if (layerName === undefined || layerName === null || layerName === '') { throw new Error('Missing the required parameter \'layerName\' when calling getFeaturesNearest'); } if (wkt === undefined || wkt === null || wkt === '') { throw new Error('Missing the required parameter \'wkt\' when calling getFeaturesNearest'); } let opt = options || {}; let path = '/api/v1/maps/query/{queryLayer}/nearest'; let httpMethod = 'GET'; let pathParams = { queryLayer: layerName, }; let queryParams = { Wkt: wkt, Srid: opt['srid'], Proj4String: opt['proj4String'], SearchRadius: opt['searchRadius'], SearchRadiusUnit: opt['searchRadiusUnit'], MaxResults: opt['maxResults'], ReturnFeatureAttributes: opt['returnFeatureAttributes'], FeatureAttributesToReturn: opt['featureAttributesToReturn'], }; let bodyParam = null; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } /** * * @param {string} queryLayer * @param {string} wkt * @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType * @param {function(number, object) : undefined} callback * @param {{ * srid:number, * proj4String:string, * distance:number, * distanceUnit:DistanceUnit, * maxResults:number, * returnFeatureAttributes:boolean * featureAttributesToReturn:string[]}} options */ getFeaturesWithinDistance(layerName, wkt, callback, options) { if (layerName === undefined || layerName === null || layerName === '') { throw new Error('Missing the required parameter \'layerName\' when calling getFeaturesWithinDistance'); } if (wkt === undefined || wkt === null || wkt === '') { throw new Error('Missing the required parameter \'wkt\' when calling getFeaturesWithinDistance'); } let opt = options || {}; let path = '/api/v1/maps/query/{queryLayer}/within-distance'; let httpMethod = 'GET'; let pathParams = { queryLayer: layerName, }; let queryParams = { Wkt: wkt, Srid: opt['srid'], Proj4String: opt['proj4String'], Distance: opt['distance'], DistanceUnit: opt['distanceUnit'], MaxResults: opt['maxResults'], ReturnFeatureAttributes: opt['returnFeatureAttributes'], FeatureAttributesToReturn: opt['featureAttributesToReturn'], }; let bodyParam = null; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } /** * * @param {string} layerName * @param {string} wkt * @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'|'nearest'|'within-distance'} queryType * @param {function(number, object) : undefined} callback * @param {{ * srid:number, * proj4String:string, * distance:number, * distanceUnit:DistanceUnit, * searchRadius:number, * searchRadiusUnit:DistanceUnit, * maxResults:number, * returnFeatureAttributes:boolean * featureAttributesToReturn:string[]}} options */ getFeaturesCustom(layerName, wkt, queryType, callback, options){ if (layerName === undefined || layerName === null || layerName === '') { throw new Error('Missing the required parameter \'layerName\' when calling getFeaturesCustom'); } if (wkt === undefined || wkt === null || wkt === '') { throw new Error('Missing the required parameter \'wkt\' when calling getFeaturesCustom'); } if (queryType === undefined || queryType === null || queryType === '') { throw new Error('Missing the required parameter \'queryType\' when calling getFeaturesCustom'); } let opt = options || {}; let path = '/api/v1/maps/query/custom'; let httpMethod = 'POST'; let pathParams = {}; let queryParams = {}; let bodyParam = JSON.stringify({ QueryLayer: layerName, QueryType: queryType, Wkt: wkt, Srid: opt['srid'], Proj4String: opt['proj4String'], Distance: opt['distance'], DistanceUnit: opt['distanceUnit'], SearchRadius: opt['searchRadius'], SearchRadiusUnit: opt['searchRadiusUnit'], MaxResults: opt['maxResults'], ReturnFeatureAttributes: opt['returnFeatureAttributes'], FeatureAttributesToReturn: opt['featureAttributesToReturn'], }); let contentTypes = ['application/json-patch+json', 'application/json', 'text/json', 'application/_*+json']; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } /** * * @param {function(number, object) : undefined} callback */ getLayers(callback) { let path = '/api/v1/maps/query/layers'; let httpMethod = 'GET'; let pathParams = undefined; let queryParams = {}; let bodyParam = null; let contentTypes = ''; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } /** * * @param {string} queryLayer * @param {function(number, object) : undefined} callback */ getAttributesOfLayer(queryLayer, callback) { if (queryLayer === undefined || queryLayer === null || queryLayer === '') { throw new Error('Missing the required parameter \'layerName\' when calling getAttributesOfLayer'); } let path = '/api/v1/maps/query/{queryLayer}/attributes'; let httpMethod = 'GET'; let pathParams = { queryLayer: queryLayer, }; let queryParams = undefined; let bodyParam = null; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } /** * * @param {string} queryLayer * @param {string} wkt * @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType * @param {function(number, object) : undefined} callback * @param {{ * srid:number, * proj4String:string, * maxResults:number, * returnFeatureAttributes:boolean * featureAttributesToReturn:string[]}} options */ _spatialQuery(queryLayer, wkt, queryType, callback, options){ if (queryLayer === undefined || queryLayer === null || queryLayer === '') { throw new Error('Missing the required parameter \'layerName\' when calling _spatialQuery'); } if (wkt === undefined || wkt === null || wkt === '') { throw new Error('Missing the required parameter \'wkt\' when calling _spatialQuery'); } let opt = options || {}; let path = '/api/v1/maps/query/{queryLayer}/{queryType}'; let httpMethod = 'GET'; let pathParams = { queryLayer: queryLayer, queryType: queryType, }; let queryParams = { Wkt: wkt, Srid: opt['srid'], Proj4String: opt['proj4String'], MaxResults: opt['maxResults'], ReturnFeatureAttributes: opt['returnFeatureAttributes'], FeatureAttributesToReturn: opt['featureAttributesToReturn'], }; let bodyParam = null; let contentTypes = []; let returnType = 'json'; this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback); } } /* harmony default export */ __webpack_exports__["default"] = (MapsQueryClient); /***/ }), /***/ "./src/MapsTile/MapProjection.js": /*!***************************************!*\ !*** ./src/MapsTile/MapProjection.js ***! \***************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); const MapProjection = { SphericalMercator: 3857 }; Object.freeze(MapProjection); /* harmony default export */ __webpack_exports__["default"] = (MapProjection); /***/ }), /***/ "./src/MapsTile/MapsClient.js": /*!************************************!*\ !*** ./src/MapsTile/MapsClient.js ***! \************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Advanced/BaseClient */ "./src/Advanced/BaseClient.js"); /* harmony import */ var _RasterMapType__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RasterMapType */ "./src/MapsTile/RasterMapType.js"); class MapsClient extends _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__["default"] { constructor(apiKey) { super(apiKey); } getRasterTile(options, callback) { let opts = options || {}; let z = opts['z']; let x = opts['x']; let y = opts['y']; let projection = opts['projection']; let mapType = opts['mapType']; let tileSize = opts['tileSize']; let tileResolution = opts['tileResolution']; // verify the required parameter 'style' is set if (mapType === undefined || mapType === null || mapType === '') { throw new Error("Missing the required parameter 'mapType' when calling getRasterTile"); } else { switch (mapType) { case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Default: mapType = "light"; break; case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Light: case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Dark: case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Hybrid: case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Aerial: break; case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].TransparentBackground: mapType = "transparent-background"; break; default: throw new Error("The 'style' didn't match any RasterMapType"); } } // verify the required parameter 'resolution' is set if (tileResolution === undefined || tileResolution === null || tileResolution === '') { throw new Error("Missing the required parameter 'tileResolution' when calling getRasterTile"); } // verify the required parameter 'srid' is set if (projection === undefined || projection === null || projection === '') { throw new Error("Missing the required parameter 'projection' when calling getRasterTile"); } // verify the required parameter 'tileSize' is set if (tileSize === undefined || tileSize === null || tileSize === '') { throw new Error("Missing the required parameter 'tileSize' when calling getRasterTile"); } // verify the required parameter 'tileZ' is set if (z === undefined || z === null || z === '') { throw new Error("Missing the required parameter 'z' when calling getRasterTile"); } // verify the required parameter 'tileX' is set if (x === undefined || x === null || x === '') { throw new Error("Missing the required parameter 'x' when calling getRasterTile"); } // verify the required parameter 'tileY' is set if (y === undefined || y === null || y === '') { throw new Error("Missing the required parameter 'y' when calling getRasterTile"); } var fileExtension = "jpeg"; switch (style) { case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Aerial: case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Hybrid: fileExtension = "jpeg"; break; case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Light: