Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/norskeld/unindent

Microlibrary for unindenting multiline strings.
https://github.com/norskeld/unindent

Last synced: about 1 month ago
JSON representation

Microlibrary for unindenting multiline strings.

Awesome Lists containing this project

README

        

# `⇤` unindent

[![Build/Test](https://img.shields.io/github/actions/workflow/status/norskeld/unindent/test.yml?style=flat-square&colorA=22272d&colorB=22272d)](https://github.com/norskeld/unindent/actions 'Build and test workflows')
[![NPM](https://img.shields.io/npm/v/@nrsk/unindent?style=flat-square&colorA=22272d&colorB=22272d)](https://npm.im/@nrsk/unindent 'This package on NPM')
[![Coverage](https://img.shields.io/coverallsCoverage/github/norskeld/unindent?style=flat-square&colorA=22272d&colorB=22272d)](https://coveralls.io/github/norskeld/unindent 'Test coverage')
[![Semantic Release](https://img.shields.io/static/v1?label=semantic+release&message=✔&style=flat-square&colorA=22272d&colorB=22272d)](https://github.com/semantic-release/semantic-release 'This package uses semantic release to handle releasing, versioning, changelog generation and tagging')
[![Conventional Commits](https://img.shields.io/static/v1?label=conventional+commits&message=✔&style=flat-square&colorA=22272d&colorB=22272d)](https://conventionalcommits.org 'This package follows the conventional commits spec and guidelines')

Microlibrary for unindenting multiline strings.

## Installation

### Node

Just use your favorite package manager:

```bash
npm i @nrsk/unindent
```

### Deno

You can import the library via [Skypack] (note that `?dts` query parameter, that will pull types as well):

```typescript
import un from 'https://cdn.skypack.dev/@nrsk/unindent?dts'
```

## Usage

This library exposes only one function as the default export, which can be used as a [tagged template][tt], or as ordinary unary function:

```typescript
import un from '@nrsk/unindent'

const x = un`
Sup!

- this is indented
- this is indented too

This line has the same indentation as the 1st line.
`

// Or...

const x = un(`
Sup!

- this is indented
- this is indented too

This line has the same indentation as the 1st line.
`)
```

`x` will contain the following (without 4 leading spaces):

```text
Sup!

- this is indented
- this is indented too

This line has the same indentation as the 1st line.
```

## License

[MIT](LICENSE).

[commitlint]: https://github.com/conventional-changelog/commitlint
[semantic-release]: https://semantic-release.gitbook.io/semantic-release
[skypack]: https://skypack.dev
[tt]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#tagged_templates