export default class Environment { static ENVIRONMENTS = ['development', 'production']; static isDevelopment(): boolean { Environment.validate(); return process.env.NODE_ENV === 'development'; } static isProduction(): boolean { Environment.validate(); return process.env.NODE_ENV === 'production'; } private static validate(): boolean { if (process.env.NODE_ENV === undefined) { throw new Error('process.env.NODE_ENV==undefined'); } if (!process.env.NODE_ENV in Environment.ENVIRONMENTS) { throw new Error(`incorrect NODE_ENV=${process.env.NODE_ENV}`); } return true; } }