Newton's Preposterous Miscalculation

    @openinf/util-object
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.1 • Public • Published

    @openinf/util-object

    Common JavaScript Object type-related utilities


    view on npm License: MIT


    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.




    Installation

    @openinf/util-object runs on Node.js and is available via npm.

    npm install @openinf/util-object

    Usage

    import { hasOwn } from '@openinf/util-object';
    
    export class GhFileImporter {
      constructor(options: GhFileImporterOptions) {
        if (!hasOwn(options, 'destDir')) {
          throw new MissingOptionError('destDir');
        }
      }
    }



    Functions

    map([opt_initial])T

    Returns a map-like object. If opt_initial is 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.

    map([opt_initial]) ⇒ T

    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.

    hasOwn(obj, key) ⇒ boolean

    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

    ownProperty(obj, key) ⇒ unknown

    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

    deepMerge(target, source, depth) ⇒ Object

    Deep merges source into target.

    Kind: 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~queue : Array.<ITargetSourceDepth>

    Kind: inner constant of deepMerge

    omit(o, props) ⇒ Record.<string, (number|RegExp)>

    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.

    objectsEqualShallow(o1, o2) ⇒ boolean

    Kind: global function

    Param Type
    o1 !Record.<string, (number|RegExp)> | null | undefined
    o2 !Record.<string, (number|RegExp)> | null | undefined

    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.

    Kind: global function

    Param Type
    obj T
    prop string
    factory function



    © The OpenINF Authors

    Install

    npm i @openinf/util-object

    DownloadsWeekly Downloads

    0

    Version

    2.0.1

    License

    MIT

    Unpacked Size

    23.1 kB

    Total Files

    7

    Last publish

    Collaborators

    • dereknongeneric