vue-app-sdk
Version:
44 lines (43 loc) • 1.92 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const _cloneArrayBuffer = require("./_cloneArrayBuffer.cjs");
const _cloneDataView = require("./_cloneDataView.cjs");
const _cloneRegExp = require("./_cloneRegExp.cjs");
const _cloneSymbol = require("./_cloneSymbol.cjs");
const _cloneTypedArray = require("./_cloneTypedArray.cjs");
var boolTag = "[object Boolean]", dateTag = "[object Date]", mapTag = "[object Map]", numberTag = "[object Number]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]";
var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
function initCloneByTag(object, tag, isDeep) {
var Ctor = object.constructor;
switch (tag) {
case arrayBufferTag:
return _cloneArrayBuffer.default(object);
case boolTag:
case dateTag:
return new Ctor(+object);
case dataViewTag:
return _cloneDataView.default(object, isDeep);
case float32Tag:
case float64Tag:
case int8Tag:
case int16Tag:
case int32Tag:
case uint8Tag:
case uint8ClampedTag:
case uint16Tag:
case uint32Tag:
return _cloneTypedArray.default(object, isDeep);
case mapTag:
return new Ctor();
case numberTag:
case stringTag:
return new Ctor(object);
case regexpTag:
return _cloneRegExp.default(object);
case setTag:
return new Ctor();
case symbolTag:
return _cloneSymbol.default(object);
}
}
exports.default = initCloneByTag;