cwmsjs
Version:
CWMS Data API Library for JavaScript/TypeScript created with OpenAPI generator for use with browser webapps
190 lines (181 loc) • 6.46 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 {
DataColumnInfo,
DataColumnInfoFromJSON,
DataColumnInfoFromJSONTyped,
DataColumnInfoToJSON,
} from './DataColumnInfo';
import {
ParameterColumnInfo,
ParameterColumnInfoFromJSON,
ParameterColumnInfoFromJSONTyped,
ParameterColumnInfoToJSON,
} from './ParameterColumnInfo';
import {
TimeSeriesData,
TimeSeriesDataFromJSON,
TimeSeriesDataFromJSONTyped,
TimeSeriesDataToJSON,
} from './TimeSeriesData';
import {
TimeSeriesProfile,
TimeSeriesProfileFromJSON,
TimeSeriesProfileFromJSONTyped,
TimeSeriesProfileToJSON,
} from './TimeSeriesProfile';
/**
*
* @export
* @interface TimeSeriesProfileInstance
*/
export interface TimeSeriesProfileInstance {
/**
*
* @type {Array<DataColumnInfo>}
* @memberof TimeSeriesProfileInstance
*/
dataColumns?: Array<DataColumnInfo>;
/**
*
* @type {Date}
* @memberof TimeSeriesProfileInstance
*/
firstDate?: Date;
/**
*
* @type {Date}
* @memberof TimeSeriesProfileInstance
*/
lastDate?: Date;
/**
*
* @type {string}
* @memberof TimeSeriesProfileInstance
*/
locationTimeZone?: string;
/**
* The cursor to the next page of data; null if there is no more data
* @type {string}
* @memberof TimeSeriesProfileInstance
*/
readonly nextPage?: string;
/**
* The cursor to the current page of data
* @type {string}
* @memberof TimeSeriesProfileInstance
*/
readonly page?: string;
/**
*
* @type {Date}
* @memberof TimeSeriesProfileInstance
*/
pageFirstDate?: Date;
/**
*
* @type {Date}
* @memberof TimeSeriesProfileInstance
*/
pageLastDate?: Date;
/**
* The number of records fetched per-page; this may be larger than the number of records actually retrieved
* @type {number}
* @memberof TimeSeriesProfileInstance
*/
readonly pageSize?: number;
/**
*
* @type {Array<ParameterColumnInfo>}
* @memberof TimeSeriesProfileInstance
*/
parameterColumns?: Array<ParameterColumnInfo>;
/**
*
* @type {{ [key: string]: Array<TimeSeriesData>; }}
* @memberof TimeSeriesProfileInstance
*/
timeSeriesList?: { [key: string]: Array<TimeSeriesData>; };
/**
*
* @type {TimeSeriesProfile}
* @memberof TimeSeriesProfileInstance
*/
timeSeriesProfile?: TimeSeriesProfile;
/**
* The total number of records retrieved; null or not present if not supported or unknown
* @type {number}
* @memberof TimeSeriesProfileInstance
*/
readonly total?: number;
/**
*
* @type {string}
* @memberof TimeSeriesProfileInstance
*/
version?: string;
/**
*
* @type {Date}
* @memberof TimeSeriesProfileInstance
*/
versionDate?: Date;
}
export function TimeSeriesProfileInstanceFromJSON(json: any): TimeSeriesProfileInstance {
return TimeSeriesProfileInstanceFromJSONTyped(json, false);
}
export function TimeSeriesProfileInstanceFromJSONTyped(json: any, ignoreDiscriminator: boolean): TimeSeriesProfileInstance {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'dataColumns': !exists(json, 'data-columns') ? undefined : ((json['data-columns'] as Array<any>).map(DataColumnInfoFromJSON)),
'firstDate': !exists(json, 'first-date') ? undefined : (new Date(json['first-date'])),
'lastDate': !exists(json, 'last-date') ? undefined : (new Date(json['last-date'])),
'locationTimeZone': !exists(json, 'location-time-zone') ? undefined : json['location-time-zone'],
'nextPage': !exists(json, 'next-page') ? undefined : json['next-page'],
'page': !exists(json, 'page') ? undefined : json['page'],
'pageFirstDate': !exists(json, 'page-first-date') ? undefined : (new Date(json['page-first-date'])),
'pageLastDate': !exists(json, 'page-last-date') ? undefined : (new Date(json['page-last-date'])),
'pageSize': !exists(json, 'page-size') ? undefined : json['page-size'],
'parameterColumns': !exists(json, 'parameter-columns') ? undefined : ((json['parameter-columns'] as Array<any>).map(ParameterColumnInfoFromJSON)),
'timeSeriesList': !exists(json, 'time-series-list') ? undefined : json['time-series-list'],
'timeSeriesProfile': !exists(json, 'time-series-profile') ? undefined : TimeSeriesProfileFromJSON(json['time-series-profile']),
'total': !exists(json, 'total') ? undefined : json['total'],
'version': !exists(json, 'version') ? undefined : json['version'],
'versionDate': !exists(json, 'version-date') ? undefined : (new Date(json['version-date'])),
};
}
export function TimeSeriesProfileInstanceToJSON(value?: TimeSeriesProfileInstance | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'data-columns': value.dataColumns === undefined ? undefined : ((value.dataColumns as Array<any>).map(DataColumnInfoToJSON)),
'first-date': value.firstDate === undefined ? undefined : (value.firstDate.toISOString()),
'last-date': value.lastDate === undefined ? undefined : (value.lastDate.toISOString()),
'location-time-zone': value.locationTimeZone,
'page-first-date': value.pageFirstDate === undefined ? undefined : (value.pageFirstDate.toISOString()),
'page-last-date': value.pageLastDate === undefined ? undefined : (value.pageLastDate.toISOString()),
'parameter-columns': value.parameterColumns === undefined ? undefined : ((value.parameterColumns as Array<any>).map(ParameterColumnInfoToJSON)),
'time-series-list': value.timeSeriesList,
'time-series-profile': TimeSeriesProfileToJSON(value.timeSeriesProfile),
'version': value.version,
'version-date': value.versionDate === undefined ? undefined : (value.versionDate.toISOString()),
};
}