UNPKG

@ekoopensource/sdk

Version:

Ekoopensource sdk to connect to the ekoopnsource grids and services

58 lines (51 loc) 1.79 kB
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); } }