diff options
author | 2020-11-16 00:10:28 +0100 | |
---|---|---|
committer | 2020-11-16 00:10:28 +0100 | |
commit | e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch) | |
tree | 55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/shallow-clone/index.js | |
download | website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2 website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip |
api, login, auth
Diffstat (limited to 'node_modules/shallow-clone/index.js')
-rw-r--r-- | node_modules/shallow-clone/index.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/node_modules/shallow-clone/index.js b/node_modules/shallow-clone/index.js new file mode 100644 index 0000000..87d8ff4 --- /dev/null +++ b/node_modules/shallow-clone/index.js @@ -0,0 +1,57 @@ +/*! + * shallow-clone <https://github.com/jonschlinkert/shallow-clone> + * + * Copyright (c) 2015-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +'use strict'; + +var isObject = require('is-extendable'); +var mixin = require('mixin-object'); +var typeOf = require('kind-of'); + +/** + * Shallow copy an object, array or primitive. + * + * @param {any} `val` + * @return {any} + */ + +function clone(val) { + var type = typeOf(val); + if (clone.hasOwnProperty(type)) { + return clone[type](val); + } + return val; +} + +clone.array = function cloneArray(arr) { + return arr.slice(); +}; + +clone.date = function cloneDate(date) { + return new Date(+date); +}; + +clone.object = function cloneObject(obj) { + if (isObject(obj)) { + return mixin({}, obj); + } else { + return obj; + } +}; + +clone.regexp = function cloneRegExp(re) { + var flags = ''; + flags += re.multiline ? 'm' : ''; + flags += re.global ? 'g' : ''; + flags += re.ignorecase ? 'i' : ''; + return new RegExp(re.source, flags); +}; + +/** + * Expose `clone` + */ + +module.exports = clone; |