Bump to v4.0.0.

This commit is contained in:
John-David Dalton
2015-09-17 17:52:09 -07:00
parent 1d77dfa4b7
commit 54e7baecc3
675 changed files with 11257 additions and 8085 deletions

View File

@@ -1,11 +1,19 @@
import bufferClone from './bufferClone';
import cloneBuffer from './cloneBuffer';
import cloneMap from './cloneMap';
import cloneRegExp from './cloneRegExp';
import cloneSet from './cloneSet';
import cloneSymbol from './cloneSymbol';
import cloneTypedArray from './cloneTypedArray';
/** `Object#toString` result references. */
var boolTag = '[object Boolean]',
dateTag = '[object Date]',
mapTag = '[object Map]',
numberTag = '[object Number]',
regexpTag = '[object RegExp]',
stringTag = '[object String]';
setTag = '[object Set]',
stringTag = '[object String]',
symbolTag = '[object Symbol]';
var arrayBufferTag = '[object ArrayBuffer]',
float32Tag = '[object Float32Array]',
@@ -18,9 +26,6 @@ var arrayBufferTag = '[object ArrayBuffer]',
uint16Tag = '[object Uint16Array]',
uint32Tag = '[object Uint32Array]';
/** Used to match `RegExp` flags from their coerced string values. */
var reFlags = /\w*$/;
/**
* Initializes an object clone based on its `toStringTag`.
*
@@ -37,7 +42,7 @@ function initCloneByTag(object, tag, isDeep) {
var Ctor = object.constructor;
switch (tag) {
case arrayBufferTag:
return bufferClone(object);
return cloneBuffer(object);
case boolTag:
case dateTag:
@@ -46,18 +51,24 @@ function initCloneByTag(object, tag, isDeep) {
case float32Tag: case float64Tag:
case int8Tag: case int16Tag: case int32Tag:
case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:
var buffer = object.buffer;
return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);
return cloneTypedArray(object, isDeep);
case mapTag:
return cloneMap(object);
case numberTag:
case stringTag:
return new Ctor(object);
case regexpTag:
var result = new Ctor(object.source, reFlags.exec(object));
result.lastIndex = object.lastIndex;
return cloneRegExp(object);
case setTag:
return cloneSet(object);
case symbolTag:
return cloneSymbol(object);
}
return result;
}
export default initCloneByTag;