# Env

Statically defined environment variables enable a script to define configuration that's accessible from `scrip.env` based on weights and environment. `env` vars appear as properties of `script.env`.

Values can be any static literal, including object and arrays.

Note: env variables cannot override any built-in script.env variables such as version, url, etc.

### @env(options)

*Arguments*

* `options` { Object } Optional options object.
  * `name` { String } Optional name to override declared member name.
  * `environment` { String = *"\*"* } production, development, \*
  * `weight` { Number = *0* }
  * `active` { Boolean = *true* } Enable or disable entirely.

## Examples

```javascript
const { env } = require('decorators')      

class EnvVars {

  @env({name: 'myEnv__foo',  environment: 'development' })
  static devFoo = 'dev bar'

  @env({name: 'myEnv__foo',  environment: 'production' })
  static prodFoo = 'prod bar'

  @env
  static myobj = {
    foo: 'bar',
    arr: [1, 2, 3]
  }

}

// --------------

return script.env

// {  
//   "myEnv__foo": "dev bar",
//   "myobj": {
//     "arr": [
//       1,
//       2,
//       3
//     ],
//     "foo": "bar"
//   },
//   "name": "development",
//   // ...
// }
```
