flagstaff
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;
ParameterType
corpusRecord<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;
ParameterType
corpusRecord<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;

On this page