@ipp/cli
Version:
An image build orchestrator for the modern web
69 lines (68 loc) • 3.11 kB
JavaScript
;
/**
* Image Processing Pipeline - Copyright (c) Marcus Cemes
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Stats = void 0;
const ink_1 = require("ink");
const react_1 = __importDefault(require("react"));
const constants_1 = require("../../constants");
const hooks_1 = require("./hooks");
const Config = () => {
const concurrency = (0, hooks_1.useAppStateValue)((state) => state.concurrency);
const manifest = (0, hooks_1.useAppStateValue)((state) => !!state.manifest);
const clean = (0, hooks_1.useAppStateValue)((state) => !!state.clean);
if (concurrency === null)
return null;
return (react_1.default.createElement(ink_1.Box, { marginBottom: 1, flexDirection: "column" },
react_1.default.createElement(ink_1.Text, null,
"Version: ",
react_1.default.createElement(ink_1.Text, { bold: true }, constants_1.VERSION.toString())),
react_1.default.createElement(ink_1.Text, null,
"Concurrency: ",
react_1.default.createElement(ink_1.Text, { bold: true }, concurrency)),
react_1.default.createElement(ink_1.Text, { color: manifest ? void 0 : "grey" },
"Manifest: ",
react_1.default.createElement(ink_1.Text, { bold: true }, manifest ? "enabled" : "disabled")),
react_1.default.createElement(ink_1.Text, { color: clean ? void 0 : "grey" },
"Clean: ",
react_1.default.createElement(ink_1.Text, { bold: true }, clean ? "enabled" : "disabled"))));
};
const Found = () => {
const found = (0, hooks_1.useAppStateValue)((state) => state.images.found);
if (found === null)
return null;
return react_1.default.createElement(ink_1.Text, null,
"Total: ",
found);
};
const Completed = () => {
const completed = (0, hooks_1.useAppStateValue)((state) => state.images.completed);
if (completed === null || completed === 0)
return null;
return react_1.default.createElement(ink_1.Text, { color: "green" },
"Completed: ",
completed);
};
const Failed = () => {
const failed = (0, hooks_1.useAppStateValue)((state) => state.images.failed);
if (failed === null || failed === 0)
return null;
return (react_1.default.createElement(react_1.default.Fragment, null,
react_1.default.createElement(ink_1.Text, { color: "red" },
"Failed: ",
failed)));
};
const Stats = () => (react_1.default.createElement(react_1.default.Fragment, null,
react_1.default.createElement(Config, null),
react_1.default.createElement(ink_1.Box, { flexDirection: "column" },
react_1.default.createElement(Found, null),
react_1.default.createElement(Completed, null),
react_1.default.createElement(Failed, null))));
exports.Stats = Stats;