UNPKG

5.57 kBSource Map (JSON)View Raw
1{
2 "version": 3,
3 "file": "multiProgress.js",
4 "sourceRoot": "",
5 "sources": [
6 "../src/multiProgress.ts"
7 ],
8 "names": [],
9 "mappings": "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",
10 "sourcesContent": [
11 "import ProgressBar from \"progress-ex\"\nimport { setPrinter } from \"electron-builder-util/out/log\"\n\nexport class MultiProgress {\n private readonly stream = <any>process.stdout\n private cursor = 0\n\n private totalLines = 0\n\n private isLogListenerAdded = false\n\n private barCount = 0\n\n createBar(format: string, options: any) {\n options.stream = this.stream\n\n const bar: any = new ProgressBar(format, options)\n this.barCount++\n let index = -1\n\n const render = bar.render\n bar.render = (tokens: any) => {\n if (index === -1) {\n index = this.totalLines\n this.allocateLines(1)\n }\n else {\n this.moveCursor(index)\n }\n\n render.call(bar, tokens)\n\n if (!this.isLogListenerAdded) {\n this.isLogListenerAdded = true\n setPrinter(message => {\n let newLineCount = 0\n let newLineIndex = message.indexOf(\"\\n\")\n while (newLineIndex > -1) {\n newLineCount++\n newLineIndex = message.indexOf(\"\\n\", ++newLineIndex)\n }\n\n this.allocateLines(newLineCount + 1)\n this.stream.write(message)\n })\n }\n }\n\n bar.terminate = () => {\n this.barCount--\n if (this.barCount === 0 && this.totalLines > 0) {\n this.allocateLines(1)\n this.totalLines = 0\n this.cursor = 0\n setPrinter(null)\n this.isLogListenerAdded = false\n }\n }\n\n bar.tick = (len: number, tokens: any) => {\n if (len !== 0) {\n len = len || 1\n }\n\n if (tokens != null) {\n bar.tokens = tokens\n }\n\n // start time for eta\n if (bar.curr == 0) {\n bar.start = new Date()\n }\n\n bar.curr += len\n\n if (bar.complete) {\n return\n }\n\n bar.render()\n\n // progress complete\n if (bar.curr >= bar.total) {\n bar.complete = true\n bar.terminate()\n bar.callback(this)\n }\n }\n\n return bar\n }\n\n private allocateLines(count: number) {\n this.stream.moveCursor(0, this.totalLines - 1)\n // if cursor pointed to previous line where \\n is already printed, another \\n is ignored, so, we can simply print it\n this.stream.write(\"\\n\")\n this.totalLines += count\n this.cursor = this.totalLines - 1\n }\n\n private moveCursor(index: number) {\n this.stream.moveCursor(0, index - this.cursor)\n this.cursor = index\n }\n\n terminate() {\n this.moveCursor(this.totalLines)\n this.stream.clearLine()\n this.stream.cursorTo(0)\n }\n}"
12 ]
13}