Function format

  • Format wrapper function.

    Remarks

    Given an open, a close string and an input string, return formatted input (surrounded by open and close).

    Example

    format(13)(42)("Vangware"); // "\x1b[42mVangware\x1b[13m"
    // It can also be used as a tag function for tagged templates:
    format(13)(42)`Vangware`; // "\x1b[42mVangware\x1b[13m"

    See

    Type Parameters

    • const Close extends number

      Close string generic.

    Parameters

    • close: Close

      Close string.

    Returns (<const Open>(open) => (<Input>(input, ...expressions) => `[${Open extends readonly [Maybe<number>, Maybe<number>]
        ? `${First<Open> extends number
            ? First<Open>
            : ""};${Second<Open> extends number
            ? Second<Open>
            : ""}`
        : `${Open & number}`}m${Input extends string
        ? Input
        : string}[${Close extends readonly [Maybe<number>, Maybe<number>]
        ? `${First<Close> extends number
            ? First<Close>
            : ""};${Second<Close> extends number
            ? Second<Close>
            : ""}`
        : `${Close & number}`}m`))

    Curried function with close in context.

      • <const Open>(open): (<Input>(input, ...expressions) => `[${Open extends readonly [Maybe<number>, Maybe<number>]
            ? `${First<Open> extends number
                ? First<Open>
                : ""};${Second<Open> extends number
                ? Second<Open>
                : ""}`
            : `${Open & number}`}m${Input extends string
            ? Input
            : string}[${Close extends readonly [Maybe<number>, Maybe<number>]
            ? `${First<Close> extends number
                ? First<Close>
                : ""};${Second<Close> extends number
                ? Second<Close>
                : ""}`
            : `${Close & number}`}m`)
      • format function with close set.

        See

        format

        Type Parameters

        • const Open extends number

          Open string generic.

        Parameters

        • open: Open

          Open string.

        Returns (<Input>(input, ...expressions) => `[${Open extends readonly [Maybe<number>, Maybe<number>]
            ? `${First<Open> extends number
                ? First<Open>
                : ""};${Second<Open> extends number
                ? Second<Open>
                : ""}`
            : `${Open & number}`}m${Input extends string
            ? Input
            : string}[${Close extends readonly [Maybe<number>, Maybe<number>]
            ? `${First<Close> extends number
                ? First<Close>
                : ""};${Second<Close> extends number
                ? Second<Close>
                : ""}`
            : `${Close & number}`}m`)

        Curried function with close and open in context.

          • <Input>(input, ...expressions): `[${Open extends readonly [Maybe<number>, Maybe<number>]
                ? `${First<Open> extends number
                    ? First<Open>
                    : ""};${Second<Open> extends number
                    ? Second<Open>
                    : ""}`
                : `${Open & number}`}m${Input extends string
                ? Input
                : string}[${Close extends readonly [Maybe<number>, Maybe<number>]
                ? `${First<Close> extends number
                    ? First<Close>
                    : ""};${Second<Close> extends number
                    ? Second<Close>
                    : ""}`
                : `${Close & number}`}m`
          • format function with close and open set.

            See

            format

            Type Parameters

            • Input extends string | TemplateStringsArray

            Parameters

            • input: Input

              Input string or TemplateStringArray (when using tagged templates).

            • Rest ...expressions: ReadOnlyArray

              Input expressions (when using tagged templates)

            Returns `[${Open extends readonly [Maybe<number>, Maybe<number>]
                ? `${First<Open> extends number
                    ? First<Open>
                    : ""};${Second<Open> extends number
                    ? Second<Open>
                    : ""}`
                : `${Open & number}`}m${Input extends string
                ? Input
                : string}[${Close extends readonly [Maybe<number>, Maybe<number>]
                ? `${First<Close> extends number
                    ? First<Close>
                    : ""};${Second<Close> extends number
                    ? Second<Close>
                    : ""}`
                : `${Close & number}`}m`

            Formatted input string.