mderazon / object-roomba

Clean your dirty objects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

object-roomba Build Status styled with prettier

Clean your dirty objects

Useful when needing to parse objects from source that doesn't support data types decelerations like csv files etc. Not intended for complex objects

Usage

const roomba = require('object-roomba');

const schema = {
  age: Number,
  expiration: Date,
  is_active: Boolean,
  name: String,
  address: input => {
    if (!input) {
      return null;
    }
    return input;
  }
};

const clean = roomba(schema);

let dirtyObj = {
  age: '18',
  expiration: '2015-08-17 19:30:30.219',
  is_active: 'false',
  name: 'Michael D',
  address: ''
};

cleanObj = clean(dirtyObj);
console.log(cleanObj);
// {
//   age: 18,
//   expiration: Mon Aug 17 2015 19:30:30 GMT+0300 (IDT),
//   is_active: false,
//   name: 'Michael D',
//   address: null
// }

Currently only supporting simple types

  • String
  • Number
  • Date
  • Boolean

Options

You can pass options to roomba:

const clean = roomba(opts, schema);

Available options are:

  • remove_extra_fields - By default, fields that are not in the schema are kept untouched, you can remove them from the cleaned obj by setting this to true.

About

Clean your dirty objects


Languages

Language:JavaScript 100.0%