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

Dependents (0)

Package Sidebar

Install

npm i trim-margin

Weekly Downloads

1,866

Version

1.0.4

License

MIT

Unpacked Size

8.14 kB

Total Files

12

Last publish

Collaborators

  • tee-talog