UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

199 lines (191 loc) 8.02 kB
import { getDefaultExportFromCjs } from '../../../../_virtual/_commonjsHelpers.js'; import { __exports as cloneDeepWith$1 } from '../../../../_virtual/cloneDeepWith4.js'; import '../../../../_virtual/getSymbols.js'; import '../../../../_virtual/getTag.js'; import '../../../../_virtual/tags.js'; import '../../../../_virtual/isPrimitive.js'; import '../../../../_virtual/isTypedArray3.js'; import { __exports as getSymbols } from '../../../../_virtual/getSymbols2.js'; import { __exports as getTag } from '../../../../_virtual/getTag2.js'; import { __exports as tags } from '../../../../_virtual/tags2.js'; import { __exports as isPrimitive } from '../../../../_virtual/isPrimitive2.js'; import { __exports as isTypedArray } from '../../../../_virtual/isTypedArray4.js'; (function (exports) { 'use strict'; Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const getSymbols$1 = getSymbols; const getTag$1 = getTag; const tags$1 = tags; const isPrimitive$1 = isPrimitive; const isTypedArray$1 = isTypedArray; function cloneDeepWith(obj, cloneValue) { return cloneDeepWithImpl(obj, undefined, obj, new Map(), cloneValue); } function cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = new Map(), cloneValue = undefined) { const cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack); if (cloned !== undefined) { return cloned; } if (isPrimitive$1.isPrimitive(valueToClone)) { return valueToClone; } if (stack.has(valueToClone)) { return stack.get(valueToClone); } if (Array.isArray(valueToClone)) { const result = new Array(valueToClone.length); stack.set(valueToClone, result); for (let i = 0; i < valueToClone.length; i++) { result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue); } if (Object.hasOwn(valueToClone, 'index')) { result.index = valueToClone.index; } if (Object.hasOwn(valueToClone, 'input')) { result.input = valueToClone.input; } return result; } if (valueToClone instanceof Date) { return new Date(valueToClone.getTime()); } if (valueToClone instanceof RegExp) { const result = new RegExp(valueToClone.source, valueToClone.flags); result.lastIndex = valueToClone.lastIndex; return result; } if (valueToClone instanceof Map) { const result = new Map(); stack.set(valueToClone, result); for (const [key, value] of valueToClone) { result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue)); } return result; } if (valueToClone instanceof Set) { const result = new Set(); stack.set(valueToClone, result); for (const value of valueToClone) { result.add(cloneDeepWithImpl(value, undefined, objectToClone, stack, cloneValue)); } return result; } if (typeof Buffer !== 'undefined' && Buffer.isBuffer(valueToClone)) { return valueToClone.subarray(); } if (isTypedArray$1.isTypedArray(valueToClone)) { const result = new (Object.getPrototypeOf(valueToClone).constructor)(valueToClone.length); stack.set(valueToClone, result); for (let i = 0; i < valueToClone.length; i++) { result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue); } return result; } if (valueToClone instanceof ArrayBuffer || (typeof SharedArrayBuffer !== 'undefined' && valueToClone instanceof SharedArrayBuffer)) { return valueToClone.slice(0); } if (valueToClone instanceof DataView) { const result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength); stack.set(valueToClone, result); copyProperties(result, valueToClone, objectToClone, stack, cloneValue); return result; } if (typeof File !== 'undefined' && valueToClone instanceof File) { const result = new File([valueToClone], valueToClone.name, { type: valueToClone.type, }); stack.set(valueToClone, result); copyProperties(result, valueToClone, objectToClone, stack, cloneValue); return result; } if (typeof Blob !== 'undefined' && valueToClone instanceof Blob) { const result = new Blob([valueToClone], { type: valueToClone.type }); stack.set(valueToClone, result); copyProperties(result, valueToClone, objectToClone, stack, cloneValue); return result; } if (valueToClone instanceof Error) { const result = new valueToClone.constructor(); stack.set(valueToClone, result); result.message = valueToClone.message; result.name = valueToClone.name; result.stack = valueToClone.stack; result.cause = valueToClone.cause; copyProperties(result, valueToClone, objectToClone, stack, cloneValue); return result; } if (valueToClone instanceof Boolean) { const result = new Boolean(valueToClone.valueOf()); stack.set(valueToClone, result); copyProperties(result, valueToClone, objectToClone, stack, cloneValue); return result; } if (valueToClone instanceof Number) { const result = new Number(valueToClone.valueOf()); stack.set(valueToClone, result); copyProperties(result, valueToClone, objectToClone, stack, cloneValue); return result; } if (valueToClone instanceof String) { const result = new String(valueToClone.valueOf()); stack.set(valueToClone, result); copyProperties(result, valueToClone, objectToClone, stack, cloneValue); return result; } if (typeof valueToClone === 'object' && isCloneableObject(valueToClone)) { const result = Object.create(Object.getPrototypeOf(valueToClone)); stack.set(valueToClone, result); copyProperties(result, valueToClone, objectToClone, stack, cloneValue); return result; } return valueToClone; } function copyProperties(target, source, objectToClone = target, stack, cloneValue) { const keys = [...Object.keys(source), ...getSymbols$1.getSymbols(source)]; for (let i = 0; i < keys.length; i++) { const key = keys[i]; const descriptor = Object.getOwnPropertyDescriptor(target, key); if (descriptor == null || descriptor.writable) { target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue); } } } function isCloneableObject(object) { switch (getTag$1.getTag(object)) { case tags$1.argumentsTag: case tags$1.arrayTag: case tags$1.arrayBufferTag: case tags$1.dataViewTag: case tags$1.booleanTag: case tags$1.dateTag: case tags$1.float32ArrayTag: case tags$1.float64ArrayTag: case tags$1.int8ArrayTag: case tags$1.int16ArrayTag: case tags$1.int32ArrayTag: case tags$1.mapTag: case tags$1.numberTag: case tags$1.objectTag: case tags$1.regexpTag: case tags$1.setTag: case tags$1.stringTag: case tags$1.symbolTag: case tags$1.uint8ArrayTag: case tags$1.uint8ClampedArrayTag: case tags$1.uint16ArrayTag: case tags$1.uint32ArrayTag: { return true; } default: { return false; } } } exports.cloneDeepWith = cloneDeepWith; exports.cloneDeepWithImpl = cloneDeepWithImpl; exports.copyProperties = copyProperties; } (cloneDeepWith$1)); var cloneDeepWith = /*@__PURE__*/getDefaultExportFromCjs(cloneDeepWith$1); export { cloneDeepWith as default }; //# sourceMappingURL=cloneDeepWith.js.map