JSPM

extendr

2.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 59929
  • Score
    100M100P100Q154606F

Utilities for cloning, extending, and de-referencing objects in shallow, deep, and safe ways

Package Exports

  • extendr

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (extendr) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Extendr Build Status

Utilities for cloning, extending, and de-referencing objects in shallow, deep, and safe ways

Install

Backend

  1. Install Node.js
  2. npm install --save extendr

Frontend

  1. See Browserify

Usage

Example

// Shallow Clone
(function(){
    var a = {a:1}, b = {b:2}
    var c = require('extendr').clone(a,b)
    console.log(a) // {a:1}
    console.log(b) // {b:2}
    console.log(c) // {a:1,b:2}
})()

// Shallow Extend
(function(){
    var a = {a:1}, b = {b:2}
    var c = require('extendr').extend(a,b)
    console.log(a) // {a:1,b:2}
    console.log(b) // {b:2}
    console.log(c) // {a:1,b:2}
})()

Methods

  • clone(args...) - shallow extend the arguments into a new object, same as extend({},args...)
  • deepClone(args...) - deep extend the arguments into a new object, same as deepExtend({},args...)
  • dereference(obj) - return a copy of the object with all references destroyed, same as serializing then deserializing the object
  • extend(args...) - alias for shallowExtendPlainObjects
  • shallowExtendPlainObjects(target, args...) - shallow extend the arguments into the target
  • deepExtendPlainObjects(target, args...) - deep extend the arguments into the target
  • safeShallowExtendPlainObjects(target, objs...) - shallow extend defined values from the arguments into the target
  • safeDeepExtendPlainObjects(target, args...) - deep extend defined values from the arguments into the target

Explanation

  • Use the clone methods when you don't want to modify your first object
  • Use the extend methods when you want to modify the first argument
  • Use the dereference method when you want to make sure that nothing has any references to the old object
  • Use the safe methods when you don't want null and undefined values to overwrite a defined values

History

You can discover the history inside the History.md file

License

Licensed under the incredibly permissive MIT License
Copyright © 2013+ Bevry Pty Ltd
Copyright © 2011-2012 Benjamin Arthur Lupton