ext
extendify
npm i extendify
ext

extendify

Deep extend with customizable behavior.

by bighshai

1.0.0 (see all)License:MITTypeScript:Not Found
npm i extendify
Readme

Logo

Deep extend with customizable behavior for Node.js.

"Extedify" is a lightweight wrapper over lodash's _.merge (like a deep _.extend) with customizable handling of arrays, booleans, numbers and strings.

(By default, extedify will behave exactly like lodash's _.merge.)

Installation

npm install extendify

Usage

var extendify = require('extendify');
myExtend = extendify({
    // options
});

Options

  • inPlace – Override the 'source' with the result?
    • true (default)
    • false
  • isDeep – Use deep extend?
    • true (default)
    • false
  • arrays – How to handle arrays?
    • replace (recommended)
    • concat
    • merge (default)
    • or
    • and
  • booleans – How to handle booleans?
    • replace (default)
    • concat
    • or
    • and
  • numbers – How to handle numbers?
    • replace (default)
    • concat
    • or
    • and
  • strings – How to handle strings?
    • replace (default)
    • concat
    • or
    • and

Example

Let's get an _.extend function that

  • returns a copy/clone,
  • replaces arrays,
  • supports nested objects (also known as deep extends).
_.extend = extendify({
    inPlace: false,
    isDeep: true,
    arrays : 'replace'
});

object1 = {
    a:{
        list: [1, 2]
    },
    b: 4
};

object2 = {
    a:{
        list: [3]
    }
};

var result = myExtend(object1, object2);
/*
{
    a: {
        list: [3]
    },
    b: 4
}
*/

More examples are available in the 'examples.js' file.

Contributions

Your feedback is welcome, email me at reshef.shai@gmail.com.

Downloads/wk

2.3K

GitHub Stars

20

LAST COMMIT

3yrs ago

MAINTAINERS

1

CONTRIBUTORS

4

OPEN ISSUES

5

OPEN PRs

3
VersionTagPublished
1.0.0
latest
7yrs ago
No alternatives found
No tutorials found
Add a tutorial
No dependencies found

Rate & Review

100
No reviews found
Be the first to rate