cwmsjs
Version:
CWMS Data API Library for JavaScript/TypeScript created with OpenAPI generator for use with browser webapps
200 lines (191 loc) • 5.97 kB
text/typescript
/* 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 { exists, mapValues } from '../runtime';
import {
Location,
LocationFromJSON,
LocationFromJSONTyped,
LocationToJSON,
} from './Location';
/**
*
* @export
* @interface Project
*/
export interface Project {
/**
*
* @type {Location}
* @memberof Project
*/
location?: Location;
/**
*
* @type {number}
* @memberof Project
*/
federalCost?: number;
/**
*
* @type {number}
* @memberof Project
*/
nonFederalCost?: number;
/**
*
* @type {Date}
* @memberof Project
*/
costYear?: Date;
/**
*
* @type {string}
* @memberof Project
*/
costUnit?: string;
/**
*
* @type {number}
* @memberof Project
*/
federalOAndMCost?: number;
/**
*
* @type {number}
* @memberof Project
*/
nonFederalOAndMCost?: number;
/**
*
* @type {string}
* @memberof Project
*/
authorizingLaw?: string;
/**
*
* @type {string}
* @memberof Project
*/
projectOwner?: string;
/**
*
* @type {string}
* @memberof Project
*/
hydropowerDesc?: string;
/**
*
* @type {string}
* @memberof Project
*/
sedimentationDesc?: string;
/**
*
* @type {string}
* @memberof Project
*/
downstreamUrbanDesc?: string;
/**
*
* @type {string}
* @memberof Project
*/
bankFullCapacityDesc?: string;
/**
*
* @type {Location}
* @memberof Project
*/
pumpBackLocation?: Location;
/**
*
* @type {Location}
* @memberof Project
*/
nearGageLocation?: Location;
/**
*
* @type {Date}
* @memberof Project
*/
yieldTimeFrameStart?: Date;
/**
*
* @type {Date}
* @memberof Project
*/
yieldTimeFrameEnd?: Date;
/**
*
* @type {string}
* @memberof Project
*/
projectRemarks?: string;
}
export function ProjectFromJSON(json: any): Project {
return ProjectFromJSONTyped(json, false);
}
export function ProjectFromJSONTyped(json: any, ignoreDiscriminator: boolean): Project {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'location': !exists(json, 'location') ? undefined : LocationFromJSON(json['location']),
'federalCost': !exists(json, 'federal-cost') ? undefined : json['federal-cost'],
'nonFederalCost': !exists(json, 'non-federal-cost') ? undefined : json['non-federal-cost'],
'costYear': !exists(json, 'cost-year') ? undefined : (new Date(json['cost-year'])),
'costUnit': !exists(json, 'cost-unit') ? undefined : json['cost-unit'],
'federalOAndMCost': !exists(json, 'federal-o-and-m-cost') ? undefined : json['federal-o-and-m-cost'],
'nonFederalOAndMCost': !exists(json, 'non-federal-o-and-m-cost') ? undefined : json['non-federal-o-and-m-cost'],
'authorizingLaw': !exists(json, 'authorizing-law') ? undefined : json['authorizing-law'],
'projectOwner': !exists(json, 'project-owner') ? undefined : json['project-owner'],
'hydropowerDesc': !exists(json, 'hydropower-desc') ? undefined : json['hydropower-desc'],
'sedimentationDesc': !exists(json, 'sedimentation-desc') ? undefined : json['sedimentation-desc'],
'downstreamUrbanDesc': !exists(json, 'downstream-urban-desc') ? undefined : json['downstream-urban-desc'],
'bankFullCapacityDesc': !exists(json, 'bank-full-capacity-desc') ? undefined : json['bank-full-capacity-desc'],
'pumpBackLocation': !exists(json, 'pump-back-location') ? undefined : LocationFromJSON(json['pump-back-location']),
'nearGageLocation': !exists(json, 'near-gage-location') ? undefined : LocationFromJSON(json['near-gage-location']),
'yieldTimeFrameStart': !exists(json, 'yield-time-frame-start') ? undefined : (new Date(json['yield-time-frame-start'])),
'yieldTimeFrameEnd': !exists(json, 'yield-time-frame-end') ? undefined : (new Date(json['yield-time-frame-end'])),
'projectRemarks': !exists(json, 'project-remarks') ? undefined : json['project-remarks'],
};
}
export function ProjectToJSON(value?: Project | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'location': LocationToJSON(value.location),
'federal-cost': value.federalCost,
'non-federal-cost': value.nonFederalCost,
'cost-year': value.costYear === undefined ? undefined : (value.costYear.toISOString()),
'cost-unit': value.costUnit,
'federal-o-and-m-cost': value.federalOAndMCost,
'non-federal-o-and-m-cost': value.nonFederalOAndMCost,
'authorizing-law': value.authorizingLaw,
'project-owner': value.projectOwner,
'hydropower-desc': value.hydropowerDesc,
'sedimentation-desc': value.sedimentationDesc,
'downstream-urban-desc': value.downstreamUrbanDesc,
'bank-full-capacity-desc': value.bankFullCapacityDesc,
'pump-back-location': LocationToJSON(value.pumpBackLocation),
'near-gage-location': LocationToJSON(value.nearGageLocation),
'yield-time-frame-start': value.yieldTimeFrameStart === undefined ? undefined : (value.yieldTimeFrameStart.toISOString()),
'yield-time-frame-end': value.yieldTimeFrameEnd === undefined ? undefined : (value.yieldTimeFrameEnd.toISOString()),
'project-remarks': value.projectRemarks,
};
}