UNPKG

cwmsjs

Version:

CWMS Data API Library for JavaScript/TypeScript created with OpenAPI generator for use with browser webapps

100 lines (93 loc) 3.32 kB
/* tslint:disable */ /* eslint-disable */ /** * CWMS Data API * CWMS REST API for Data Retrieval * * The version of the OpenAPI document: 2.4.0-2026.3.16 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { ExpressionRating, ExpressionRatingFromJSON, ExpressionRatingFromJSONTyped, ExpressionRatingToJSON, } from './ExpressionRating'; import { TableRating, TableRatingFromJSON, TableRatingFromJSONTyped, TableRatingToJSON, } from './TableRating'; import { TransitionalRating, TransitionalRatingFromJSON, TransitionalRatingFromJSONTyped, TransitionalRatingToJSON, } from './TransitionalRating'; import { UsgsStreamRating, UsgsStreamRatingFromJSON, UsgsStreamRatingFromJSONTyped, UsgsStreamRatingToJSON, } from './UsgsStreamRating'; import { VirtualRating, VirtualRatingFromJSON, VirtualRatingFromJSONTyped, VirtualRatingToJSON, } from './VirtualRating'; /** * @type AbstractRatingMetadata * Rating Metadata * @export */ export type AbstractRatingMetadata = { ratingType: 'expression-rating' } & ExpressionRating | { ratingType: 'table' } & TableRating | { ratingType: 'transitional' } & TransitionalRating | { ratingType: 'usgs' } & UsgsStreamRating | { ratingType: 'virtual' } & VirtualRating; export function AbstractRatingMetadataFromJSON(json: any): AbstractRatingMetadata { return AbstractRatingMetadataFromJSONTyped(json, false); } export function AbstractRatingMetadataFromJSONTyped(json: any, ignoreDiscriminator: boolean): AbstractRatingMetadata { if ((json === undefined) || (json === null)) { return json; } switch (json['ratingType']) { case 'expression-rating': return {...ExpressionRatingFromJSONTyped(json, true), ratingType: 'expression-rating'}; case 'table': return {...TableRatingFromJSONTyped(json, true), ratingType: 'table'}; case 'transitional': return {...TransitionalRatingFromJSONTyped(json, true), ratingType: 'transitional'}; case 'usgs': return {...UsgsStreamRatingFromJSONTyped(json, true), ratingType: 'usgs'}; case 'virtual': return {...VirtualRatingFromJSONTyped(json, true), ratingType: 'virtual'}; default: throw new Error(`No variant of AbstractRatingMetadata exists with 'ratingType=${json['ratingType']}'`); } } export function AbstractRatingMetadataToJSON(value?: AbstractRatingMetadata | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } switch (value['ratingType']) { case 'expression-rating': return ExpressionRatingToJSON(value); case 'table': return TableRatingToJSON(value); case 'transitional': return TransitionalRatingToJSON(value as TransitionalRating); case 'usgs': return UsgsStreamRatingToJSON(value); case 'virtual': return VirtualRatingToJSON(value as VirtualRating); default: throw new Error(`No variant of AbstractRatingMetadata exists with 'ratingType=${value['ratingType']}'`); } }