Utils: `objects`
Table of contents
Functions
- fastAssign
- fastCloneDeep
- filterObject
- getField
- getFirstKey
- getFirstValue
- hasOwn
- isObjectEntity
- isSimpleObject
- lookup
- mapKeys
- mapValues
- sortKeys
- withoutNil
Functions
fastAssign
▸ fastAssign<T
, U
>(target
, source
): T
& U
Perform a shallow clone of an object to another, in the fastest way possible
Type parameters
Name | Type |
---|---|
T | extends object |
U | extends object |
Parameters
Name | Type |
---|---|
target | T |
source | U |
Returns
T
& U
Defined in
packages/utils/src/objects.ts:52
fastCloneDeep
▸ fastCloneDeep<T
>(input
): T
A clone deep using JSON.parse(JSON.stringify(input))
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
input | T |
Returns
T
Defined in
packages/utils/src/objects.ts:47
filterObject
▸ filterObject<T
, I
, E
>(data
, by?
): FilteredResult
<T
, I
, E
>
Filters the keys of an object, by list of included key and excluded
Type parameters
Name | Type | ||
---|---|---|---|
T | extends object | ||
I | extends string \ | number \ | symbol |
E | extends string \ | number \ | symbol |
Parameters
Name | Type |
---|---|
data | T |
by? | Object |
by.excludes? | E [] |
by.includes? | I [] |
Returns
FilteredResult
<T
, I
, E
>
Defined in
packages/utils/src/objects.ts:129
getField
▸ getField<V
>(input
, field
, defaultVal?
): V
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
Name |
---|
V |
Parameters
Name | Type |
---|---|
input | undefined |
field | string |
defaultVal? | V |
Returns
V
Defined in
packages/utils/src/objects.ts:162
▸ getField<T
, P
>(input
, field
): T
[P
]
Type parameters
Name | Type | ||
---|---|---|---|
T | T | ||
P | extends string \ | number \ | symbol |
Parameters
Name | Type |
---|---|
input | T |
field | P |
Returns
T
[P
]
Defined in
packages/utils/src/objects.ts:167
▸ getField<T
, P
>(input
, field
): T
[P
]
Type parameters
Name | Type | ||
---|---|---|---|
T | T | ||
P | extends string \ | number \ | symbol |
Parameters
Name | Type | |
---|---|---|
input | undefined \ | T |
field | P |
Returns
T
[P
]
Defined in
packages/utils/src/objects.ts:171
▸ getField<T
, P
>(input
, field
, defaultVal
): T
[P
]
Type parameters
Name | Type | ||
---|---|---|---|
T | T | ||
P | extends string \ | number \ | symbol |
Parameters
Name | Type | |
---|---|---|
input | undefined \ | T |
field | P | |
defaultVal | never [] |
Returns
T
[P
]
Defined in
packages/utils/src/objects.ts:175
▸ getField<T
, P
, V
>(input
, field
, defaultVal
): T
[P
] | V
Type parameters
Name | Type | ||
---|---|---|---|
T | T | ||
P | extends string \ | number \ | symbol |
V | V |
Parameters
Name | Type | |
---|---|---|
input | undefined \ | T |
field | P | |
defaultVal | V |
Returns
T
[P
] | V
Defined in
packages/utils/src/objects.ts:180
▸ getField<T
, P
, V
>(input
, field
, defaultVal
): T
[P
]
Type parameters
Name | Type | ||
---|---|---|---|
T | T | ||
P | extends string \ | number \ | symbol |
V | V |
Parameters
Name | Type | |
---|---|---|
input | undefined \ | T |
field | P | |
defaultVal | V |
Returns
T
[P
]
Defined in
packages/utils/src/objects.ts:185
getFirstKey
▸ getFirstKey<T
>(input
): keyof T
| undefined
Get the first key in an object
Type parameters
Name | Type |
---|---|
T | extends object |
Parameters
Name | Type |
---|---|
input | T |
Returns
keyof T
| undefined
Defined in
packages/utils/src/objects.ts:33
getFirstValue
▸ getFirstValue<T
>(input
): T
| undefined
Get the first value in an object
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
input | Object |
Returns
T
| undefined
Defined in
packages/utils/src/objects.ts:26
hasOwn
▸ hasOwn(obj
, prop
): boolean
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
Name | Type | ||
---|---|---|---|
obj | any | ||
prop | string \ | number \ | symbol |
Returns
boolean
Defined in
packages/utils/src/objects.ts:207
isObjectEntity
▸ isObjectEntity(input
): boolean
Verify if the input is a object like type
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/objects.ts:40
isSimpleObject
▸ isSimpleObject(input
): input is Record<string, unknown>
Similar to is-plain-object but works better when you cloneDeep a DataEntity
Parameters
Name | Type |
---|---|
input | unknown |
Returns
input is Record<string, unknown>
Defined in
packages/utils/src/objects.ts:14
lookup
▸ lookup(input
): (key
: unknown
) => any
Parameters
Name | Type |
---|---|
input | unknown |
Returns
fn
▸ (key
): any
Parameters
Name | Type |
---|---|
key | unknown |
Returns
any
Defined in
packages/utils/src/objects.ts:211
mapKeys
▸ mapKeys<T
, R
>(input
, fn
): R
Map the keys of an object
Type parameters
Name | Type |
---|---|
T | extends object |
R | T |
Parameters
Name | Type |
---|---|
input | T |
fn | (value : T [keyof T ], key : keyof T ) => any |
Returns
R
Defined in
packages/utils/src/objects.ts:99
mapValues
▸ mapValues<T
, R
>(input
, fn
): R
Map the values of an object
Type parameters
Name | Type |
---|---|
T | extends object |
R | T |
Parameters
Name | Type |
---|---|
input | T |
fn | (value : T [keyof T ], key : keyof T ) => any |
Returns
R
Defined in
packages/utils/src/objects.ts:85
sortKeys
▸ sortKeys<T
>(input
, options?
): T
Sort keys on an object
Type parameters
Name | Type |
---|---|
T | extends Record <string , unknown > |
Parameters
Name | Type |
---|---|
input | T |
options | Object |
options.deep? | boolean |
Returns
T
Defined in
packages/utils/src/objects.ts:65
withoutNil
▸ withoutNil<T
>(input
): WithoutNil
<T
>
Build a new object without null or undefined values (shallow)
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
input | T |
Returns
WithoutNil
<T
>