UNPKG

@ipp/cli

Version:

An image build orchestrator for the modern web

69 lines (68 loc) 3.11 kB
"use strict"; /** * 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;