API reference
flagstaff/import
Every export of flagstaff/import, with its signature and doc comment: fromCliSpinners, fromCliBoxes, plus 4 types.
flagstaff/import (R11) — the two data corpora the ecosystem already has, as plugins.
import cliSpinners from 'cli-spinners';
import { fromCliSpinners } from 'flagstaff/import';
import { register } from 'flagstaff/plugin';
register(fromCliSpinners(cliSpinners));
spinner('moon');import { fromCliSpinners, fromCliBoxes } from 'flagstaff/import';Functions
fromCliBoxes
Turn cli-boxes' boxes.json into a plugin. Its shape is already ours, so this is a copy.
function fromCliBoxes(corpus: Record<string, CliBox>, { name }?: FromCliBoxesOptions): Plugin;| Parameter | Type |
|---|---|
corpus | Record<string, CliBox> |
{ name } (optional) | FromCliBoxesOptions |
Returns Plugin
fromCliSpinners
Turn cli-spinners' spinners.json into a plugin. The corpus stays the caller's.
function fromCliSpinners(corpus: Record<string, CliSpinner>, { name, staticFor }?: FromCliSpinnersOptions): Plugin;| Parameter | Type |
|---|---|
corpus | Record<string, CliSpinner> |
{ name, staticFor } (optional) | FromCliSpinnersOptions |
Returns Plugin
Interfaces
CliSpinner
cli-spinners' shape: no static, because it has no projection for a pipe.
interface CliSpinner {
frames: string[];
interval?: number;
}FromCliBoxesOptions
interface FromCliBoxesOptions {
name?: string;
}FromCliSpinnersOptions
interface FromCliSpinnersOptions {
/** The plugin's name, which is what `flagstaff check` and the gallery label it with. */
name?: string;
/**
* The static projection for a style, given its name and its frames. Default: `'…'` for
* every one of them.
*/
staticFor?: (name: string, spinner: CliSpinner) => string;
}Types
CliBox
cli-boxes' shape — the same eight keys BorderStyle has, which is why it imports whole.
type CliBox = BorderStyle;