UNPKG

1.23 kBJavaScriptView Raw
1"use strict";
2// tslint:disable restrict-plus-operands
3Object.defineProperty(exports, "__esModule", { value: true });
4const tslib_1 = require("tslib");
5const chalk_1 = tslib_1.__importDefault(require("chalk"));
6const supportsColor = tslib_1.__importStar(require("supports-color"));
7const spinner_1 = tslib_1.__importDefault(require("./spinner"));
8function color(s, frameIndex) {
9 const prideColors = [
10 chalk_1.default.keyword('pink'),
11 chalk_1.default.red,
12 chalk_1.default.keyword('orange'),
13 chalk_1.default.yellow,
14 chalk_1.default.green,
15 chalk_1.default.cyan,
16 chalk_1.default.blue,
17 chalk_1.default.magenta,
18 ];
19 if (!supportsColor)
20 return s;
21 let has256 = supportsColor.stdout.has256 || (process.env.TERM || '').indexOf('256') !== -1;
22 const prideColor = prideColors[frameIndex] || prideColors[0];
23 return has256 ? prideColor(s) : chalk_1.default.magenta(s);
24}
25class PrideSpinnerAction extends spinner_1.default {
26 _frame() {
27 let frame = this.frames[this.frameIndex];
28 this.frameIndex = ++this.frameIndex % this.frames.length;
29 return color(frame, this.frameIndex);
30 }
31}
32exports.default = PrideSpinnerAction;