{"version":3,"file":"veeroute-lss-routing-angular.mjs","sources":["../../encoder.ts","../../variables.ts","../../configuration.ts","../../api/matrixService.ts","../../api/routeService.ts","../../api/systemService.ts","../../api/api.ts","../../model/attribute.ts","../../model/checkResult.ts","../../model/geopoint.ts","../../model/schemaError.ts","../../model/service.ts","../../model/timeWindow.ts","../../model/trackpoint.ts","../../model/transportType.ts","../../model/versionResult.ts","../../api.module.ts","../../veeroute-lss-routing-angular.ts"],"sourcesContent":["import { HttpParameterCodec } from '@angular/common/http';\n\n/**\n * Custom HttpParameterCodec\n * Workaround for https://github.com/angular/angular/issues/18261\n */\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\n    encodeKey(k: string): string {\n        return encodeURIComponent(k);\n    }\n    encodeValue(v: string): string {\n        return encodeURIComponent(v);\n    }\n    decodeKey(k: string): string {\n        return decodeURIComponent(k);\n    }\n    decodeValue(v: string): string {\n        return decodeURIComponent(v);\n    }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n    'csv': ',',\n    'tsv': '   ',\n    'ssv': ' ',\n    'pipes': '|'\n}\n","import { HttpParameterCodec } from '@angular/common/http';\nimport { Param } from './param';\n\nexport interface ConfigurationParameters {\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n    /**\n     * Takes care of encoding query- and form-parameters.\n     */\n    encoder?: HttpParameterCodec;\n    /**\n     * Override the default method for encoding path parameters in various\n     * <a href=\"https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values\">styles</a>.\n     * <p>\n     * See {@link README.md} for more details\n     * </p>\n     */\n    encodeParam?: (param: Param) => string;\n    /**\n     * The keys are the names in the securitySchemes section of the OpenAPI\n     * document. They should map to the value used for authentication\n     * minus any standard prefixes such as 'Basic' or 'Bearer'.\n     */\n    credentials?: {[ key: string ]: string | (() => string | undefined)};\n}\n\nexport class Configuration {\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n    /**\n     * Takes care of encoding query- and form-parameters.\n     */\n    encoder?: HttpParameterCodec;\n    /**\n     * Encoding of various path parameter\n     * <a href=\"https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values\">styles</a>.\n     * <p>\n     * See {@link README.md} for more details\n     * </p>\n     */\n    encodeParam: (param: Param) => string;\n    /**\n     * The keys are the names in the securitySchemes section of the OpenAPI\n     * document. They should map to the value used for authentication\n     * minus any standard prefixes such as 'Basic' or 'Bearer'.\n     */\n    credentials: {[ key: string ]: string | (() => string | undefined)};\n\n    constructor(configurationParameters: ConfigurationParameters = {}) {\n        this.apiKeys = configurationParameters.apiKeys;\n        this.username = configurationParameters.username;\n        this.password = configurationParameters.password;\n        this.accessToken = configurationParameters.accessToken;\n        this.basePath = configurationParameters.basePath;\n        this.withCredentials = configurationParameters.withCredentials;\n        this.encoder = configurationParameters.encoder;\n        if (configurationParameters.encodeParam) {\n            this.encodeParam = configurationParameters.encodeParam;\n        }\n        else {\n            this.encodeParam = param => this.defaultEncodeParam(param);\n        }\n        if (configurationParameters.credentials) {\n            this.credentials = configurationParameters.credentials;\n        }\n        else {\n            this.credentials = {};\n        }\n\n        // init default ApiKeyAuth credential\n        if (!this.credentials['ApiKeyAuth']) {\n            this.credentials['ApiKeyAuth'] = () => {\n                return typeof this.accessToken === 'function'\n                    ? this.accessToken()\n                    : this.accessToken;\n            };\n        }\n    }\n\n    /**\n     * Select the correct content-type to use for a request.\n     * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param contentTypes - the array of content types that are available for selection\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderContentType (contentTypes: string[]): string | undefined {\n        if (contentTypes.length === 0) {\n            return undefined;\n        }\n\n        const type = contentTypes.find((x: string) => this.isJsonMime(x));\n        if (type === undefined) {\n            return contentTypes[0];\n        }\n        return type;\n    }\n\n    /**\n     * Select the correct accept content-type to use for a request.\n     * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param accepts - the array of content types that are available for selection.\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderAccept(accepts: string[]): string | undefined {\n        if (accepts.length === 0) {\n            return undefined;\n        }\n\n        const type = accepts.find((x: string) => this.isJsonMime(x));\n        if (type === undefined) {\n            return accepts[0];\n        }\n        return type;\n    }\n\n    /**\n     * Check if the given MIME is a JSON MIME.\n     * JSON MIME examples:\n     *   application/json\n     *   application/json; charset=UTF8\n     *   APPLICATION/JSON\n     *   application/vnd.company+json\n     * @param mime - MIME (Multipurpose Internet Mail Extensions)\n     * @return True if the given MIME is JSON, false otherwise.\n     */\n    public isJsonMime(mime: string): boolean {\n        const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n        return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n    }\n\n    public lookupCredential(key: string): string | undefined {\n        const value = this.credentials[key];\n        return typeof value === 'function'\n            ? value()\n            : value;\n    }\n\n    private defaultEncodeParam(param: Param): string {\n        // This implementation exists as fallback for missing configuration\n        // and for backwards compatibility to older typescript-angular generator versions.\n        // It only works for the 'simple' parameter style.\n        // Date-handling only works for the 'date-time' format.\n        // All other styles and Date-formats are probably handled incorrectly.\n        //\n        // But: if that's all you need (i.e.: the most common use-case): no need for customization!\n\n        const value = param.dataFormat === 'date-time' && param.value instanceof Date\n            ? (param.value as Date).toISOString()\n            : param.value;\n\n        return encodeURIComponent(String(value));\n    }\n}\n","/**\n * VRt.Routing [RT]\n *\n * The version of the OpenAPI document: 7.16.2673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { General400Routing } from '../model/general400';\n// @ts-ignore\nimport { General402Routing } from '../model/general402';\n// @ts-ignore\nimport { General404Routing } from '../model/general404';\n// @ts-ignore\nimport { General429Routing } from '../model/general429';\n// @ts-ignore\nimport { General500Routing } from '../model/general500';\n// @ts-ignore\nimport { MatrixResultRouting } from '../model/matrixResult';\n// @ts-ignore\nimport { MatrixTaskRouting } from '../model/matrixTask';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    MatrixServiceInterface,\n    RunMatrixCalculationRequestParams\n} from './matrixServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class MatrixService implements MatrixServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Time-distance matrix\n     * Creating time-distance matrices between each pair of locations. The result of this method may slightly differ from the &#x60;route&#x60; method. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public runMatrixCalculation(requestParameters: RunMatrixCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<MatrixResultRouting>;\n    public runMatrixCalculation(requestParameters: RunMatrixCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<MatrixResultRouting>>;\n    public runMatrixCalculation(requestParameters: RunMatrixCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<MatrixResultRouting>>;\n    public runMatrixCalculation(requestParameters: RunMatrixCalculationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const matrixTaskRouting = requestParameters?.matrixTaskRouting;\n        if (matrixTaskRouting === null || matrixTaskRouting === undefined) {\n            throw new Error('Required parameter matrixTaskRouting was null or undefined when calling runMatrixCalculation.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/routing/matrix/calculation`;\n        return this.httpClient.request<MatrixResultRouting>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: matrixTaskRouting,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Routing [RT]\n *\n * The version of the OpenAPI document: 7.16.2673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { General400Routing } from '../model/general400';\n// @ts-ignore\nimport { General402Routing } from '../model/general402';\n// @ts-ignore\nimport { General404Routing } from '../model/general404';\n// @ts-ignore\nimport { General429Routing } from '../model/general429';\n// @ts-ignore\nimport { General500Routing } from '../model/general500';\n// @ts-ignore\nimport { RouteResultRouting } from '../model/routeResult';\n// @ts-ignore\nimport { RouteTaskRouting } from '../model/routeTask';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    RouteServiceInterface,\n    RunRouteCalculationRequestParams\n} from './routeServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class RouteService implements RouteServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Route between points\n     * Constructing a route between points, taking into account the specified order and time at each stop. When specifying the departure time &#x60;departure_time&#x60;, traffic jams are taken into account. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public runRouteCalculation(requestParameters: RunRouteCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<RouteResultRouting>;\n    public runRouteCalculation(requestParameters: RunRouteCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<RouteResultRouting>>;\n    public runRouteCalculation(requestParameters: RunRouteCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<RouteResultRouting>>;\n    public runRouteCalculation(requestParameters: RunRouteCalculationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const routeTaskRouting = requestParameters?.routeTaskRouting;\n        if (routeTaskRouting === null || routeTaskRouting === undefined) {\n            throw new Error('Required parameter routeTaskRouting was null or undefined when calling runRouteCalculation.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/routing/route/calculation`;\n        return this.httpClient.request<RouteResultRouting>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: routeTaskRouting,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Routing [RT]\n *\n * The version of the OpenAPI document: 7.16.2673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { CheckResultRouting } from '../model/checkResult';\n// @ts-ignore\nimport { General404Routing } from '../model/general404';\n// @ts-ignore\nimport { General429Routing } from '../model/general429';\n// @ts-ignore\nimport { General500Routing } from '../model/general500';\n// @ts-ignore\nimport { VersionResultRouting } from '../model/versionResult';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    SystemServiceInterface,\n    FileRequestParams\n} from './systemServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class SystemService implements SystemServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Checking the availability\n     * Checking the service availability.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public check(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CheckResultRouting>;\n    public check(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CheckResultRouting>>;\n    public check(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CheckResultRouting>>;\n    public check(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/routing/system/check`;\n        return this.httpClient.request<CheckResultRouting>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Getting the documentation\n     * Getting the file with this service documentation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public file(requestParameters: FileRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/html' | 'text/plain' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<string>;\n    public file(requestParameters: FileRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/html' | 'text/plain' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<string>>;\n    public file(requestParameters: FileRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/html' | 'text/plain' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<string>>;\n    public file(requestParameters: FileRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/html' | 'text/plain' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const filename = requestParameters?.filename;\n        if (filename === null || filename === undefined) {\n            throw new Error('Required parameter filename was null or undefined when calling file.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'text/html',\n                'text/plain',\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/routing/file/${this.configuration.encodeParam({name: \"filename\", value: filename, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<string>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Getting the service version\n     * Getting the service version.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public version(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<VersionResultRouting>;\n    public version(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<VersionResultRouting>>;\n    public version(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<VersionResultRouting>>;\n    public version(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/routing/system/version`;\n        return this.httpClient.request<VersionResultRouting>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","export * from './matrixService';\nimport { MatrixService } from './matrixService';\nexport * from './matrixServiceInterface';\nexport * from './routeService';\nimport { RouteService } from './routeService';\nexport * from './routeServiceInterface';\nexport * from './systemService';\nimport { SystemService } from './systemService';\nexport * from './systemServiceInterface';\nexport const APIS = [MatrixService, RouteService, SystemService];\n","/**\n * VRt.Routing [RT]\n *\n * The version of the OpenAPI document: 7.16.2673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Attribute.\n */\nexport interface AttributeRouting { \n  [key: string]: any | any;\n\n\n    /**\n     * Attribute\\'s key.\n     */\n    key: string;\n    /**\n     * Attribute\\'s value.\n     */\n    value: string;\n}\n\n","/**\n * VRt.Routing [RT]\n *\n * The version of the OpenAPI document: 7.16.2673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Service availability result.\n */\nexport interface CheckResultRouting { \n  [key: string]: any | any;\n\n\n    /**\n     * The current health indicator of the service.   * `0.0` means the service is not ready to perform tasks.   * `1.0` means the service is fully ready to perform tasks. \n     */\n    health: number;\n}\n\n","/**\n * VRt.Routing [RT]\n *\n * The version of the OpenAPI document: 7.16.2673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Geographical point.\n */\nexport interface GeopointRouting { \n  [key: string]: any | any;\n\n\n    /**\n     * Latitude in degrees.\n     */\n    latitude: number;\n    /**\n     * Longitude in degrees.\n     */\n    longitude: number;\n}\n\n","/**\n * VRt.Routing [RT]\n *\n * The version of the OpenAPI document: 7.16.2673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Data error by schema.\n */\nexport interface SchemaErrorRouting { \n  [key: string]: any | any;\n\n\n    /**\n     * Target entity identifier.\n     */\n    entity: string | null;\n    /**\n     * Error message.\n     */\n    message: string;\n}\n\n","/**\n * VRt.Routing [RT]\n *\n * The version of the OpenAPI document: 7.16.2673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Service name.\n */\nexport enum ServiceRouting {\n    UNIVERSAL = 'UNIVERSAL',\n    ROUTING = 'ROUTING',\n    ACCOUNT = 'ACCOUNT',\n    ADMIN = 'ADMIN',\n    STUDIO = 'STUDIO',\n    MONITOR = 'MONITOR',\n    PACKER = 'PACKER',\n    AGRO = 'AGRO'\n}\n\n","/**\n * VRt.Routing [RT]\n *\n * The version of the OpenAPI document: 7.16.2673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Time window.\n */\nexport interface TimeWindowRouting { \n  [key: string]: any | any;\n\n\n    /**\n     * Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.\n     */\n    from: string;\n    /**\n     * Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.\n     */\n    to: string;\n}\n\n","/**\n * VRt.Routing [RT]\n *\n * The version of the OpenAPI document: 7.16.2673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * A geographic point with a time reference.\n */\nexport interface TrackpointRouting { \n  [key: string]: any | any;\n\n\n    /**\n     * Latitude in degrees.\n     */\n    latitude: number;\n    /**\n     * Longitude in degrees.\n     */\n    longitude: number;\n    /**\n     * Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.\n     */\n    time?: string | null;\n}\n\n","/**\n * VRt.Routing [RT]\n *\n * The version of the OpenAPI document: 7.16.2673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Transport types:   * `CAR` - car   * `TRUCK_1500` - truck with permissible weight 1500 kg   * `TRUCK_3000` - truck with permissible weight 3000 kg   * `TRUCK_5000` - truck with permissible weight 5000 kg   * `TRUCK_10000` - truck with permissible weight 10000 kg   * `TRUCK_20000` - truck with permissible weight 20000 kg   * `TRUCK_10000_L75_H35_W24_6000` - a truck with a permitted weight of no more than 10,000 kg, dimensions of 7.5 x 3.5 x 2.4 meters, and a permissible axle load of 6,000 kg   * `TRUCK_18000_L95_H40_W26_11000` - a truck with a permitted weight of no more than 18,000 kg, dimensions of 9.5 x 4.0 x 2.6 meters, and a permissible axle load of 11,000 kg   * `TRUCK_26000_L120_H40_W26_8000` - a truck with a permitted weight of no more than 26,000 kg, dimensions of 12.0 x 4.0 x 2.6 meters, and a permissible axle load of 8000 kg   * `TRUCK_GARBAGE_1` - truck for transporting garbage (type 1)   * `TRUCK_GARBAGE_2` - truck for transporting garbage (type 2)   * `TUK_TUK` - tuk-tuk   * `BICYCLE` - bicycle   * `PEDESTRIAN` - pedestrian         * `PUBLIC_TRANSPORT` - public transport   * `TELEPORT` - teleport (instant movement between points)      Permissible weight is the weight of the equipped transport with cargo and driver, set by the manufacturer as the maximum allowable. \n */\nexport enum TransportTypeRouting {\n    CAR = 'CAR',\n    TRUCK_1500 = 'TRUCK_1500',\n    TRUCK_3000 = 'TRUCK_3000',\n    TRUCK_5000 = 'TRUCK_5000',\n    TRUCK_10000 = 'TRUCK_10000',\n    TRUCK_20000 = 'TRUCK_20000',\n    TRUCK_10000_L75_H35_W24_6000 = 'TRUCK_10000_L75_H35_W24_6000',\n    TRUCK_18000_L95_H40_W26_11000 = 'TRUCK_18000_L95_H40_W26_11000',\n    TRUCK_26000_L120_H40_W26_8000 = 'TRUCK_26000_L120_H40_W26_8000',\n    TRUCK_GARBAGE_1 = 'TRUCK_GARBAGE_1',\n    TRUCK_GARBAGE_2 = 'TRUCK_GARBAGE_2',\n    TUK_TUK = 'TUK_TUK',\n    BICYCLE = 'BICYCLE',\n    PEDESTRIAN = 'PEDESTRIAN',\n    PUBLIC_TRANSPORT = 'PUBLIC_TRANSPORT',\n    TELEPORT = 'TELEPORT'\n}\n\n","/**\n * VRt.Routing [RT]\n *\n * The version of the OpenAPI document: 7.16.2673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Service version.\n */\nexport interface VersionResultRouting { \n  [key: string]: any | any;\n\n\n    /**\n     * Product version. Within a single version, compatibility of common data structures between services is guaranteed. A version change indicates changes that are incompatible with previous versions of the product (and all services). \n     */\n    major: number;\n    /**\n     * Minor version of the service. A version change indicates new functionality. The update is backward compatible with the major version of the service. \n     */\n    minor: number;\n    /**\n     * Build version.       Contains backwards compatible bug fixes and docs update. \n     */\n    build: string;\n}\n\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\n\n@NgModule({\n  imports:      [],\n  declarations: [],\n  exports:      [],\n  providers: []\n})\nexport class LssRoutingApiModule {\n    public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<LssRoutingApiModule> {\n        return {\n            ngModule: LssRoutingApiModule,\n            providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n        };\n    }\n\n    constructor( @Optional() @SkipSelf() parentModule: LssRoutingApiModule,\n                 @Optional() http: HttpClient) {\n        if (parentModule) {\n            throw new Error('LssRoutingApiModule is already loaded. Import in your base AppModule only.');\n        }\n        if (!http) {\n            throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n            'See also https://github.com/angular/angular/issues/20575');\n        }\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.Configuration"],"mappings":"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"}