Nervously Proposing Marriage

    trim-margin
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.4 • Public • Published

    trim-margin

    Build Status

    trimMargin like Kotlin and stripMargin like Scala.

    NPM

    Features

    • Indent in a string literal.
    • Selectable APIs: trimMargin or stripMargin.
    • Use as tagged template literals.
    • Inject to string type.

    install

    $ npm i -S trim-margin
    

    Usage

    const {
        trimMargin,
        tm,
        inject,
    } = require("trim-margin");
     
    console.log(trimMargin(`
        |trim
        | indent
            | spaces`));
    // => "\ntrim\n indent\n spaces"
     
    console.log(trimMargin(`
        #other
        # delimiter`, "#"));
    // => "\nother\n delimiter"
     
    const template = `    | template`;
    const literal  = `    | literal`;
    console.log(tm`\
        |tagged
        ${template}
        |${literal}`);
    // => "tagged\n template\n    | literal"
     
    inject();
    console.log(`\
        |inject
     to | string`.trimMargin());
    // => "inject\n to | string"

    API

    trimMargin(str: string, [delimiter: string]): string

    Trim indent spaces.

    More detail "spaces":

    Matches a single character other than white space. Equivalent to [^ \f\n\r\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff].

    From: MDN web docs

    Expect, /\r?\n/

    str: string

    Indented string.

    delimiter: string

    Indent delimiter. This is used as an argument to a RegExp object. defalut: "\\|"

    stripMargin(str: string, [delimiter :string]): string

    Same trimMargin.

    tm

    Use as Tagged template literals. Same trimMargin(literal).

    sm

    Same tm.

    inject: void

    Inject to String: trimMargin and stripMargin. You can use it like method of string type.

    injectTrimMargin: void

    Inject to String: trimMargin. You can use it like method of string type.

    injectStripMargin: void

    Inject to String: stripMargin. You can use it like method of string type.

    injectAt(methodName: string): void

    Inject to String. You can use it like method of string type.

    methodName: string

    Method name injected into string type.

    License

    MIT © tee-talog

    Install

    npm i trim-margin

    DownloadsWeekly Downloads

    857

    Version

    1.0.4

    License

    MIT

    Unpacked Size

    8.14 kB

    Total Files

    12

    Last publish

    Collaborators

    • tee-talog