new Unit()
- Description:
Represents a
baja:Unitin BajaScript.When creating a
Simple, always use themake()method instead of
creating a new Object.
- Source:
Extends
Members
isPrefix
- Description:
Returns true if the unit should be prefixed.
- Source:
Returns true if the unit should be prefixed.
(static) DEFAULT :baja.Unit
- Description:
Default
Unitinstance.
- Source:
Default Unit instance.
Type:
(static) NULL :baja.Unit
- Description:
Null
Unitinstance (same asDEFAULT).
- Source:
Null Unit instance (same as DEFAULT).
Type:
Methods
convertTo(toUnit, scalar) → {number}
- Description:
Convert a scalar value from this unit to another.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
toUnit |
baja.Unit | |
scalar |
number |
Throws:
-
if the two Units are not of the same Dimension
- Type
- Error
Returns:
the converted scalar value
- Type
- number
decodeAsync(str, batchopt) → {baja.Simple|Promise.<baja.Simple>}
- Description:
The string encoding of certain Simples may include Type information, or
other data that may be require asynchronous operations to decode. BOX is
designed to handle these situations when decoding data from the station,
but when user code needs to decode string-encoded Simples directly, prefer
this method as it gives the individual Simple a chance to import Types,
etc. to ensure that the decoded Simple is fully correct.The default implementation just returns
decodeFromStringdirectly.
- Source:
- Inherited From:
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
str |
string | ||
batch |
baja.comm.Batch |
<optional> |
optional batch to use |
Returns:
may return the Simple instance
directly, or a Promise resolving to same - so wrap in Promise.resolve()
if unsure.
- Type
- baja.Simple | Promise.<baja.Simple>
decodeFromString(str) → {baja.Unit}
- Description:
Parse a
baja.Unitfrom aString.
- Source:
- Overrides:
Parameters:
| Name | Type | Description |
|---|---|---|
str |
String |
Throws:
if string is malformed or contains invalid unit parameters
Returns:
- Type
- baja.Unit
encodeToString() → {String}
- Description:
Encode a
baja.Unitto aString.
- Source:
- Overrides:
Returns:
- Type
- String
equals(obj) → {Boolean}
- Description:
Equality test.
- Source:
- Inherited From:
Parameters:
| Name | Type | Description |
|---|---|---|
obj |
Returns:
- Type
- Boolean
equivalent(obj) → {Boolean}
- Description:
Equivalence test.
equivalent()is used to compare if two Objects have equivalent
state, but might not want to return true for equals since it
it has implied semantics for many operations. The default
implementation returns the result of baja.Object#equals.
- Source:
- Inherited From:
Parameters:
| Name | Type | Description |
|---|---|---|
obj |
Returns:
- Type
- Boolean
getAgents(isopt, batchopt) → {Promise}
- Description:
Returns a promise that resolves to the agent list for this Object.
- Source:
- Inherited From:
- See:
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
is |
Array.<String> |
<optional> |
An optional array of filters to add to the |
batch |
baja.comm.Batch |
<optional> |
An optional object used to batch network |
Returns:
A promise that will resolve with the Agent Info.
- Type
- Promise
getDataTypeSymbol() → {String}
- Description:
Returns the data type symbol (
u) forFacetsencoding.
- Source:
Returns:
- Type
- String
getDimension() → {baja.Dimension}
- Description:
Returns the unit dimension.
- Source:
Returns:
- Type
- baja.Dimension
getIcon() → {baja.Icon}
- Description:
Return the Object's Icon.
- Source:
- Inherited From:
Returns:
- Type
- baja.Icon
getOffset() → {Number}
- Description:
Returns the unit offset.
- Source:
Returns:
- Type
- Number
getScale() → {Number}
- Description:
Returns the unit scale.
- Source:
Returns:
- Type
- Number
getSymbol() → {String}
- Description:
Returns the unit symbol.
- Source:
Returns:
- Type
- String
getType() → {Type}
- Description:
Get the type of this instance.
- Source:
- Inherited From:
Returns:
- Type
- Type
getTypeDisplayName(cxopt) → {Promise.<string>|string}
- Description:
Gets the friendly type display name for this object.
- Source:
- Since:
- Niagara 4.10
- Inherited From:
- See:
-
- baja.Type#getDisplayName
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
cx |
Object |
<optional> |
a context to be passed down to Type |
Returns:
If no context is provided, the type
display name is returned synchronously as a string. If context provided,
the type display name is resolved via a promise as a string.
- Type
- Promise.<string> | string
getUnitName() → {String}
- Description:
Returns the unit name.
- Source:
Returns:
- Type
- String
make() → {baja.Unit}
- Source:
- Overrides:
- See:
Returns:
- Type
- baja.Unit
newCopy(exactopt)
- Description:
Every value may be cloned using the
newCopymethod.Please note that
Simples are immutable so they don't
allocate a new instance.
- Source:
- Inherited From:
- See:
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
exact |
Boolean |
<optional> |
true if an exact copy of the value should be |
Returns:
a copy of the value (or the same instance if the value is a
Simple).
toDesiredUnit(unitConversion) → {Promise.<baja.Unit>}
- Description:
Get the unit that this unit converts to as specified by the given
conversion.
- Source:
- Since:
- Niagara 4.8
Example
return fahrenheitUnit.toDesiredUnit('metric')
.then(function (unit) {
console.log(unit.getUnitName()); // Celsius
});
Parameters:
| Name | Type | Description |
|---|---|---|
unitConversion |
baja.FrozenEnum | number | string | accepts a |
Returns:
- Type
- Promise.<baja.Unit>
toString() → {String}
- Description:
Returns the unit symbol.
- Source:
- Overrides:
Returns:
- Type
- String
valueOf() → {String}
- Source:
- Inherited From:
Returns:
the string encoding of the Simple, by default
- Type
- String
(static) convert(scalar, params) → {Promise.<number>}
- Description:
Friendly API to convert a scalar value to a desired unit.
- Source:
- Since:
- Niagara 4.8
Examples
What is 32 Fahrenheit, as shown in metric units?
return baja.Unit.convert(32, { units: 'fahrenheit', unitConversion: 'metric' })
.then(function (result) {
console.log(result); // 0
});
How many centimeters are in 1 inch?
return baja.Unit.convert(1, { fromUnits: 'inch', toUnits: 'centimeter' })
.then(function (result) {
console.log(result); // 2.54
});
My data is "12 inches", but the user wants to see metric units. What number should I show them in the UI?
return baja.Unit.convert(12, { fromUnits: 'inch', unitConversion: 'metric' })
.then(function (result) {
console.log(result); // 30.48
});
My user entered "100 cm", but my station logic is in inches. What number should I store in the station?
return baja.Unit.convert(100, { unitConversion: 'metric', toUnits: 'inch', precision: 2 })
.then(function (result) {
console.log(result); // 39.37
});
Parameters:
| Name | Type | Description | |||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
scalar |
number | a scalar value to convert |
|||||||||||||||||||||||||
params |
object |
Properties
|
Returns:
the converted unit.
- Type
- Promise.<number>
(static) make(name, symbolopt, dimension, scaleopt, offsetopt, isPrefixopt) → {baja.Unit}
- Description:
Creates a new instance of
baja.Unit.Note that if calling this function directly, multiple calls with the same
name but different dimensions will result in an error (no messing with
the laws of physics!). Be careful not to manually createUnits with
incorrect dimensions that might clash with units specified in the unit
database stationside.
- Source:
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
name |
String | the unit name. Must be unique and may not contain a |
||
symbol |
String |
<optional> |
name
|
the unit symbol. If omitted will default to |
dimension |
baja.Dimension | the unit dimension |
||
scale |
Number |
<optional> |
1
|
the unit scale |
offset |
Number |
<optional> |
0
|
the unit offset |
isPrefix |
Boolean |
<optional> |
false
|
true if the unit should be prefixed / |
Throws:
if name or symbol contain a semicolon, the dimension is omitted,
or if duplicate units are created with the same name but different
dimensions
Returns:
- Type
- baja.Unit
(static) toDisplayUnits(cxopt) → {Promise.<(baja.Unit|null)>}
- Description:
Get the desired unit as specified by the input context.
- Source:
- Since:
- Niagara 4.8
- See:
Example
Calculate display units based on facets.
var facetsObj = point.getFacets().toObject();
return baja.Unit.toDisplayUnits(facetsObj)
.then(function (displayUnits) {
console.log('this point wants to be displayed with units ' + displayUnits);
});
Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cx |
Object |
<optional> |
Properties
|
Returns:
resolves the desired display unit as
specified. If showUnits is false or the units are not specified or
NULL, resolves null to indicate that units are not used for display in
this context.
- Type
- Promise.<(baja.Unit|null)>