| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | /*! * shallow-clone <https://github.com/jonschlinkert/shallow-clone> * * Copyright (c) 2015-present, Jon Schlinkert. * Released under the MIT License. */'use strict';const valueOf = Symbol.prototype.valueOf;const typeOf = require('kind-of');function clone(val, deep) {  switch (typeOf(val)) {    case 'array':      return val.slice();    case 'object':      return Object.assign({}, val);    case 'date':      return new val.constructor(Number(val));    case 'map':      return new Map(val);    case 'set':      return new Set(val);    case 'buffer':      return cloneBuffer(val);    case 'symbol':      return cloneSymbol(val);    case 'arraybuffer':      return cloneArrayBuffer(val);    case 'float32array':    case 'float64array':    case 'int16array':    case 'int32array':    case 'int8array':    case 'uint16array':    case 'uint32array':    case 'uint8clampedarray':    case 'uint8array':      return cloneTypedArray(val);    case 'regexp':      return cloneRegExp(val);    case 'error':      return Object.create(val);    default: {      return val;    }  }}function cloneRegExp(val) {  const flags = val.flags !== void 0 ? val.flags : (/\w+$/.exec(val) || void 0);  const re = new val.constructor(val.source, flags);  re.lastIndex = val.lastIndex;  return re;}function cloneArrayBuffer(val) {  const res = new val.constructor(val.byteLength);  new Uint8Array(res).set(new Uint8Array(val));  return res;}function cloneTypedArray(val, deep) {  return new val.constructor(val.buffer, val.byteOffset, val.length);}function cloneBuffer(val) {  const len = val.length;  const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);  val.copy(buf);  return buf;}function cloneSymbol(val) {  return valueOf ? Object(valueOf.call(val)) : {};}/** * Expose `clone` */module.exports = clone;
 |