new StreamAggregateDatum(streamId, ts [, iProps] [, aProps] [, sProps] [, tags])
Constructor.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
streamId |
string | the datum stream ID |
|
ts |
Array.<(Date|number|string)> | an array with 2 elements for the datum start and end timestamps, either as a |
|
iProps |
Array.<Array.<number>> |
<optional> |
the instantaneous property values and associated statistics |
aProps |
Array.<Array.<number>> |
<optional> |
the accumulating property values and associated statistics |
sProps |
Array.<String> |
<optional> |
the status property values |
tags |
Set.<String> | Array.<String> |
<optional> |
the tag values |
Methods
-
<static> fromJsonEncoding(json, meta)
-
Parse a JSON string into a StreamAggregateDatum instance.
The JSON must be encoded the same way StreamAggregateDatum#toJsonEncoding() does.
Parameters:
Name Type Description json
string the JSON to parse
meta
module:domain~DatumStreamMetadata | module:util~DatumStreamMetadataRegistry a metadata instance or metadata registry to decode with
Returns:
the stream datum instance
-
<static> fromJsonObject(data, meta)
-
Create a new StreamAggregateDatum instance from an array parsed from a stream datum JSON string.
The array must have been parsed from JSON that was encoded the same way StreamAggregateDatum#toJsonEncoding() does.
Parameters:
Name Type Description data
Array the array parsed from JSON
meta
module:domain~DatumStreamMetadata | module:util~DatumStreamMetadataRegistry a metadata instance or metadata registry to decode with
Returns:
the stream datum instance
-
toJsonEncoding( [registry])
-
Get this object as a standard JSON encoded string value.
This method returns the JSON form of the result of StreamAggregateDatum#toJsonObject().
Parameters:
Name Type Argument Description registry
module:util~DatumStreamMetadataRegistry <optional>
a stream metadata registry to encode as a registry-indexed stream datum
Returns:
the JSON encoded string
- Type
- string
-
toJsonObject( [registry])
-
Get this object as an array suitable for encoding into a standard stream datum JSON string.
This method can encode the datum into an array using one of two ways, depending on whether the
registry
argument is provided. When provided, the first array element will be the stream metadata index based on calling DatumStreamMetadataRegistry#indexOfMetadataStreamId(). Otherwise the first array element will be the stream ID itself.For example if a registry is used, the resulting array might look like this:
1
[0,[1650945600000,1651032000000],[3.6,2,0,7.2],[19.1,2,18.1, 20.1],[1.422802,1138.446687,1139.869489]]
while without a registry the array might look like this:
1
["7714f762-2361-4ec2-98ab-7e96807b32a6", [1650945600000,1651032000000],[3.6,2,0,7.2],[19.1,2,18.1, 20.1],[1.422802,1138.446687,1139.869489]]
Parameters:
Name Type Argument Description registry
module:util~DatumStreamMetadataRegistry <optional>
a stream metadata registry to encode as a registry-indexed stream datum
Returns:
the datum stream array object
- Type
- Array
-
toObject(meta [, withoutStatistics])
-
Get this instance as a simple object.
The following basic properties will be set on the returned object:
streamId
- the stream IDdate
- the timestampdate_end
- the ending timestamp, if availablesourceId
- the metadata source IDnodeId
orlocationId
- either the node ID or location ID from the metadatatags
- any tags (as an Array)
Beyond that, all instantaneous, accumulating, and status properties will be included. If duplicate property names exist between the different classifications, the first-available value will be used. Any available statistics for each property are included as well, using property names with the following suffixes:
_count
- count of datum_min
- minimum value_max
- maximum value_start
- starting value_end
- ending value
Parameters:
Name Type Argument Description meta
module:domain~DatumStreamMetadata a metadata instance to encode the property names with
withoutStatistics
boolean <optional>
{@literal true} to omit statistic properties
Returns:
an object populated with all available properties
- Type
- Object