The high-level goal of @openinf/util-object is to serve as a Node.js package
containing utilities for common JavaScript object type-related operations
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.
Supported Node.js Environments
- v4:Argon (Ar)
- v6:Boron (B)
- v8:Carbon (C)
- v10:Dubnium (Db)
- v12:Erbium (Er)
- v14:Fermium (Fm)
- v16:Gallium (Ga)
- v18:Hydrogen (H)
@openinf/util-object runs on
supported versions of Node.js and is available via
npm, pnpm, or yarn.
Using the npm CLI
See the official documentation for this command for more information.
npm i @openinf/util-objectUsing the pnpm CLI
See the official documentation for this command for more information.
pnpm i @openinf/util-objectUsing the Yarn 1 CLI (Classic)
See the official documentation for this command for more information.
yarn add @openinf/util-objectimport { hasOwn } from '@openinf/util-object';
export class GhFileImporter {
constructor(options: GhFileImporterOptions) {
if (!hasOwn(options, 'destDir')) {
throw new MissingOptionError('destDir');
}
}
}- map([opt_initial]) ⇒
T Returns a map-like object. If
opt_initialis provided, copies its own properties into the newly created object.- hasOwn(obj, key) ⇒
boolean Checks if the given key is a property in the map.
- ownProperty(obj, key) ⇒
unknown Returns obj[key] iff key is obj's own property (is not inherited). Otherwise, returns undefined.
- deepMerge(target, source, depth) ⇒
Object Deep merges source into target.
- omit(o, props) ⇒
Record.<string, (number|RegExp)> - objectsEqualShallow(o1, o2) ⇒
boolean - memo(obj, prop, factory) ⇒
R Takes 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.
Returns a map-like object. If opt_initial is provided, copies its own
properties into the newly created object.
Kind: global function
| Param | Type | Description |
|---|---|---|
| [opt_initial] | T |
This should typically be an object literal. |
Checks if the given key is a property in the map.
Kind: global function
| Param | Type | Description |
|---|---|---|
| obj | T |
a map like property. |
| key | string |
Returns obj[key] iff key is obj's own property (is not inherited). Otherwise, returns undefined.
Kind: global function
| Param | Type |
|---|---|
| obj | Record.<string, (number|RegExp)> |
| key | string |
Deep merges source into target.
Kind: global function
Throws:
ErrorIf 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. |
Kind: inner constant of deepMerge
Kind: global function
Returns: 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. |
Kind: global function
| Param | Type |
|---|---|
| o1 | !Record.<string, (number|RegExp)> | null | undefined |
| o2 | !Record.<string, (number|RegExp)> | null | undefined |
Takes 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.
Kind: global function
| Param | Type |
|---|---|
| obj | T |
| prop | string |
| factory | function |
If you like the project or want to bookmark it, give it a star ⭐️; it will greatly encourage us.
© The OpenINF Authors