dtrim
v1.12.0
Published
A tool for trimming deep/lenghty javascript structures. Some potential usages are: debugging, logging or data sanitization.
Downloads
74,163
Maintainers
Readme
dtrim
dtrim is a tool for trimming deep/lengthy javascript structures. Some potential usages are: debugging, logging or data sanitization. Fully configurable.
Caters for:
- Big arrays
- Objects with lots of keys
- Nested, deep structures
- Objects with circular references
- Long strings
- Buffers
- Functions
Installation
npm i dtrim
Usage
import * as dtrim from 'dtrim'
const trim = dtrim.trimmer({ depth: 4 });
const nasty = { ... a big, deep and nasty object here ... };
const nice = trim(nasty);
Options
dtrim.trimmer([options])
options
:<Object>
depth
:<number>
Trim depth - all structures deeper than this will be omitted from output. This is useful for truncating large complicated objects. To make it return full structure, passInfinity
or some arbitrary large number. Default:4
.size
:<number>
Trim size - all objects and arrays that are longer/bigger than specified size will be trimmed. Note on trimming objects: because order of properties is not guaranteed by javascript spec, objects with number of properties bigger than size will be represented as string"Object(N)"
. To make it return full structure, passInfinity
or some arbitrary large number. Default:64
.string
:<number>
Trim strings that are longer than specified number. To make it return full structure, passInfinity
or some arbitrary large number. Default:512
.buffer
:<boolean>
Substitues instances of aBuffer
object with their string representation:"Buffer(N)"
. Default:true
.getters
:<boolean>
Omits getter fields in objects and classes from the result. Default:true
.retain
:<Set<string>>
A set of root paths to ignore while at depth 0. For example trimming{a: FooClass}
withnew Set(['a'])
will result in{a: FooClass}
instead of{a: {}}
. Default:new Set()
Returns:
<Function>
- trimmer function that accepts input argument of any type.
License
MIT