Skip to content

Commit dfc4416

Browse files
committed
Add getCliSpinners
1 parent be28583 commit dfc4416

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

registry/lib/spinner.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ declare type Spinner = {
5353
warningAndStop(text?: string | undefined, ...extras: any[]): Spinner
5454
}
5555
declare const SpinnerModule: {
56+
getCliSpinners(styleName?: string | undefined): SpinnerStyle | undefined
5657
Spinner: {
57-
spinners: { [key: string]: SpinnerStyle }
5858
new (options?: Options): Spinner
5959
(options?: Options): Spinner
6060
} & Spinner

registry/lib/spinner.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
'use strict'
22

3+
const { hasOwn } = /*@__PURE__*/ require('./objects')
4+
35
const ciSpinner = {
46
frames: [''],
57
// The delay argument is converted to a signed 32-bit integer. This effectively
@@ -22,6 +24,20 @@ function normalizeText(value) {
2224
return typeof value === 'string' ? value.trimStart() : ''
2325
}
2426

27+
let _cliSpinners
28+
/*@__NO_SIDE_EFFECTS__*/
29+
function getCliSpinners(styleName) {
30+
if (_cliSpinners === undefined) {
31+
const yoctoFactory = /*@__PURE__*/ require('../external/@socketregistry/yocto-spinner')
32+
const { constructor: YoctoCtor } = yoctoFactory()
33+
_cliSpinners = YoctoCtor.spinners
34+
}
35+
if (typeof styleName === 'string') {
36+
return hasOwn(_cliSpinners, styleName) ? _cliSpinners[styleName] : undefined
37+
}
38+
return _cliSpinners
39+
}
40+
2541
let _Spinner
2642
let _defaultSpinner
2743
/*@__NO_SIDE_EFFECTS__*/
@@ -184,5 +200,6 @@ function Spinner(options) {
184200
}
185201

186202
module.exports = {
203+
getCliSpinners,
187204
Spinner
188205
}

0 commit comments

Comments
 (0)