5.2.2 • Published 2 years ago
object-path-operator v5.2.2
object-path-operator
Install
npm install --save object-path-operator
# or
yarn add object-path-operatorAPI
getProp
function getProp(obj: object, path: PropertyKey[]): unknownGet object property by path.
const obj = {
key: ['value']
}
getProp(obj, []) // throw error
getProp(obj, ['key', 0]) // value
getProp(obj, ['key-does-not-exist']) // throw errortryGetProp
function tryGetProp(obj: object, path: PropertyKey[], defaultValue?: unknown): unknownconst obj = {
key: ['value']
}
tryGetProp(obj, []) // undefined
tryGetProp(obj, ['key', 0]) // value
tryGetProp(obj, ['key-does-not-exist']) // undefinedgetOwnProp
function getOwnProp(obj: object, path: PropertyKey[]): unknowntryGetOwnProp
function tryGetOwnProp(obj: object, path: PropertyKey[], defaultValue?: unknown): unknownsetProp
function setProp(obj: object, path: PropertyKey[], value: unknown): booleanSet object property by path.
const obj = {
key: ['value']
}
setProp(obj, [], 'new-value') // false
setProp(obj, ['key', 0], 'new-value') // true
setProp(obj, ['newKey'], 'new-value') // true
setProp(obj, ['path', 'does', 'not', 'exist'], 'new-value') // throw errortrySetProp
function trySetProp(
obj: object
, path: [PropertyKey, ...PropertyKey[]]
, value: unknown
): booleanconst obj = {
key: ['value']
}
trySetProp(obj, [], 'new-value') // false
trySetProp(obj, ['key', 0], 'new-value') // true
trySetProp(obj, ['newKey'], 'new-value') // true
trySetProp(obj, ['path', 'does', 'not', 'exist'], 'new-value') // falsesetOwnProp
function setOwnProp(obj: object, path: PropertyKey[], value: unknown): booleantrySetOwnProp
function trySetOwnProp(obj: object, path: PropertyKey[], value: unknown): booleanremoveProp
function removeProp(obj: object, path: PropertyKey[]): booleanRemove object property by path.
const obj = {
key: ['value']
}
removeProp(obj, []) // throw error
removeProp(obj, ['key', 0]) // true
removeProp(obj, ['key-does-not-exist']) // throw errortryRemoveProp
function tryRemoveProp(obj: object, path: PropertyKey[]): booleanconst obj = {
key: ['value']
}
tryRemoveProp(obj, []) // false
tryRemoveProp(obj, ['key', 0]) // true
tryRemoveProp(obj, ['key-does-not-exist']) // falseremoveOwnProp
function removeOwnProp(obj: object, path: PropertyKey[]): booleantryRemoveOwnProp
function tryRemoveOwnProp(obj: object, path: PropertyKey[]): booleanpropExists
function propExists(obj: object, path: PropertyKey[]): booleanconst obj = {
key: ['value']
}
propExists(obj, []) // throw error
propExists(obj, ['key', 0]) // true
propExists(obj, ['key-does-not-exist']) // falsetryPropExists
function tryPropExists(obj: object, path: PropertyKey[]): booleanconst obj = {
key: ['value]
}
tryPropExists(obj, []) // false
tryPropExists(obj, ['key', 0]) // true
tryPropExists(obj, ['key-does-not-exist']) // falseownPropExists
function ownPropExists(obj: object, path: PropertyKey[]): booleantryOwnPropExists
function tryOwnPropExists(obj: object, path: PropertyKey[]): boolean