ev-recharge-sdk
Version:
This API Product provides the option to manage charging at all public Shell Recharge locations. The end points provides control to start, stop and get status of the charging session.
56 lines (49 loc) • 1.55 kB
text/typescript
/**
* Shell EVLib
*
* This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import { oneOf, Schema, validateAndMap } from '../../schema';
import {
MultiLocationMarker,
multiLocationMarkerSchema,
} from '../multiLocationMarker';
import {
SingleLocationMarker,
singleLocationMarkerSchema,
} from '../singleLocationMarker';
/** This is a container type for one-of types. */
export type LocationMarker = SingleLocationMarker | MultiLocationMarker;
const discriminatorMap = {
'SingleLocation': singleLocationMarkerSchema,
'MultiLocation': multiLocationMarkerSchema,
};
export const locationMarkerSchema: Schema<LocationMarker> = oneOf(
[singleLocationMarkerSchema, multiLocationMarkerSchema],
discriminatorMap,
'markerType'
);
export namespace LocationMarker {
/**
* Validation method to narrow down union type to SingleLocationMarker type case.
*
* This is SingleLocationMarker case.
*/
export function isSingleLocationMarker(
value: unknown
): value is SingleLocationMarker {
const validationResult = validateAndMap(value, singleLocationMarkerSchema);
return validationResult.errors === false;
}
/**
* Validation method to narrow down union type to MultiLocationMarker type case.
*
* This is MultiLocationMarker case.
*/
export function isMultiLocationMarker(
value: unknown
): value is MultiLocationMarker {
const validationResult = validateAndMap(value, multiLocationMarkerSchema);
return validationResult.errors === false;
}
}