Skip to main content

@terascope/core-utils / entities/data-entity / DataEntity

Class: DataEntity<T, M>

Defined in: packages/core-utils/src/entities/data-entity.ts:26

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 ParameterDefault type
TRecord<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/core-utils/src/entities/data-entity.ts:184

Parameters​

ParameterType
dataT | null | undefined
metadata?M

Returns​

DataEntity<T, M>

Methods​

getCreateTime()​

getCreateTime(): Date

Defined in: packages/core-utils/src/entities/data-entity.ts:265

Get the time at which this entity was created.

Returns​

Date


getEventTime()​

getEventTime(): false | Date | undefined

Defined in: packages/core-utils/src/entities/data-entity.ts:337

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​

false | Date | undefined


getIngestTime()​

getIngestTime(): false | Date | undefined

Defined in: packages/core-utils/src/entities/data-entity.ts:281

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​

false | Date | undefined


getKey()​

getKey(): string | number

Defined in: packages/core-utils/src/entities/data-entity.ts:241

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/core-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

Parameters​
ParameterType
key?undefined
Returns​

_DataEntityMetadata<M>

Call Signature​

getMetadata<K>(key): EntityMetadataValue<M, K>

Defined in: packages/core-utils/src/entities/data-entity.ts:204

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​
ParameterType
keyK
Returns​

EntityMetadataValue<M, K>


getProcessTime()​

getProcessTime(): false | Date | undefined

Defined in: packages/core-utils/src/entities/data-entity.ts:309

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​

false | Date | undefined


getRawData()​

getRawData(): Buffer

Defined in: packages/core-utils/src/entities/data-entity.ts:363

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/core-utils/src/entities/data-entity.ts:350

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​

ParameterType
val?string | number | Date

Returns​

void


setIngestTime()​

setIngestTime(val?): void

Defined in: packages/core-utils/src/entities/data-entity.ts:294

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​

ParameterType
val?string | number | Date

Returns​

void


setKey()​

setKey(key): void

Defined in: packages/core-utils/src/entities/data-entity.ts:254

Set the unique document _key from the metadata. If no _key is found, an error will be thrown

Parameters​

ParameterType
keystring | number

Returns​

void


setMetadata()​

setMetadata<K, V>(field, value): void

Defined in: packages/core-utils/src/entities/data-entity.ts:221

Given a field and value set the metadata on the record

Type Parameters​

Type Parameter
K extends string | number | symbol
V

Parameters​

ParameterType
fieldK
valueV

Returns​

void


setProcessTime()​

setProcessTime(val?): void

Defined in: packages/core-utils/src/entities/data-entity.ts:322

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​

ParameterType
val?string | number | Date

Returns​

void


setRawData()​

setRawData(buf): void

Defined in: packages/core-utils/src/entities/data-entity.ts:374

Set the raw data, usually used for encoding type raw If given null, it will unset the data

Parameters​

ParameterType
bufstring | Buffer<ArrayBufferLike> | null

Returns​

void


toBuffer()​

toBuffer(opConfig?): Buffer

Defined in: packages/core-utils/src/entities/data-entity.ts:389

Convert the DataEntity to an encoded buffer

Parameters​

ParameterTypeDescription
opConfigEncodingConfigThe operation config used to get the encoding type of the buffer,

Returns​

Buffer

Default​

json


[hasInstance]()​

static [hasInstance](instance): boolean

Defined in: packages/core-utils/src/entities/data-entity.ts:170

Parameters​

ParameterType
instanceunknown

Returns​

boolean


fork()​

static fork<T>(input, withData?): T

Defined in: packages/core-utils/src/entities/data-entity.ts:87

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 ParameterDefault type
T extends DataEntity<any, any>DataEntity<Record<string, any>, _DataEntityMetadata<Record<string, any>>>

Parameters​

ParameterTypeDefault value
inputTundefined
withDatabooleantrue

Returns​

T


fromBuffer()​

static fromBuffer<T, M>(input, opConfig?, metadata?): DataEntity<T, M>

Defined in: packages/core-utils/src/entities/data-entity.ts:110

A utility for converting a Buffer to a DataEntity, using the DataEntity encoding.

Type Parameters​

Type ParameterDefault type
TRecord<string, any>
MRecord<string, any>

Parameters​

ParameterTypeDescription
inputstring | Buffer<ArrayBufferLike>A Buffer to parse to JSON
opConfig?EncodingConfigThe operation config used to get the encoding type of the Buffer, defaults to "json"
metadata?MOptionally add any metadata

Returns​

DataEntity<T, M>


getMetadata()​

static getMetadata<V>(input, field?): V | undefined

Defined in: packages/core-utils/src/entities/data-entity.ts:159

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 ParameterDefault type
Vany

Parameters​

ParameterType
inputunknown
field?string

Returns​

V | undefined

Deprecated​


isDataEntity()​

static isDataEntity<T, M>(input): input is DataEntity<T, M>

Defined in: packages/core-utils/src/entities/data-entity.ts:132

Verify that an input is the DataEntity

Type Parameters​

Type ParameterDefault type
TRecord<string, any>
MRecord<string, any>

Parameters​

ParameterType
inputunknown

Returns​

input is DataEntity<T, M>


isDataEntityArray()​

static isDataEntityArray<T, M>(input): input is DataEntity<T, M>[]

Defined in: packages/core-utils/src/entities/data-entity.ts:141

Verify that an input is an Array of DataEntities,

Type Parameters​

Type ParameterDefault type
TRecord<string, any>
MRecord<string, any>

Parameters​

ParameterType
inputunknown

Returns​

input is DataEntity<T, M>[]


make()​

Call Signature​

static make<T, M>(input, metadata?): T

Defined in: packages/core-utils/src/entities/data-entity.ts:37

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 ParameterDefault type
T extends DataEntity<any, any>-
MRecord<string, any>
Parameters​
ParameterType
inputT
metadata?M
Returns​

T

Call Signature​

static make<T, M>(input, metadata?): DataEntity<T, M>

Defined in: packages/core-utils/src/entities/data-entity.ts:41

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 ParameterDefault type
TRecord<string, any>
MRecord<string, any>
Parameters​
ParameterType
inputRecord<string, any>
metadata?M
Returns​

DataEntity<T, M>


makeArray()​

static makeArray<T, M>(input): DataEntity<T, M>[]

Defined in: packages/core-utils/src/entities/data-entity.ts:65

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 ParameterDefault type
TRecord<string, any>
MRecord<string, any>

Parameters​

ParameterType
inputDataArrayInput

Returns​

DataEntity<T, M>[]