@ekoopensource/sdk
Version:
Ekoopensource sdk to connect to the ekoopnsource grids and services
58 lines (51 loc) • 1.79 kB
text/typescript
import config = require('./config');
import ocxMethods from './src/utils/util'
import * as dataSchemas from './src/utils/DataSchema';
import Wrapper from './src/apis/wrapper';
import objectAssignDeep = require('object-assign-deep');
export class EOS {
options: dataSchemas.Options;
/**
* Initiate client instance
* @param options Optional. Set options for HTTP requests
*/
constructor(options?: dataSchemas.Options){
const defaultOption = {
version: config.default.enviroment,
timeout: config.default.timeout,
responseType: 'json',
enviroment: this.setEnviroment(),
}
this.options = objectAssignDeep({}, defaultOption, options);
ocxMethods.checkCredentials(this.options)
}
setEnviroment(enviroment:string = config.default.enviroment,options?: dataSchemas.Options, ) {
const enviromentOption = {
"enviroment" : enviroment
};
this.options = objectAssignDeep(this.options, enviromentOption, options);
return this.options.enviroment
}
init() {
ocxMethods.checkCredentials(this.options)
return 'Sdk Initialized....'
}
fetchData(
nodeId: string,
path: string,
payload?: {},
options?: dataSchemas.Options,
) {
const requestOptions = objectAssignDeep({}, this.options, options);
return new Wrapper(requestOptions).get(nodeId,path,payload);
}
postData(
nodeId: string,
path: string,
payload: {},
options?: dataSchemas.Options,
) {
const requestOptions = objectAssignDeep({}, this.options, options);
return new Wrapper(requestOptions).get(nodeId,path,payload);
}
}