Skip to content

Latest commit

 

History

History
89 lines (73 loc) · 1.87 KB

README.md

File metadata and controls

89 lines (73 loc) · 1.87 KB

Build Status npm version

Suppplant -- yes, 3 p's

This is officially a thing now. Suppplant with 3 p's. It's Crockford's supplant method but with support for multiple level objects. I needed it today. It was asked before and answered in 2012. The credits for the solution without the new options object go to Bergi who posted the answer back then.

Usage

const suppplant = require('suppplant')

suppplant('{we.should.all.be.friends}', {
  we: {
    should: {
      all: {
        be: {
          friends: 'Yes'
        }
      }
    }
  }
})
// 'Yes'

suppplant('{we.should.all.be.friends}', {
  somethingelse: {}
})
// '{we.should.all.be.friends}'

suppplant('{we.should.all.be.friends}', {
  we: {
    should: {
      all: {
        be: {
          friends: true
        }
      }
    }
  }
}, {boolean: true}) // <-- Check out the new options object!
// 'true'

suppplant('{we.should}', {
  we: {
    should: {
      all: {
        be: {
          friends: true
        }
      }
    }
  }
}, {stringify: true})
// '{"all":{"be":{"friends":true}}}'

suppplant('{we.should.all.be.friends}', {
  somethingelse: {}
}, {clear: true})
// ''

// but,

suppplant('{we.should}', {
  we: {
    should: {
      all: {
        be: {
          friends: true
        }
      }
    }
  }
}, {clear: true})
// '{we.should}'

// Does not clear, because there is that data

Install

npm install suppplant

Credits

As mentioned before, credits for the 1.0 solution go to Bergi.