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

3.12.1 • Public • Published

tersify

NPM version NPM downloads

GitHub NodeJS Codecov

Semantic Release

Visual Studio Code

Create a readable terse representation of the subject.

You can specify maxLength to further trim the resulting string.

You can also override the result by providing your own tersify() function on the subject.

import { tersify } from 'tersify'

// `() => 'foo'`
tersify(() => { return 'foo' })

// `fn(x, y) { return x + y; }`
tersify(function (x, y) { return x + y })

// `fn foo(y) { return y++; }`
tersify(function foo(y) { return y++ })

// Change result to 80 character long.
// result will have `...` to indicate info missing.
// e.g. `{ a: 'a', ... }`
tersify({...}, { maxLength: 80 })

// '{ a: 1 }`
tersify({ a: 1 })

// `() => Sym(abc)`
tersify(() => { return Symbol.for(abc) })

tersible

Inject a tersify() function to the subject.

import { tersible } from 'tersify'

const increment = tersible(
	a => a + 1,
	() => 'a++'
)
increment.tersify() // 'a++'

// `{ a: 1 }`
tersible({ a: 1 }, function () {
	return `{ a: ${this.a} }`
}).tersify()

const decrement = tersible(a => a--, 'a--')
decrement.tersify() // 'a--'

// `a: 10`
tersible({ a: 1 }, options => `a: ${options.maxLength}`).tersify({ maxLength: 10 })

Tersiblized

Mixin Tersible to a class.

import { Tersiblized } from 'tersify'

class Foo {
	a = 1
}
class Boo extends Tersiblized(Foo, function () {
	return `{ a: ${this.a} }`
}) {}

const boo = new Boo()
boo.a = 3
boo.tersify() // '{ a: 3 }'

/tersify/

    Package Sidebar

    Install

    npm i tersify

    Weekly Downloads

    10,174

    Version

    3.12.1

    License

    MIT

    Unpacked Size

    385 kB

    Total Files

    153

    Last publish

    Collaborators

    • unional