json-transients
v0.0.3
Published
A simple and minimalist wrapper library to deal with JavaScript object to JSON transformations and remove transient fields.
Downloads
2
Maintainers
Readme
json-transients
A simple and minimalist wrapper library to deal with JavaScript object to JSON transformations that supports removing transient fields.
Installation
Install via npm
npm install json-transients
or yarn
yarn add json-transients
Getting started
Let's take a very simple JSON object as example ...
const json = {
$_transient: '',
isUndefined: undefined,
str: "string",
number: 1,
bool: true,
fn: () => { }
}
... and transform it to remove transient fiels (properties prefixed with $_
in this example)
const JsonTransients = require('json-transients')
const jst = new JsonTransients()
const result = jst.transform(json)
This will remove all transient fields and return a valid JSON object:
{
isUndefined: null,
str: "string",
number: 1,
bool: true
}
Config
Each instance of JsonTransients
takes a configuration object with following properties:
| Property | Required | Default | Description |
| ---- | ---- | ---- | ---- |
| prefix
| no | $_
| Prefix for transients fields that are being removed |
| transformUndefined
| no | true
| Sets all undefined
properties to null
. If set to false
all undefined
properties will be removed. You can also define a custom handler. |
| transformDate
| no | toISOString()
| Define a custom handler to transfrom Date
objects. Sets all date properties to ISO string by default. |
Example
const jst = new JsonTransients({
// use a custom prefix
prefix: 'CUSTOM_`,
// transform all undefined properties to "not_defined" string
transformUndefined: () => {
return 'not_defined'
},
// transform all dates to timestamp
transformDate: (value) => {
return value.getTime()
}
})
License
This project is licensed under the MIT license, Copyright (c) 2020 David Pichsenmeister | pichsenmeister.com. For more information see LICENSE.