{"version":3,"file":"clone.mjs","names":[],"sources":["../../src/object/clone.ts"],"sourcesContent":["/**\n * Creates a shallow copy of value\n * @param value - The value to clone\n * @returns Returns the cloned value\n * @example\n * const obj = { a: 1, b: { c: 2 } };\n * const cloned = clone(obj);\n * cloned.a = 10;\n * console.log(obj.a); // 1\n * console.log(cloned.b === obj.b); // true (shallow copy)\n */\nexport function clone<T>(value: T): T {\n  // Handle primitives and functions\n  if (value === null || typeof value !== 'object') {\n    return value;\n  }\n\n  // Handle Date\n  if (value instanceof Date) {\n    return new Date(value.getTime()) as T;\n  }\n\n  // Handle RegExp\n  if (value instanceof RegExp) {\n    return new RegExp(value.source, value.flags) as T;\n  }\n\n  // Handle Array\n  if (Array.isArray(value)) {\n    return value.slice() as T;\n  }\n\n  // Handle Map\n  if (value instanceof Map) {\n    return new Map(value) as T;\n  }\n\n  // Handle Set\n  if (value instanceof Set) {\n    return new Set(value) as T;\n  }\n\n  // Handle plain objects\n  if (Object.prototype.toString.call(value) === '[object Object]') {\n    return { ...value };\n  }\n\n  // For other objects, return as is\n  return value;\n}\n"],"mappings":";;;;;;;;;;;;AAWA,SAAgB,MAAS,OAAa;CAEpC,IAAI,UAAU,QAAQ,OAAO,UAAU,UACrC,OAAO;CAIT,IAAI,iBAAiB,MACnB,OAAO,IAAI,KAAK,MAAM,QAAQ,CAAC;CAIjC,IAAI,iBAAiB,QACnB,OAAO,IAAI,OAAO,MAAM,QAAQ,MAAM,KAAK;CAI7C,IAAI,MAAM,QAAQ,KAAK,GACrB,OAAO,MAAM,MAAM;CAIrB,IAAI,iBAAiB,KACnB,OAAO,IAAI,IAAI,KAAK;CAItB,IAAI,iBAAiB,KACnB,OAAO,IAAI,IAAI,KAAK;CAItB,IAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM,mBAC5C,OAAO,EAAE,GAAG,MAAM;CAIpB,OAAO;AACT"}