{"version":3,"sources":["../src/object/omit.ts"],"names":["omit","source","keys","returnNewObject","newObject","key","value","field"],"mappings":";;;;AAuBO,SAASA,CAAKC,CAAAA,CAAAA,CAAmCC,CAAgBC,CAAAA,CAAAA,CAAyB,CAC5F,IAAIC,CAAYD,CAAAA,CAAAA,GAAkB,KAAQF,CAAAA,CAAAA,CAAS,MAAO,CAAA,MAAA,CAAO,EAAC,CAAEA,CAAM,CAAA,CAC1E,OAAG,OAAOC,CAAS,EAAA,UAAA,CAChB,MAAO,CAAA,OAAA,CAAQE,CAAS,CAAA,CAAE,OAAQ,CAAA,CAAC,CAACC,CAAAA,CAAIC,CAAK,CAAA,GAAK,CAC3CJ,CAAAA,CAAK,IAAKD,CAAAA,CAAAA,CAAOI,CAAIC,CAAAA,CAAK,CACzB,EAAA,OAAOF,CAAUC,CAAAA,CAAG,EAE5B,CAAC,CAEqB,CAAA,CAAA,KAAA,CAAM,OAAQH,CAAAA,CAAI,CAAIA,CAAAA,CAAAA,CAAO,CAACA,CAAI,CACjD,EAAA,OAAA,CAAQK,CAAQ,EAAA,CACnB,OAAOH,CAAAA,CAAUG,CAAK,EAC1B,CAAC,CAAA,CAEGH,CACX","file":"chunk-ZZBHJFGV.mjs","sourcesContent":["/**\n * 从对象中排除指定的字段，返回新对象\n * \n * omit({a:1,b:2,c:3},\"a\")  // == {a:1}\n * omit({a:1,b:2,c:3},[\"a\",\"b\"])  // == {a:1,b:2} \n * omit({a:1,b:2,c:3},(k,v)=>{\n *      return k =='a'\n * } )  // == {a:1}\n * \n * \n * \n */\n\nimport type { ItemPicker } from \"./pick\"\n\n\n/**\n * \n * @param source \n * @param keys \n * @param returnNewObject  是否返回新的对象，false代表会修改原对象\n * @returns \n */\nexport function omit(source:Record<string | symbol,any>,keys:ItemPicker,returnNewObject?:boolean){\n     let newObject = returnNewObject===false ? source : Object.assign({},source)      \n     if(typeof(keys) == 'function'){\n        Object.entries(newObject).forEach(([key,value]) =>{\n            if(keys.call(source,key,value)){\n                delete newObject[key]\n            } \n        })\n     }else{\n        let fields:string[] = Array.isArray(keys) ? keys : [keys]\n        fields.forEach(field =>{\n            delete newObject[field]\n        })\n     }     \n     return newObject \n }\n "]}