0.13.0 • Published 2 years ago

@pbbbl/clean v0.13.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

@pbbbl/clean

Forked clean-deep with new fns option for removing methods/functions. Traverses arrays and objects.

Removes functions, empty objects, _arrays, empty strings, NaN, null, and undefined values from objects. Does not alter the original object.

Installation

Download the repo to your root directory, and install via npm:

npm i -S clean-deep-pbbbl

Usage

Arguments

  1. object (Object): The source object.
  2. [options] (Object): An optional object with the following options:
OptionDefault valueDescription
cleanKeys[]Remove specific keys, ie: ['foo', 'bar', ' ']
cleanValues[]Remove specific values, ie: ['foo', 'bar', ' ']
emptyArraystrueRemove empty arrays, ie: []
emptyObjectstrueRemove empty objects, ie: {}
emptyStringstrueRemove empty strings, ie: ''
fnstrueRemove functions, ie: ()=>{}, function(){} - ony in pbbbl-clean-deep
NaNValuesfalseRemove NaN values, ie: NaN
nullValuestrueRemove null values, ie: null
undefinedValuestrueRemove undefined values, ie: undefined

(Object): Returns the cleansed object.

Example

const clean = require("clean-deep");
const object = {
    ant: "bug",
    bear: "",
    cat: [],
    dog: {},
    eel: null,
    fox: undefined,
    goat: ()=>{
        return true
    },
    horse: function(){
        return true
    },
    iguana: {
        ant: "boz",
        bear: "",
        cat: ["cheetah","lion","",null],
        dog: true,
        eel: false
    },

    set edit(key,value){
        this[key] = value;
    }
    get secondIguana(){
        return {
            name: "jerry",
            toes: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
        }
    }
};
object.edit.cat = ["house-cat"];

const output = clean(object);
/* output ==>
{
    ant: "bug",
    iguana: {
        ant: "boz",
        cat: ["cheetah","lion"],
        dog: true,
        eel: false
    },
}
*/

Tests

$ npm test

Release

License

MIT