@terascope/utils / entities/data-entity / DataEntity
Class: DataEntity<T, M>
Defined in: packages/utils/src/entities/data-entity.ts:25
A wrapper for data that can hold additional metadata properties. A DataEntity should be essentially transparent to use within operations.
NOTE: Use DataEntity.make, DataEntity.fromBuffer and DataEntity.makeArray
in production for potential performance gains
Type Parameters
| Type Parameter | Default type |
|---|---|
T | Record<string, any> |
M | _DataEntityMetadata<Record<string, any>> |
Indexable
[prop: string]: any
Constructors
Constructor
new DataEntity<
T,M>(data,metadata?):DataEntity<T,M>
Defined in: packages/utils/src/entities/data-entity.ts:183
Parameters
| Parameter | Type |
|---|---|
data | undefined | null | T |
metadata? | M |
Returns
DataEntity<T, M>
Methods
getCreateTime()
getCreateTime():
Date
Defined in: packages/utils/src/entities/data-entity.ts:263
Get the time at which this entity was created.
Returns
Date
getEventTime()
getEventTime():
undefined|false|Date
Defined in: packages/utils/src/entities/data-entity.ts:335
Get time associated from a specific field on source data or message
If none is found, undefined will be returned.
If an invalid date is found, false will be returned.
Returns
undefined | false | Date
getIngestTime()
getIngestTime():
undefined|false|Date
Defined in: packages/utils/src/entities/data-entity.ts:279
Get the time at which the data was ingested into the source data
If none is found, undefined will be returned.
If an invalid date is found, false will be returned.
Returns
undefined | false | Date
getKey()
getKey():
string|number
Defined in: packages/utils/src/entities/data-entity.ts:239
Get the unique document _key from the metadata.
If no _key is found, an error will be thrown
Returns
string | number
getMetadata()
Call Signature
getMetadata(
key?):_DataEntityMetadata<M>
Defined in: packages/utils/src/entities/data-entity.ts:202
Get the metadata for the DataEntity. If a field is specified, it will get that property of the metadata
Parameters
| Parameter | Type |
|---|---|
key? | undefined |
Returns
Call Signature
getMetadata<
K>(key):EntityMetadataValue<M,K>
Defined in: packages/utils/src/entities/data-entity.ts:203
Get the metadata for the DataEntity. If a field is specified, it will get that property of the metadata
Type Parameters
| Type Parameter |
|---|
K extends string | number | symbol |
Parameters
| Parameter | Type |
|---|---|
key | K |
Returns
EntityMetadataValue<M, K>
getProcessTime()
getProcessTime():
undefined|false|Date
Defined in: packages/utils/src/entities/data-entity.ts:307
Get the time at which the data was consumed by the reader.
If none is found, undefined will be returned.
If an invalid date is found, false will be returned.
Returns
undefined | false | Date
getRawData()
getRawData():
Buffer
Defined in: packages/utils/src/entities/data-entity.ts:361
Get the raw data, usually used for encoding type raw.
If there is no data, an error will be thrown
Returns
Buffer
setEventTime()
setEventTime(
val?):void
Defined in: packages/utils/src/entities/data-entity.ts:348
Set time associated from a specific field on source data or message
If the value is empty it will set the time to now. If an invalid date is given, an error will be thrown.
Parameters
| Parameter | Type |
|---|---|
val? | string | number | Date |
Returns
void
setIngestTime()
setIngestTime(
val?):void
Defined in: packages/utils/src/entities/data-entity.ts:292
Set the time at which the data was ingested into the source data
If the value is empty it will set the time to now. If an invalid date is given, an error will be thrown.
Parameters
| Parameter | Type |
|---|---|
val? | string | number | Date |
Returns
void
setKey()
setKey(
key):void
Defined in: packages/utils/src/entities/data-entity.ts:252
Set the unique document _key from the metadata.
If no _key is found, an error will be thrown
Parameters
| Parameter | Type |
|---|---|
key | string | number |
Returns
void
setMetadata()
setMetadata<
K,V>(field,value):void
Defined in: packages/utils/src/entities/data-entity.ts:219
Given a field and value set the metadata on the record
Type Parameters
| Type Parameter |
|---|
K extends string | number | symbol |
V |
Parameters
| Parameter | Type |
|---|---|
field | K |
value | V |
Returns
void
setProcessTime()
setProcessTime(
val?):void
Defined in: packages/utils/src/entities/data-entity.ts:320
Set the time at which the data was consumed by the reader
If the value is empty it will set the time to now. If an invalid date is given, an error will be thrown.
Parameters
| Parameter | Type |
|---|---|
val? | string | number | Date |
Returns
void
setRawData()
setRawData(
buf):void
Defined in: packages/utils/src/entities/data-entity.ts:372
Set the raw data, usually used for encoding type raw
If given null, it will unset the data
Parameters
| Parameter | Type |
|---|---|
buf | null | string | Buffer<ArrayBufferLike> |
Returns
void
toBuffer()
toBuffer(
opConfig):Buffer
Defined in: packages/utils/src/entities/data-entity.ts:387
Convert the DataEntity to an encoded buffer
Parameters
| Parameter | Type | Description |
|---|---|---|
opConfig | EncodingConfig | The operation config used to get the encoding type of the buffer, |
Returns
Buffer
Default
json
[hasInstance]()
static[hasInstance](instance):boolean
Defined in: packages/utils/src/entities/data-entity.ts:169
Parameters
| Parameter | Type |
|---|---|
instance | unknown |
Returns
boolean
fork()
staticfork<T>(input,withData):T
Defined in: packages/utils/src/entities/data-entity.ts:86
Create a new instance of a DataEntity.
If the second param withData is set to true
both the data and metadata will be forked, if set
to false only the metadata will be copied. Defaults
to true
Type Parameters
| Type Parameter | Default type |
|---|---|
T extends DataEntity<any, any> | DataEntity<Record<string, any>, _DataEntityMetadata<Record<string, any>>> |
Parameters
| Parameter | Type | Default value |
|---|---|---|
input | T | undefined |
withData | boolean | true |
Returns
T
fromBuffer()
staticfromBuffer<T,M>(input,opConfig?,metadata?):DataEntity<T,M>
Defined in: packages/utils/src/entities/data-entity.ts:109
A utility for converting a Buffer to a DataEntity,
using the DataEntity encoding.
Type Parameters
| Type Parameter | Default type |
|---|---|
T | Record<string, any> |
M | Record<string, any> |
Parameters
| Parameter | Type | Description |
|---|---|---|
input | string | Buffer<ArrayBufferLike> | A Buffer to parse to JSON |
opConfig? | EncodingConfig | The operation config used to get the encoding type of the Buffer, defaults to "json" |
metadata? | M | Optionally add any metadata |
Returns
DataEntity<T, M>
getMetadata()
staticgetMetadata<V>(input,field?):undefined|V
Defined in: packages/utils/src/entities/data-entity.ts:158
Safely get the metadata from a DataEntity.
If the input is object it will get the property from the object
DEPRECATED: Since this isn't recommended to be used, and will be removed in future releases.
Type Parameters
| Type Parameter | Default type |
|---|---|
V | any |
Parameters
| Parameter | Type |
|---|---|
input | unknown |
field? | string |
Returns
undefined | V
Deprecated
isDataEntity()
staticisDataEntity<T,M>(input):input is DataEntity<T, M>
Defined in: packages/utils/src/entities/data-entity.ts:131
Verify that an input is the DataEntity
Type Parameters
| Type Parameter | Default type |
|---|---|
T | Record<string, any> |
M | Record<string, any> |
Parameters
| Parameter | Type |
|---|---|
input | unknown |
Returns
input is DataEntity<T, M>
isDataEntityArray()
staticisDataEntityArray<T,M>(input):input is DataEntity<T, M>[]
Defined in: packages/utils/src/entities/data-entity.ts:140
Verify that an input is an Array of DataEntities,
Type Parameters
| Type Parameter | Default type |
|---|---|
T | Record<string, any> |
M | Record<string, any> |
Parameters
| Parameter | Type |
|---|---|
input | unknown |
Returns
input is DataEntity<T, M>[]
make()
Call Signature
staticmake<T,M>(input,metadata?):T
Defined in: packages/utils/src/entities/data-entity.ts:36
A utility for safely converting an object a DataEntity.
If the input is a DataEntity it will return it and have no side-effect.
If you want a create new DataEntity from an existing DataEntity
either use new DataEntity or shallow clone the input before
passing it to DataEntity.make.
Type Parameters
| Type Parameter | Default type |
|---|---|
T extends DataEntity<any, any> | - |
M | Record<string, any> |
Parameters
| Parameter | Type |
|---|---|
input | T |
metadata? | M |
Returns
T
Call Signature
staticmake<T,M>(input,metadata?):DataEntity<T,M>
Defined in: packages/utils/src/entities/data-entity.ts:40
A utility for safely converting an object a DataEntity.
If the input is a DataEntity it will return it and have no side-effect.
If you want a create new DataEntity from an existing DataEntity
either use new DataEntity or shallow clone the input before
passing it to DataEntity.make.
Type Parameters
| Type Parameter | Default type |
|---|---|
T | Record<string, any> |
M | Record<string, any> |
Parameters
| Parameter | Type |
|---|---|
input | Record<string, any> |
metadata? | M |
Returns
DataEntity<T, M>
makeArray()
staticmakeArray<T,M>(input):DataEntity<T,M>[]
Defined in: packages/utils/src/entities/data-entity.ts:64
A utility for safely converting an input of an object, or an array of objects, to an array of DataEntities. This will detect if passed an already converted input and return it.
Type Parameters
| Type Parameter | Default type |
|---|---|
T | Record<string, any> |
M | Record<string, any> |
Parameters
| Parameter | Type |
|---|---|
input | DataArrayInput |
Returns
DataEntity<T, M>[]