net~ Environment

An environment configuration utility object.

This extends module:util~Configuration to add support for standard properties needed to access the SolarNetwork API, such as host and protocol values.

Constructor

new Environment(configopt)

Constructor.

This will define the following default properties, if not supplied on the config argument:

host
`data.solarnetwork.net`
protocol
`https`
port
`443`

These properties correspond to those on the window.location object when running in a browser. Thus to construct an environment based on the location of the current page you can create an instance like this:

const env = new Environment(window.location);
Parameters:
NameTypeAttributesDescription
configObject<optional>

an optional set of properties to start with

Extends

Methods

enabled(key) → {boolean}

Test if a key is truthy.

Parameters:
NameTypeDescription
keystring

the key to test

Returns:

true if the key is enabled

Type: 
boolean

toggle(key, enabled) → {module:util~Configuration}

Set or toggle the enabled status of a given key.

If the `enabled` parameter is not passed, then the enabled status will be toggled to its opposite value.

Parameters:
NameTypeDescription
keystring

they key to set

enabledboolean

the optional enabled value to set

Returns:

this object to allow method chaining

Type: 
module:util~Configuration

useTls() → {boolean}

Check if TLS is in use via the https protocol.

Returns:

true if the protocol is set to https

Type: 
boolean

value(key, newValueopt) → {object}

Get or set a configuration value.

Parameters:
NameTypeAttributesDescription
keystring

The key to get or set the value for

newValueobject<optional>

If defined, the new value to set for the given key. If null then the value will be removed.

Returns:

If called as a getter, the associated value for the given key, otherwise this object.

Type: 
object

values(newMapopt) → {object}

Get or set multiple properties.

Parameters:
NameTypeAttributesDescription
newMapobject<optional>

a map of values to set

Returns:

if called as a getter, all properties of this object copied into a simple object; otherwise this object

Type: 
object