mobility-toolbox-js
Version:
Toolbox for JavaScript applications in the domains of mobility and logistics.
61 lines (60 loc) • 2.04 kB
TypeScript
import HttpAPI from './HttpAPI';
import type { MocoNotification, MocoParameters } from '../types';
export interface MocoAPIOptions {
apiKey: string;
graph?: string;
simplify?: number;
ssoConfig?: string;
url?: string;
}
export type MocoParametersExtended = {
apiKey?: string;
date?: Date;
graph?: string;
sso_config?: string;
} & Omit<MocoParameters, 'apiKey' | 'graph' | 'sso_config'>;
/**
* This class provides convenience methods to use to the [geOps MOCO API](https://geops.com/de/solution/disruption-information).
*
* @example
* import { MocoAPI } from 'mobility-toolbox-js/api';
*
* const api = new MocoAPI({
* // graph: 'osm',
* // url: 'https://moco.geops.io/api/v1',
* // ssoConfig: "geopstest",
* });
*
* const notifications = await api.getNotifications();
*
* console.log('Log route:', JSON.stringify(notifications));
*
* @private
*/
declare class MocoAPI extends HttpAPI {
graph?: string;
simplify?: number;
ssoConfig?: string;
/**
* Constructor
*
* @param {Object} options Options.
*
* @param {string} options.apiKey Access key for [geOps APIs](https://developer.geops.io/).
* @param {string} [options.url='https://moco.geops.io/api/v1'] Service url.
* @param {string} [options.ssoConfig='geopstest'] SSO config to get notifications from.
* @param {string} [options.graph='osm'] Graph to use for geometries.
*/
constructor(options: MocoAPIOptions);
/**
* Get notifications from the MOCO API.
* Notifications are returned as an array of GeoJSON feature collections.
*
* @param {MocoParameters} params Request parameters.
* @param {FetchOptions} config Options for the fetch request.
* @return {Promise<MocoNotification[]>} An array of GeoJSON feature collections with coordinates in [EPSG:4326](http://epsg.io/4326).
* @public
*/
getNotifications(params?: MocoParametersExtended, config?: RequestInit): Promise<MocoNotification[]>;
}
export default MocoAPI;