UNPKG

2.65 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../../Scripts/clusterConfigSettingsUtils.ts"],"names":["readFileAsync","fs","readFile","writeFileAsync","writeFile","updateClusterConfigConfigurationFile","pathToFile","optionsToUpdate","fileContent","lines","split","patchedLines","appliedOptionNames","line","name","map","x","trim","Object","keys","includes","push","optionName","join"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,MAAMA,aAAa,GAAG,qBAAUC,YAAGC,QAAb,CAAtB;AACA,MAAMC,cAAc,GAAG,qBAAUF,YAAGG,SAAb,CAAvB;;AAEO,eAAeC,oCAAf,CACHC,UADG,EAEHC,eAFG,EAGU;AACb,QAAMC,WAAW,GAAG,MAAMR,aAAa,CAACM,UAAD,EAAa,MAAb,CAAvC;AACA,QAAMG,KAAK,GAAGD,WAAW,CAACE,KAAZ,CAAkB,IAAlB,CAAd;AACA,QAAMC,YAAY,GAAG,EAArB;AACA,QAAMC,kBAAkB,GAAG,EAA3B;;AACA,OAAK,MAAMC,IAAX,IAAmBJ,KAAnB,EAA0B;AACtB,UAAM,CAACK,IAAD,IAASD,IAAI,CAACH,KAAL,CAAW,GAAX,EAAgB,CAAhB,EAAmBK,GAAnB,CAAuBC,CAAC,IAAIA,CAAC,CAACC,IAAF,EAA5B,CAAf;;AACA,QAAIC,MAAM,CAACC,IAAP,CAAYZ,eAAZ,EAA6Ba,QAA7B,CAAsCN,IAAtC,CAAJ,EAAiD;AAC7CF,MAAAA,kBAAkB,CAACS,IAAnB,CAAwBP,IAAxB;AACAH,MAAAA,YAAY,CAACU,IAAb,CAAmB,GAAEP,IAAK,MAAKP,eAAe,CAACO,IAAD,CAAO,EAArD;AACH,KAHD,MAGO;AACHH,MAAAA,YAAY,CAACU,IAAb,CAAkBR,IAAlB;AACH;AACJ;;AACD,OAAK,MAAMS,UAAX,IAAyBJ,MAAM,CAACC,IAAP,CAAYZ,eAAZ,CAAzB,EAAuD;AACnD,QAAI,CAACK,kBAAkB,CAACQ,QAAnB,CAA4BE,UAA5B,CAAL,EAA8C;AAC1CX,MAAAA,YAAY,CAACU,IAAb,CAAmB,GAAEC,UAAW,MAAKf,eAAe,CAACe,UAAD,CAAa,EAAjE;AACH;AACJ;;AACD,QAAMnB,cAAc,CAACG,UAAD,EAAaK,YAAY,CAACY,IAAb,CAAkB,IAAlB,CAAb,EAAsC,MAAtC,CAApB;AACH","sourcesContent":["import fs from \"fs\";\nimport { promisify } from \"util\";\n\nconst readFileAsync = promisify(fs.readFile);\nconst writeFileAsync = promisify(fs.writeFile);\n\nexport async function updateClusterConfigConfigurationFile(\n pathToFile: string,\n optionsToUpdate: { [name: string]: string }\n): Promise<void> {\n const fileContent = await readFileAsync(pathToFile, \"utf8\");\n const lines = fileContent.split(\"\\n\");\n const patchedLines = [];\n const appliedOptionNames = [];\n for (const line of lines) {\n const [name] = line.split(\"=\", 2).map(x => x.trim());\n if (Object.keys(optionsToUpdate).includes(name)) {\n appliedOptionNames.push(name);\n patchedLines.push(`${name} = ${optionsToUpdate[name]}`);\n } else {\n patchedLines.push(line);\n }\n }\n for (const optionName of Object.keys(optionsToUpdate)) {\n if (!appliedOptionNames.includes(optionName)) {\n patchedLines.push(`${optionName} = ${optionsToUpdate[optionName]}`);\n }\n }\n await writeFileAsync(pathToFile, patchedLines.join(\"\\n\"), \"utf8\");\n}\n"],"file":"clusterConfigSettingsUtils.js"}
\No newline at end of file