{"version":3,"sources":["../src/object/isDiff.ts"],"names":["isDiff","baseObj","refObj","i","v1","v2","isPlainObject","key","value"],"mappings":";;;;AAeO,SAASA,EAAOC,CAAiCC,CAAAA,CAAAA,CAAuC,CAE3F,GAAG,OAAOD,GAAW,OAAOC,CAAAA,CAAS,OAAO,KAE5C,CAAA,GAAG,MAAM,OAAQD,CAAAA,CAAO,GAAK,KAAM,CAAA,OAAA,CAAQC,CAAM,CAAE,CAAA,CAC/C,GAAGD,CAAAA,CAAQ,QAAQC,CAAO,CAAA,MAAA,CAAQ,OAAO,KACzC,CAAA,IAAA,IAAQC,EAAW,CAAGA,CAAAA,CAAAA,CAAIF,EAAQ,MAAOE,CAAAA,CAAAA,EAAAA,CAAI,CACzC,IAAIC,CAAAA,CAAKH,EAAQE,CAAC,CAAA,CAAGE,EAAKH,CAAOC,CAAAA,CAAC,CAClC,CAAA,GAAG,OAAOC,CAAK,EAAA,OAAOC,EAAK,OAAO,KAAA,CAClC,GAAG,EAAAD,CAAAA,EAAM,MAAQC,CAAM,EAAA,IAAA,CAAA,CAAA,CACvB,GAAG,KAAM,CAAA,OAAA,CAAQD,CAAE,CAAK,EAAA,KAAA,CAAM,QAAQC,CAAE,CAAA,CAAA,CACpC,GAAGL,CAAOI,CAAAA,CAAAA,CAAGC,CAAE,CAAG,CAAA,OAAO,cACpBC,CAAcF,CAAAA,CAAE,GAAME,CAAcD,CAAAA,CAAE,GAC3C,GAAGL,CAAAA,CAAOI,EAAGC,CAAE,CAAA,CAAG,OAAO,KAEtBD,CAAAA,KAAAA,GAAAA,CAAAA,EAAIA,EAAI,OAAO,KAAA,CAE1B,CACJ,CAAA,KAAA,GAASE,EAAcL,CAAO,CAAA,EAAKK,EAAcJ,CAAM,CAAA,CAAE,CACrD,GAAG,MAAA,CAAO,KAAKD,CAAO,CAAA,CAAE,QAAU,MAAO,CAAA,IAAA,CAAKC,CAAM,CAAE,CAAA,MAAA,CAAQ,OAAO,KACrE,CAAA,IAAA,GAAQ,CAACK,CAAAA,CAAIC,CAAK,CAAK,GAAA,MAAA,CAAO,QAAQP,CAAO,CAAA,CAAE,CAC3C,IAAMG,CAAAA,CAAKI,EAAMH,CAAMH,CAAAA,CAAAA,CAA+BK,CAAG,CACzD,CAAA,GAAG,EAAAH,CAAM,EAAA,IAAA,EAAQC,GAAM,IAEvB,CAAA,CAAA,CAAA,GADG,EAAEE,CAAAA,IAAOL,IACT,OAAOE,CAAAA,EAAO,OAAOC,CAAK,CAAA,OAAO,MACpC,GAAG,KAAA,CAAM,QAAQD,CAAE,CAAA,EAAK,MAAM,OAAQC,CAAAA,CAAE,GACpC,GAAGL,CAAAA,CAAOI,EAAGC,CAAE,CAAA,CAAG,OAAO,KACpB,CAAA,KAAA,GAAA,OAAOD,GAAK,QAAY,EAAA,OAAOC,GAAK,QACzC,CAAA,CAAA,GAAGL,EAAOI,CAAGC,CAAAA,CAAE,EAAG,OAAO,KAAA,CAAA,KAAA,GAEtBD,GAAMC,CAAI,CAAA,OAAO,MAE5B,CACJ,CACA,OAAO,MACX","file":"chunk-LQCGGZJT.mjs","sourcesContent":["\n/**\n * 判断两个对象是否不同，不同则返回true，相同则返回false\n * \n * \n * 比较是baseObj为基准的，如果refObj中有baseObj中没有的属性，则不会被比较\n * \n * @param baseObj \n * @param refObj \n * @param isRecursion  当isDiff被递归调用时置为true\n * @returns {Boolean} \n */\n\nimport { isPlainObject } from \"../typecheck/isPlainObject\"\n\nexport function isDiff(baseObj:Record<string,any> | [], refObj:Record<string,any> | []):boolean{ \n\n    if(typeof(baseObj)!= typeof(refObj)) return true     \n\n    if(Array.isArray(baseObj) && Array.isArray(refObj)){\n        if(baseObj.length!=refObj.length) return true  // 长度不同\n        for(let i:number = 0; i < baseObj.length;i++){\n            let v1 = baseObj[i], v2 = refObj[i]                \n            if(typeof(v1)!=typeof(v2)) return true   // 类型不同\n            if(v1 == null && v2 == null)  continue\n            if(Array.isArray(v1) && Array.isArray(v2)){\n                if(isDiff(v1,v2)) return true    \n            }else if(isPlainObject(v1)  && isPlainObject(v2) ){\n                if(isDiff(v1,v2)) return true \n            }else{\n                if(v1!=v1) return true\n            }            \n        }\n    }else if(isPlainObject(baseObj) && isPlainObject(refObj)){\n        if(Object.keys(baseObj).length != Object.keys(refObj).length) return true \n        for(let [key,value] of Object.entries(baseObj)){\n            const v1 = value,v2 = (refObj as Record<string,any>) [key]\n            if(v1 == null && v2 == null)  continue\n            if(!(key in refObj)) return true\n            if(typeof(v1) != typeof(v2)) return true        \n            if(Array.isArray(v1) && Array.isArray(v2)){\n                if(isDiff(v1,v2)) return true    \n            }else if(typeof(v1)==\"object\" && typeof(v2)==\"object\"){\n                if(isDiff(v1,v2)) return true                            \n            }else{\n                if(v1 != v2) return true\n            }\n        }                      \n    }    \n    return false\n}\n\n\n\n\n"]}