{"version":3,"sources":["../src/fs/readJsonFile.ts"],"names":["readJsonFile","jsonfile","defaultValue","json","fs","deepMerge","readJsonFileAsync","fsPromises"],"mappings":";;;;AAKO,SAASA,CAAiEC,CAAAA,CAAAA,CAAiBC,EAAwC,CACtI,IAAIC,EAAS,EAAC,CACd,OAAGC,CAAG,CAAA,UAAA,CAAWH,CAAQ,CACrBE,GAAAA,CAAAA,CAAO,KAAK,KAAMC,CAAAA,CAAAA,CAAG,aAAaH,CAAS,CAAA,CAAC,SAAS,OAAO,CAAC,EAAE,QAAS,EAAC,GAE1EC,CACCC,GAAAA,CAAAA,CAAOE,EAAU,EAAC,CAAEH,EAAaC,CAAW,CAAA,CAAA,CAEzCA,CACX,CAEA,eAAsBG,CAAoEL,CAAAA,CAAAA,CAAkBC,EAAkD,CAC1J,IAAIC,EAAO,EAAC,CACZ,OAAI,MAAMI,QAAAA,CAAW,OAAON,CAAQ,CAAA,CAAE,KAAK,IAAM,IAAI,EAAE,KAAM,CAAA,IAAM,KAAK,CACpEE,GAAAA,CAAAA,CAAO,KAAK,KAAO,CAAA,CAAA,MAAMI,SAAW,QAASN,CAAAA,CAAAA,CAAU,CAAE,QAAU,CAAA,OAAQ,CAAC,CAAG,EAAA,QAAA,EAAU,CAEzFC,CAAAA,CAAAA,CAAAA,GACAC,EAAOE,CAAU,CAAA,GAAIH,CAAcC,CAAAA,CAAI,GAEpCA,CACX","file":"chunk-F5D2S2N3.mjs","sourcesContent":["\nimport fs from 'node:fs'\nimport { deepMerge } from '../object/deepMerge';\nimport { promises as fsPromises } from 'node:fs';\n\nexport function readJsonFile<T extends  Record<string,any> = Record<string,any>>(jsonfile: string,defaultValue?:Partial<T>):T | undefined {\n    let json:T = {} as T\n    if(fs.existsSync(jsonfile)){\n        json = JSON.parse(fs.readFileSync(jsonfile,{encoding:'utf-8'}).toString())\n    }\n    if(defaultValue){\n        json = deepMerge({},defaultValue,json as any) as T\n    }\n    return json\n}\n\nexport async function readJsonFileAsync<T extends Record<string,any>= Record<string,any>>(jsonfile: string, defaultValue?: Partial<T>):Promise<T | undefined> {\n    let json = {} as T \n    if (await fsPromises.access(jsonfile).then(() => true).catch(() => false)) {\n        json = JSON.parse((await fsPromises.readFile(jsonfile, { encoding: 'utf-8' })).toString());\n    }\n    if (defaultValue) {\n        json = deepMerge({}, defaultValue, json) as T\n    }\n    return json;\n}\n"]}