DebugLogger.js.map 2.48 KB
{"version":3,"sources":["../src/DebugLogger.ts"],"names":[],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEM,MAAO,WAAP,CAAkB;AAGtB,EAAA,WAAA,CAAqB,SAAA,GAAY,IAAjC,EAAqC;AAAhB,SAAA,SAAA,GAAA,SAAA;AAFZ,SAAA,IAAA,GAAY,EAAZ;AAGR;;AAED,EAAA,GAAG,CAAC,GAAD,EAAc,KAAd,EAAwB;AACzB,QAAI,CAAC,KAAK,SAAV,EAAqB;AACnB;AACD;;AAED,UAAM,QAAQ,GAAG,GAAG,CAAC,KAAJ,CAAU,GAAV,CAAjB;AACA,QAAI,CAAC,GAAG,KAAK,IAAb;AACA,QAAI,QAAQ,GAAkB,IAA9B;;AACA,SAAK,MAAM,CAAX,IAAgB,QAAhB,EAA0B;AACxB,UAAI,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAT,GAAkB,CAAnB,CAAlB,EAAyC;AACvC,QAAA,QAAQ,GAAG,CAAX;AACA;AACD,OAHD,MAIK;AACH,YAAI,CAAC,CAAC,CAAD,CAAD,IAAQ,IAAZ,EAAkB;AAChB,UAAA,CAAC,CAAC,CAAD,CAAD,GAAO,MAAM,CAAC,MAAP,CAAc,IAAd,CAAP;AACD,SAFD,MAGK,IAAI,OAAO,CAAC,CAAC,CAAD,CAAR,KAAgB,QAApB,EAA8B;AACjC,UAAA,CAAC,CAAC,CAAD,CAAD,GAAO,CAAC,CAAC,CAAC,CAAD,CAAF,CAAP;AACD;;AACD,QAAA,CAAC,GAAG,CAAC,CAAC,CAAD,CAAL;AACD;AACF;;AAED,QAAI,KAAK,CAAC,OAAN,CAAc,CAAC,CAAC,QAAD,CAAf,CAAJ,EAAkC;AAChC,MAAA,CAAC,CAAC,QAAD,CAAD,CAAc,IAAd,CAAmB,KAAnB;AACD,KAFD,MAGK;AACH,MAAA,CAAC,CAAC,QAAD,CAAD,GAAgB,KAAhB;AACD;AACF;;AAED,EAAA,IAAI,CAAC,IAAD,EAAa;AACf;AACA,QAAI,KAAK,SAAL,IAAkB,MAAM,CAAC,IAAP,CAAY,KAAK,IAAjB,EAAuB,MAAvB,GAAgC,CAAtD,EAAyD;AACvD,aAAO,2BAAW,IAAX,EAAiB,6BAAgB,KAAK,IAArB,CAAjB,CAAP;AACD,KAFD,MAGK;AACH,aAAO,OAAO,CAAC,OAAR,EAAP;AACD;AACF;;AA9CqB,C","sourcesContent":["import { outputFile } from \"fs-extra\"\nimport { serializeToYaml } from \"./util\"\n\nexport class DebugLogger {\n  readonly data: any = {}\n\n  constructor(readonly isEnabled = true) {\n  }\n\n  add(key: string, value: any) {\n    if (!this.isEnabled) {\n      return\n    }\n\n    const dataPath = key.split(\".\")\n    let o = this.data\n    let lastName: string | null = null\n    for (const p of dataPath) {\n      if (p === dataPath[dataPath.length - 1]) {\n        lastName = p\n        break\n      }\n      else {\n        if (o[p] == null) {\n          o[p] = Object.create(null)\n        }\n        else if (typeof o[p] === \"string\") {\n          o[p] = [o[p]]\n        }\n        o = o[p]\n      }\n    }\n\n    if (Array.isArray(o[lastName!!])) {\n      o[lastName!!].push(value)\n    }\n    else {\n      o[lastName!!] = value\n    }\n  }\n\n  save(file: string) {\n    // toml and json doesn't correctly output multiline string as multiline\n    if (this.isEnabled && Object.keys(this.data).length > 0) {\n      return outputFile(file, serializeToYaml(this.data))\n    }\n    else {\n      return Promise.resolve()\n    }\n  }\n}"],"sourceRoot":""}