@salesforce/plugin-org 4.3.6-dev.2 → 4.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,202 +0,0 @@
1
- /*
2
- * Copyright (c) 2024, salesforce.com, inc.
3
- * All rights reserved.
4
- * Licensed under the BSD 3-Clause license.
5
- * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
- */
7
- import { Performance } from '@oclif/core';
8
- import { Box, render, Text } from 'ink';
9
- import { capitalCase } from 'change-case';
10
- import React from 'react';
11
- import { SpinnerOrError, SpinnerOrErrorOrChildren } from './spinner.js';
12
- function round(value, decimals = 2) {
13
- const factor = Math.pow(10, decimals);
14
- return (Math.round(value * factor) / factor).toFixed(decimals);
15
- }
16
- function msInMostReadableFormat(time, decimals = 2) {
17
- // if time < 1000ms, return time in ms
18
- if (time < 1000) {
19
- return `${time}ms`;
20
- }
21
- return secondsInMostReadableFormat(time, decimals);
22
- }
23
- function secondsInMostReadableFormat(time, decimals = 2) {
24
- if (time < 1000) {
25
- return '< 1s';
26
- }
27
- // if time < 60s, return time in seconds
28
- if (time < 60_000) {
29
- return `${round(time / 1000, decimals)}s`;
30
- }
31
- // if time < 60m, return time in minutes and seconds
32
- if (time < 3_600_000) {
33
- const minutes = Math.floor(time / 60_000);
34
- const seconds = round((time % 60_000) / 1000, 0);
35
- return `${minutes}m ${seconds}s`;
36
- }
37
- return time.toString();
38
- }
39
- const MARKERS = new Map();
40
- const getSideDividerWidth = (width, titleWidth) => (width - titleWidth) / 2;
41
- const getNumberOfCharsPerWidth = (char, width) => width / char.length;
42
- const PAD = ' ';
43
- function Divider({ title = '', width = 50, padding = 1, titlePadding = 1, titleColor = 'white', dividerChar = '─', dividerColor = 'dim', }) {
44
- const titleString = title ? `${PAD.repeat(titlePadding) + title + PAD.repeat(titlePadding)}` : '';
45
- const titleWidth = titleString.length;
46
- const terminalWidth = process.stdout.columns ?? 80;
47
- const widthToUse = width === 'full' ? terminalWidth - titlePadding : width > terminalWidth ? terminalWidth : width;
48
- const dividerWidth = getSideDividerWidth(widthToUse, titleWidth);
49
- const numberOfCharsPerSide = getNumberOfCharsPerWidth(dividerChar, dividerWidth);
50
- const dividerSideString = dividerChar.repeat(numberOfCharsPerSide);
51
- const paddingString = PAD.repeat(padding);
52
- return (React.createElement(Box, { flexDirection: "row" },
53
- React.createElement(Text, null,
54
- paddingString,
55
- React.createElement(Text, { color: dividerColor }, dividerSideString),
56
- React.createElement(Text, { color: titleColor }, titleString),
57
- React.createElement(Text, { color: dividerColor }, dividerSideString),
58
- paddingString)));
59
- }
60
- function Timer({ color, isStopped, unit, }) {
61
- const [time, setTime] = React.useState(0);
62
- const [previousDate, setPreviousDate] = React.useState(Date.now());
63
- React.useEffect(() => {
64
- if (isStopped) {
65
- setTime(time + (Date.now() - previousDate));
66
- setPreviousDate(Date.now());
67
- return () => { };
68
- }
69
- const intervalId = setInterval(() => {
70
- setTime(time + (Date.now() - previousDate));
71
- setPreviousDate(Date.now());
72
- }, unit === 'ms' ? 1 : 1000);
73
- return () => {
74
- clearInterval(intervalId);
75
- };
76
- }, [time, isStopped, previousDate, unit]);
77
- return (React.createElement(Text, { color: color }, unit === 'ms' ? msInMostReadableFormat(time) : secondsInMostReadableFormat(time, 0)));
78
- }
79
- function Space({ repeat = 1 }) {
80
- return React.createElement(Text, null, ' '.repeat(repeat));
81
- }
82
- function StaticKeyValue({ label, value, isBold, color, isStatic }) {
83
- if (!value || !isStatic)
84
- return;
85
- return (React.createElement(Box, null,
86
- React.createElement(Text, { bold: isBold },
87
- label,
88
- ": "),
89
- React.createElement(Text, { color: color }, value)));
90
- }
91
- function Stages({ currentStage, error, hasElapsedTime = true, hasFinished, hasStageTime = true, info, stages, timerUnit = 'ms', title, }) {
92
- if (!currentStage)
93
- return;
94
- const spinnerType = process.platform === 'win32' ? 'line' : 'arc';
95
- return (React.createElement(Box, { flexDirection: "column", paddingTop: 1 },
96
- React.createElement(Divider, { title: title }),
97
- React.createElement(Box, { flexDirection: "column", paddingTop: 1, marginLeft: 1 }, stages.map((stage, stageIndex) => {
98
- const isCurrent = currentStage === stage && !hasFinished;
99
- const isCompleted = hasFinished ?? (!isCurrent && stages.indexOf(currentStage) >= stageIndex);
100
- const isFuture = !isCompleted && !isCurrent && stages.indexOf(currentStage) < stageIndex;
101
- if (isCurrent && !MARKERS.has(stage)) {
102
- MARKERS.set(stage, Performance.mark('MultiStageRenderer', stage.replaceAll(' ', '-').toLowerCase()));
103
- }
104
- if (isCompleted) {
105
- const marker = MARKERS.get(stage);
106
- if (marker && !marker.stopped) {
107
- marker.stop();
108
- }
109
- }
110
- return (React.createElement(Box, { key: stage },
111
- isCurrent && React.createElement(SpinnerOrError, { error: error, type: "dots2", label: capitalCase(stage) }),
112
- isCompleted && (React.createElement(Box, null,
113
- React.createElement(Text, { color: "green" }, "\u2713 "),
114
- React.createElement(Text, null,
115
- capitalCase(stage),
116
- " "))),
117
- isFuture && React.createElement(Text, { color: "dim" },
118
- "\u25FC ",
119
- capitalCase(stage)),
120
- !isFuture && hasStageTime && (React.createElement(Box, null,
121
- React.createElement(Space, null),
122
- React.createElement(Timer, { color: "dim", isStopped: isCompleted, unit: timerUnit })))));
123
- })),
124
- hasElapsedTime && (React.createElement(Box, { paddingTop: 1, marginLeft: 1 },
125
- React.createElement(Text, null, "Elapsed Time: "),
126
- React.createElement(Timer, { unit: timerUnit }))),
127
- React.createElement(Box, { flexDirection: "column", paddingTop: 1, marginLeft: 1 }, info?.map((i) => i.isStatic ? (React.createElement(StaticKeyValue, { key: i.label, ...i })) : (React.createElement(SpinnerOrErrorOrChildren, { key: i.label, label: `${i.label}: `, labelPosition: "left", error: error, type: spinnerType }, i.value && (React.createElement(Text, { bold: i.isBold, color: i.color }, i.value))))))));
128
- }
129
- export class MultiStageRenderer {
130
- currentStage;
131
- data;
132
- instance;
133
- info;
134
- stages;
135
- title;
136
- hasElapsedTime;
137
- hasStageTime;
138
- timerUnit;
139
- constructor({ info, stages, title, showElapsedTime, showStageTime, timerUnit: timerUnit, }) {
140
- this.stages = stages;
141
- this.title = title;
142
- this.info = info;
143
- this.currentStage = stages[0];
144
- this.hasElapsedTime = showElapsedTime ?? true;
145
- this.hasStageTime = showStageTime ?? true;
146
- this.timerUnit = timerUnit ?? 'ms';
147
- }
148
- start(data) {
149
- this.data = { ...this.data, ...data };
150
- this.instance = render(React.createElement(Stages, { hasElapsedTime: this.hasElapsedTime, hasStageTime: this.hasStageTime, timerUnit: this.timerUnit, info: this.formatInfo(), stages: this.stages, title: this.title }));
151
- }
152
- next(data) {
153
- const nextStageIndex = this.stages.indexOf(this.currentStage) + 1;
154
- if (nextStageIndex < this.stages.length) {
155
- this.update(this.stages[nextStageIndex], data);
156
- }
157
- }
158
- previous(data) {
159
- const previousStageIndex = this.stages.indexOf(this.currentStage) - 1;
160
- if (previousStageIndex >= 0) {
161
- this.update(this.stages[previousStageIndex], data);
162
- }
163
- }
164
- goto(stage, data) {
165
- if (this.stages.includes(stage)) {
166
- this.update(stage, data);
167
- }
168
- }
169
- last(data) {
170
- this.update(this.stages[this.stages.length - 1], data);
171
- }
172
- stop(error) {
173
- if (error) {
174
- this.instance?.rerender(React.createElement(Stages, { currentStage: this.currentStage, info: this.formatInfo(), stages: this.stages, title: this.title, error: error, hasElapsedTime: this.hasElapsedTime, hasStageTime: this.hasStageTime, timerUnit: this.timerUnit }));
175
- }
176
- else {
177
- this.instance?.rerender(React.createElement(Stages, { hasFinished: true, currentStage: this.currentStage, info: this.formatInfo(), stages: this.stages, title: this.title, hasElapsedTime: this.hasElapsedTime, hasStageTime: this.hasStageTime, timerUnit: this.timerUnit }));
178
- }
179
- this.instance?.unmount();
180
- }
181
- [Symbol.dispose]() {
182
- this.instance?.unmount();
183
- }
184
- update(stage, data) {
185
- this.currentStage = stage;
186
- this.data = { ...this.data, ...data };
187
- this.instance?.rerender(React.createElement(Stages, { hasElapsedTime: this.hasElapsedTime, hasStageTime: this.hasStageTime, timerUnit: this.timerUnit, info: this.formatInfo(), currentStage: this.currentStage, stages: this.stages, title: this.title }));
188
- }
189
- formatInfo() {
190
- return (this.info?.map((info) => {
191
- const formattedData = info.get ? info.get(this.data) : undefined;
192
- return {
193
- value: formattedData,
194
- label: info.label,
195
- isBold: info.bold,
196
- color: info.color,
197
- isStatic: info.static,
198
- };
199
- }) ?? []);
200
- }
201
- }
202
- //# sourceMappingURL=stages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stages.js","sourceRoot":"","sources":["../../src/components/stages.tsx"],"names":[],"mappings":"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"}