Add cli-spinner definitions (#22581)

This commit is contained in:
Jay Anslow
2018-01-02 11:15:46 -08:00
committed by Mohamed Hegazy
parent 7189d05b09
commit 94e069c099
4 changed files with 80 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
import { Spinner } from 'cli-spinner';
let spinner: Spinner = new Spinner();
spinner.setSpinnerString('|/-\\');
spinner.start();
spinner = new Spinner('processing.. %s');
spinner = new Spinner({
text: 'processing.. %s',
stream: process.stderr,
onTick(msg) {
this.clearLine(this.stream);
this.stream.write(msg);
},
});
spinner = spinner.start();
spinner = spinner.stop().stop(true).stop(false);
spinner = spinner.clearLine(process.stdout);
spinner = spinner.setSpinnerDelay(100);
spinner = spinner.setSpinnerString('My spinner string');
spinner = spinner.setSpinnerTitle('My spinner title');
const isSpinning: boolean = spinner.isSpinning();
const Spinner2: typeof Spinner = Spinner.setDefaultSpinnerDelay(100).setDefaultSpinnerString('Other spinner string');
+29
View File
@@ -0,0 +1,29 @@
// Type definitions for cli-spinner 0.2
// Project: https://github.com/helloIAmPau/node-spinner
// Definitions by: Jay Anslow <https://github.com/janslow>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference types="node" />
export interface Options {
text?: string;
stream?: NodeJS.WritableStream;
onTick?(this: Spinner, msg: string): void;
}
export class Spinner {
static setDefaultSpinnerString(spinnerString: string | number): typeof Spinner;
static setDefaultSpinnerDelay(spinnerDelay: number): typeof Spinner;
readonly stream: NodeJS.WritableStream;
constructor(titleOrOptions?: string | Options);
start(): this;
stop(clear?: boolean): this;
isSpinning(): boolean;
clearLine(stream: NodeJS.WritableStream): this;
setSpinnerString(spinnerString: string | number): this;
setSpinnerTitle(title: string): this;
setSpinnerDelay(spinnerDelay: number): this;
}
+23
View File
@@ -0,0 +1,23 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"cli-spinner-tests.ts"
]
}
+1
View File
@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }