smartenv/ts/smartenv.classes.smartenv.ts
2017-05-17 15:59:10 +02:00

48 lines
1.2 KiB
TypeScript

import * as plugins from './smartenv.plugins'
import helpers = require('./smartenv.envhelpers')
// interfaces
export interface IEnvObject {
name: string
value: string
}
export class Smartenv {
runtimeEnv: string
isBrowser: boolean
userAgent: string
isNode: boolean
nodeVersion: string
isCI: boolean
constructor() {
this.runtimeEnv = helpers.getEnvString()
this.isBrowser = helpers.isBrowser()
this.userAgent = helpers.getUserAgentString()
this.isNode = helpers.isNode()
this.nodeVersion = helpers.getNodeVersion()
this.isCI = helpers.isCI()
};
/**
* get environment variables that fit the description
*/
async getEnvVars (regexArg: RegExp) {
let EnvironmentArray = []
// TODO: plugins.smartparam.forEachMinimatch()
}
/**
* prints the environment to console
*/
async printEnv () {
if (this.isNode) {
console.log('running on NODE')
let smartenvVersion = require('../package.json').version
console.log('node version is ' + this.nodeVersion + ' and smartenv version is ' + smartenvVersion)
} else {
console.log('running on BROWSER')
console.log('browser is ' + this.userAgent)
}
}
}