import { RouteStopIconConfig } from "./RouteStopIconConfig"; /** * A class that creates a route stop icon for the {@link MPDirectionsRenderer}. * * @export * @class MPRouteStopIconConfig * @typedef {MPRouteStopIconConfig} */ export default class MPRouteStopIconConfig implements RouteStopIconConfig{ readonly numbered: boolean; readonly label: string; readonly color: string; /** * Creates an instance of MPRouteStopIconConfig. * * @constructor * @private * @param {Mode} mode * @param {*} obj */ private constructor(numberd: boolean, label: string, color: string) { this.numbered = numberd; this.label = label; this.color = color; } /** * Internal * * Not a URL: wrapping JSON in one throws on spec-compliant URL implementations (Expo 55+). * * @returns {string} */ getImage(): string { return JSON.stringify(this); } /** * Creator for MPRouteStopIconConfig, used to decode JSON from the MapsIndoors SDK. * * @static * @param {MPRouteStopIconConfigParams} obj * @returns {MPRouteStopIconConfig} */ static create(obj: MPRouteStopIconConfigParams): MPRouteStopIconConfig { return new MPRouteStopIconConfig( obj.numbered, obj.label, obj.color ); } } /** * Parameter interface for {@link MPRouteStopIconConfig}. * * @export * @interface MPRouteStopIconConfigParams * @typedef {MPRouteStopIconConfigParams} */ export interface MPRouteStopIconConfigParams { /** * Whether the icon should be numbered. * * @type {boolean} */ numbered: boolean, /** * The label for the icon. * * @type {string} */ label: string, /** * The color for the icon. * * @type {string} */ color: string }