Common JavaScript Object type-related utilities
npm install @openinf/util-objectCommon JavaScript Object type-related utilities
_The high-level goal of @openinf/util-object is to serve as a Node.js package
containing utilities for common JavaScript Object type-related utilities
primarily enabling users to perform comparisons and analyze object contents. As
is the case with any software project in continuous development, omissions and
errors may exist, for which contributions are welcome._
---
@openinf/util-object runs on Node.js and is available via npm.
``bash`
npm install @openinf/util-object
`ts
import { hasOwn } from '@openinf/util-object';
export class GhFileImporter {
constructor(options: GhFileImporterOptions) {
if (!hasOwn(options, 'destDir')) {
throw new MissingOptionError('destDir');
}
}
}
`
---
TReturns a map-like object. If opt_initial is provided, copies its own
properties into the newly created object.
booleanChecks if the given key is a property in the map.
unknownReturns obj[key] iff key is obj's own property (is not inherited).
Otherwise, returns undefined.
ObjectDeep merges source into target.
Record.<string, (number|RegExp)>booleanRTakes an object, a property name, and a factory function. If the value of
the property is undefined, it generates a value with the factory function,
updates the object originally passed, and returns the value that was returned
by the factory function.
TKind: global function
| Param | Type | Description |
| --- | --- | --- |
| [opt_initial] | T | This should typically be an object literal. |
booleanKind: global function
| Param | Type | Description |
| --- | --- | --- |
| obj | T | a map like property. |
| key | string | |
unknownKind: global function
| Param | Type |
| --- | --- |
| obj | Record.<string, (number\|RegExp)> |
| key | string |
ObjectKind: global function
Throws:
- Error If source contains a circular reference.
Note: Only nested objects are deep-merged, primitives and arrays are not.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| target | Object | | |
| source | Object | | |
| depth | number | 10 | The maximum merge depth. If exceeded, Object.assign will be used instead. |
deepMerge Record.<string, (number\|RegExp)>Record.<string, (number\|RegExp)> - An object with the given properties removed. | Param | Type | Description |
| --- | --- | --- |
| o | Record.<string, (number\|RegExp)> | An object to remove properties from. |
| props | Array.<string> | A list of properties to remove from the Object. |
boolean| Param | Type |
| --- | --- |
| o1 | !Record.<string, (number\|RegExp)> \| null \| undefined |
| o2 | !Record.<string, (number\|RegExp)> \| null \| undefined |
RKind: global function
| Param | Type |
| --- | --- |
| obj | T |
| prop | string |
| factory | function |
---
© The OpenINF Authors