Skip to main content

Class: DataItemUtils

Defined in: src/sdk/data/DataItemUtils.ts:10

Experimental

A utility class for working with DataItems.

Constructors

Constructor

new DataItemUtils(): DataItemUtils

Experimental

Returns

DataItemUtils

Methods

createEquals()

static createEquals<T>(valueEqualityFunc): (a, b) => boolean

Defined in: src/sdk/data/DataItemUtils.ts:45

Experimental

Creates a function that evaluates the equality of two data items given value equality semantics defined by a supplied function.

Type Parameters

Type Parameter
T

Parameters

ParameterTypeDefault valueDescription
valueEqualityFunc(a, b) => booleanDataItemUtils.defaultValueEqualsThe function to use to check whether two data item values are equal. Defaults to a function that implements default equality semantics: two values a and b are equal if and only if the strict equality operator (===) evaluates to true for a and b, or both a and b are the numeric value NaN.

Returns

A function that evaluates the equality of two data items given the value equality semantics defined by the specified function.

(a, b): boolean

Parameters
ParameterType
aReadonly<DataItem<T>>
bReadonly<DataItem<T>>
Returns

boolean


createIsValid()

static createIsValid<S>(validStatuses): DataItemStatusGuard<S>

Defined in: src/sdk/data/DataItemUtils.ts:81

Experimental

Creates a predicate that can be used with DataItemUtils.valueOr or DataItemUtils.isValid.

Type Parameters

Type Parameter
S extends DataItemStatus

Parameters

ParameterTypeDescription
validStatusesreadonly S[]An array of statuses that should be considered valid.

Returns

DataItemStatusGuard<S>

The new predicate.


defaultEquals()

static defaultEquals(a, b): boolean

Defined in: src/sdk/data/DataItemUtils.ts:31

Experimental

Checks whether two data items are equal using default equality semantics for data item values: values for two data items a.value and b.value are equal if and only if the strict equality operator (===) evaluates to true for a.value and b.value, or both a.value and b.value are the numeric value NaN.

Parameters

ParameterTypeDescription
aReadonly<DataItem<unknown>>The first data item to check.
bReadonly<DataItem<unknown>>The second data item to check.

Returns

boolean

Whether the two specified data items are equal using default equality semantics for their data item values.


defaultIsValid()

static defaultIsValid(dataItem): dataItem is Readonly<FilledDataItem<any> & { status: Normal | Testing }>

Defined in: src/sdk/data/DataItemUtils.ts:72

Experimental

Checks if a data item status is DataItemStatus.Normal or DataItemStatus.Testing.

Parameters

ParameterTypeDescription
dataItemReadonly<DataItem<any>>The data item to check.

Returns

dataItem is Readonly<FilledDataItem<any> & { status: Normal | Testing }>

true if the data item is valid.


defaultValueEquals()

static defaultValueEquals(a, b): boolean

Defined in: src/sdk/data/DataItemUtils.ts:62

Experimental

Checks whether two data item values are equal using default equality semantics: two values a and b are equal if and only if the strict equality operator (===) evaluates to true for a and b, or both a and b are the numeric value NaN.

Parameters

ParameterTypeDescription
aunknownThe first data item value to check.
bunknownThe second data item value to check.

Returns

boolean

Whether the two specified values are equal using default equality semantics.


emptyItem()

static emptyItem(): EmptyDataItem

Defined in: src/sdk/data/DataItemUtils.ts:15

Experimental

Creates a new empty data item.

Returns

EmptyDataItem

A new empty data item.


isValid()

Call Signature

static isValid(dataItem): dataItem is Readonly<FilledDataItem<any> & { status: Normal | Testing }>

Defined in: src/sdk/data/DataItemUtils.ts:90

Experimental

Checks if a data item is valid, according to the isValid predicate.

Parameters
ParameterTypeDescription
dataItemReadonly<DataItem<any>>The data item to check.
Returns

dataItem is Readonly<FilledDataItem<any> & { status: Normal | Testing }>

Whether the data item is valid (status is DataItemStatus.Normal or DataItemStatus.Testing).

Call Signature

static isValid<S>(dataItem, isValid): dataItem is Readonly<DataItemOfStatus<any, S>>

Defined in: src/sdk/data/DataItemUtils.ts:97

Experimental

Checks if a data item is valid, according to the isValid predicate.

Type Parameters
Type Parameter
S extends DataItemStatus
Parameters
ParameterTypeDescription
dataItemReadonly<DataItem<any>>The data item to check.
isValidDataItemStatusGuard<S>An isValid predicate created by DataItemUtils.createIsValid.
Returns

dataItem is Readonly<DataItemOfStatus<any, S>>

Whether the data item is valid according to isValid.

Call Signature

static isValid(dataItem, isValid?): boolean

Defined in: src/sdk/data/DataItemUtils.ts:105

Experimental

Checks if a data item is valid, according to the isValid predicate.

Parameters
ParameterTypeDescription
dataItemReadonly<DataItem<any>>The data item to check.
isValid?DataItemStatusGuard<DataItemStatus>An isValid predicate created by DataItemUtils.createIsValid. Defaults to a validator accepting DataItemUtils.valueOr or DataItemUtils.isValid.
Returns

boolean

Whether the data item is valid according to isValid.


valueOr()

static valueOr<T, D>(dataItem, defaultValue, isValid): T | D

Defined in: src/sdk/data/DataItemUtils.ts:120

Experimental

Gets the value of the data item is the status is valid (Normal or Testing), or else a default value.

Type Parameters

Type ParameterDefault type
T-
DT

Parameters

ParameterTypeDefault valueDescription
dataItemReadonly<DataItem<T>>undefinedThe data item to use.
defaultValueDundefinedThe default value returned when the data item is invalid.
isValidDataItemStatusGuard<Normal | Failed | NoComputedValue | Testing>DataItemUtils.defaultIsValidAn isValid predicate created by DataItemUtils.createIsValid. Defaults to a predicate that accepts DataItemStatus.Normal or DataItemStatus.Testing as valid.

Returns

T | D

The valid value, or the default value.