Skip to main content

@terascope/core-utils / objects

objects

Functions​

fastAssign()​

fastAssign<T, U>(target, source): T & U

Defined in: packages/core-utils/src/objects.ts:58

Perform a shallow clone of an object to another, in the fastest way possible

Type Parameters​

Type Parameter
T extends object
U extends object

Parameters​

ParameterType
targetT
sourceU

Returns​

T & U


fastCloneDeep()​

fastCloneDeep<T>(input): T

Defined in: packages/core-utils/src/objects.ts:53

A clone deep using JSON.parse(JSON.stringify(input))

Type Parameters​

Type Parameter
T

Parameters​

ParameterType
inputT

Returns​

T


filterObject()​

filterObject<T, I, E>(data, by?): FilteredResult<T, I, E>

Defined in: packages/core-utils/src/objects.ts:135

Filters the keys of an object, by list of included key and excluded

Type Parameters​

Type Parameter
T extends object
I extends string | number | symbol
E extends string | number | symbol

Parameters​

ParameterType
dataT
by?{ excludes?: E[]; includes?: I[]; }
by.excludes?E[]
by.includes?I[]

Returns​

FilteredResult<T, I, E>


getField()​

Call Signature​

getField<V>(input, field, defaultVal?): V

Defined in: packages/core-utils/src/objects.ts:170

A type safe get function (will always return the correct type)

IMPORTANT This does not behave like lodash.get, it does not deal with dot notation (nested fields) and it will use the default when dealing with OR statements

Type Parameters​
Type Parameter
V
Parameters​
ParameterType
inputundefined
fieldstring
defaultVal?V
Returns​

V

Call Signature​

getField<T, P>(input, field): T[P]

Defined in: packages/core-utils/src/objects.ts:175

A type safe get function (will always return the correct type)

IMPORTANT This does not behave like lodash.get, it does not deal with dot notation (nested fields) and it will use the default when dealing with OR statements

Type Parameters​
Type Parameter
T
P extends string | number | symbol
Parameters​
ParameterType
inputT
fieldP
Returns​

T[P]

Call Signature​

getField<T, P>(input, field): T[P]

Defined in: packages/core-utils/src/objects.ts:179

A type safe get function (will always return the correct type)

IMPORTANT This does not behave like lodash.get, it does not deal with dot notation (nested fields) and it will use the default when dealing with OR statements

Type Parameters​
Type Parameter
T
P extends string | number | symbol
Parameters​
ParameterType
inputT | undefined
fieldP
Returns​

T[P]

Call Signature​

getField<T, P>(input, field, defaultVal): T[P]

Defined in: packages/core-utils/src/objects.ts:183

A type safe get function (will always return the correct type)

IMPORTANT This does not behave like lodash.get, it does not deal with dot notation (nested fields) and it will use the default when dealing with OR statements

Type Parameters​
Type Parameter
T
P extends string | number | symbol
Parameters​
ParameterType
inputT | undefined
fieldP
defaultValnever[]
Returns​

T[P]

Call Signature​

getField<T, P, V>(input, field, defaultVal): V | T[P]

Defined in: packages/core-utils/src/objects.ts:188

A type safe get function (will always return the correct type)

IMPORTANT This does not behave like lodash.get, it does not deal with dot notation (nested fields) and it will use the default when dealing with OR statements

Type Parameters​
Type Parameter
T
P extends string | number | symbol
V
Parameters​
ParameterType
inputT | undefined
fieldP
defaultValV
Returns​

V | T[P]

Call Signature​

getField<T, P, V>(input, field, defaultVal): T[P]

Defined in: packages/core-utils/src/objects.ts:193

A type safe get function (will always return the correct type)

IMPORTANT This does not behave like lodash.get, it does not deal with dot notation (nested fields) and it will use the default when dealing with OR statements

Type Parameters​
Type Parameter
T
P extends string | number | symbol
V
Parameters​
ParameterType
inputT | undefined
fieldP
defaultValV
Returns​

T[P]


getFirstKey()​

getFirstKey<T>(input): keyof T | undefined

Defined in: packages/core-utils/src/objects.ts:32

Get the first key in an object

Type Parameters​

Type Parameter
T extends object

Parameters​

ParameterType
inputT

Returns​

keyof T | undefined


getFirstValue()​

getFirstValue<T>(input): T | undefined

Defined in: packages/core-utils/src/objects.ts:25

Get the first value in an object

Type Parameters​

Type Parameter
T

Parameters​

ParameterType
input{[key: string]: T; }

Returns​

T | undefined


hasOwn()​

hasOwn(obj, prop): boolean

Defined in: packages/core-utils/src/objects.ts:215

Check if a object has property (and not included in the prototype) Different from has since it doesn't deal with dot notation values.

Parameters​

ParameterType
objany
propstring | number | symbol

Returns​

boolean


isKey()​

isKey<T>(O, k): k is keyof T

Defined in: packages/core-utils/src/objects.ts:39

Verify that k is a key of object O

Type Parameters​

Type Parameter
T extends object

Parameters​

ParameterType
OT
kPropertyKey

Returns​

k is keyof T


isObjectEntity()​

isObjectEntity(input): boolean

Defined in: packages/core-utils/src/objects.ts:46

Verify if the input is a object like type

Parameters​

ParameterType
inputunknown

Returns​

boolean


isSimpleObject()​

isSimpleObject(input): input is Record<string, unknown>

Defined in: packages/core-utils/src/objects.ts:13

Similar to is-plain-object but works better when you cloneDeep a DataEntity

Parameters​

ParameterType
inputunknown

Returns​

input is Record<string, unknown>


lookup()​

lookup(input): (key) => any

Defined in: packages/core-utils/src/objects.ts:219

Parameters​

ParameterType
inputunknown

Returns​

(key) => any


mapKeys()​

mapKeys<T, R>(input, fn): R

Defined in: packages/core-utils/src/objects.ts:105

Map the keys of an object

Type Parameters​

Type ParameterDefault type
T extends object-
RT

Parameters​

ParameterType
inputT
fn(value, key) => any

Returns​

R


mapValues()​

mapValues<T, R>(input, fn): R

Defined in: packages/core-utils/src/objects.ts:91

Map the values of an object

Type Parameters​

Type ParameterDefault type
T extends object-
RT

Parameters​

ParameterType
inputT
fn(value, key) => any

Returns​

R


sortKeys()​

sortKeys<T>(input, options?): T

Defined in: packages/core-utils/src/objects.ts:71

Sort keys on an object

Type Parameters​

Type Parameter
T extends Record<string, unknown>

Parameters​

ParameterType
inputT
options{ deep?: boolean; }
options.deep?boolean

Returns​

T


withoutNil()​

withoutNil<T>(input): WithoutNil<T>

Defined in: packages/core-utils/src/objects.ts:119

Build a new object without null or undefined values (shallow)

Type Parameters​

Type Parameter
T

Parameters​

ParameterType
inputT

Returns​

WithoutNil<T>