forked from lthn/blockchain
Introduces a new Angular client SDK for the Lethean Blockchain API, generated via OpenAPI Generator. Includes all necessary Angular service, model, configuration, and packaging files, and updates the Makefile to support the 'angular' target for SDK generation.
83 lines
3.4 KiB
TypeScript
Generated
83 lines
3.4 KiB
TypeScript
Generated
/**
|
|
* Lethean Blockchain API
|
|
*
|
|
*
|
|
*
|
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
* https://openapi-generator.tech
|
|
* Do not edit the class manually.
|
|
*/
|
|
import { HttpHeaders, HttpParams, HttpParameterCodec } from '@angular/common/http';
|
|
import { CustomHttpParameterCodec } from './encoder';
|
|
import { lthnConfiguration } from './configuration';
|
|
|
|
export class BaseService {
|
|
protected basePath = 'http://127.0.0.1:36943';
|
|
public defaultHeaders = new HttpHeaders();
|
|
public configuration: lthnConfiguration;
|
|
public encoder: HttpParameterCodec;
|
|
|
|
constructor(basePath?: string|string[], configuration?: lthnConfiguration) {
|
|
this.configuration = configuration || new lthnConfiguration();
|
|
if (typeof this.configuration.basePath !== 'string') {
|
|
const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;
|
|
if (firstBasePath != undefined) {
|
|
basePath = firstBasePath;
|
|
}
|
|
|
|
if (typeof basePath !== 'string') {
|
|
basePath = this.basePath;
|
|
}
|
|
this.configuration.basePath = basePath;
|
|
}
|
|
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
|
|
}
|
|
|
|
protected canConsumeForm(consumes: string[]): boolean {
|
|
return consumes.indexOf('multipart/form-data') !== -1;
|
|
}
|
|
|
|
protected addToHttpParams(httpParams: HttpParams, value: any, key?: string, isDeep: boolean = false): HttpParams {
|
|
// If the value is an object (but not a Date), recursively add its keys.
|
|
if (typeof value === 'object' && !(value instanceof Date)) {
|
|
return this.addToHttpParamsRecursive(httpParams, value, isDeep ? key : undefined, isDeep);
|
|
}
|
|
return this.addToHttpParamsRecursive(httpParams, value, key);
|
|
}
|
|
|
|
protected addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string, isDeep: boolean = false): HttpParams {
|
|
if (value === null || value === undefined) {
|
|
return httpParams;
|
|
}
|
|
if (typeof value === 'object') {
|
|
// If JSON format is preferred, key must be provided.
|
|
if (key != null) {
|
|
return isDeep
|
|
? Object.keys(value as Record<string, any>).reduce(
|
|
(hp, k) => hp.append(`${key}[${k}]`, value[k]),
|
|
httpParams,
|
|
)
|
|
: httpParams.append(key, JSON.stringify(value));
|
|
}
|
|
// Otherwise, if it's an array, add each element.
|
|
if (Array.isArray(value)) {
|
|
value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
|
|
} else if (value instanceof Date) {
|
|
if (key != null) {
|
|
httpParams = httpParams.append(key, value.toISOString());
|
|
} else {
|
|
throw Error("key may not be null if value is Date");
|
|
}
|
|
} else {
|
|
Object.keys(value).forEach(k => {
|
|
const paramKey = key ? `${key}.${k}` : k;
|
|
httpParams = this.addToHttpParamsRecursive(httpParams, value[k], paramKey);
|
|
});
|
|
}
|
|
return httpParams;
|
|
} else if (key != null) {
|
|
return httpParams.append(key, value);
|
|
}
|
|
throw Error("key may not be null if value is not object or array");
|
|
}
|
|
}
|