Smart and effortless json data search in JavaScript
Smartprop is used for searching a value assigned to a key in a complicated nested object.
var SmarProp = require("smartprop").SmartProp
var SmartObject = require("smartprop").SmartObject
data = {
item : {
owner : {
id : 1,
profile : {
name: "Chris"
reputation : 10
his_site_url : "www.site.com"
}
}
price: 10
}
}
var name = new SmartProp("name")
name.findIn(data) //=> "Chris"
var price = new SmartProp("price")
price.findIn(data) //=> 10
var site = new SmartProp(/site/)
site.findIn(data) //=> "www.site.com"
var smartobject = new SmartObject({name : "name", price: "price", website: /site/})
smartobject.map(data) //=> {name : "Chris, price: 10, website: www.site.com"}
If You wonder if:
(new SmartProp("name")).findIn(data)
than
data["item"]["owner"]["profile"]["name"]
SmartProp and SmartObject automatically cache the location of the property, and once fed the similar data it uses the same code You'd use while not using the smartprop
at all. So it is less performant, but just the first time it is used.