{"_id":"xray","_rev":"10-04d1ae364960cb693b37f11d593a8883","name":"xray","description":"Scan/search javascript objects and their properties","dist-tags":{"latest":"0.5.1"},"versions":{"0.3.0":{"name":"xray","version":"0.3.0","description":"Scan/search javascript objects and their properties","main":"lib/xray.js","directories":{"test":"test"},"scripts":{"test":"mocha test/test*.js"},"repository":{"type":"git","url":"git://github.com/janeklb/xray.js.git"},"keywords":["scan","search"],"author":{"name":"Janek L.B.","email":"iamjanek@gmail.com"},"license":"MIT","gitHead":"a0b890d68dcf19d4de38c7f1edd8b4c58eea09b2","devDependencies":{"mocha":""},"_id":"xray@0.3.0","dist":{"shasum":"0a66e40047187a6cd132c080fac4fef3ae3ab4b5","tarball":"https://registry.npmjs.org/xray/-/xray-0.3.0.tgz","integrity":"sha512-OHclSx5QGPXUp84phiNWz5ZPTiQOrn1ZUVSt5M7/TAG+8AIboG35XgC1g/iED7g46W5aZ+62KDfC2DEQ14j7GQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2CYQW8MgRVdTeWsGN1woQKMqrFVc8GItotfnsh81MPgIhAIXUQ6kzQwS9GCiZ1t4nqKkkm9LJ7JHstf8c+4FhLgFI"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"janek","email":"janek.lb@gmail.com"},"maintainers":[{"name":"janek","email":"janek.lb@gmail.com"}]},"0.4.0":{"name":"xray","version":"0.4.0","description":"Scan/search javascript objects and their properties","main":"lib/xray.js","directories":{"test":"test"},"scripts":{"test":"mocha test/test*.js"},"repository":{"type":"git","url":"git://github.com/janeklb/xray.js.git"},"keywords":["scan","search"],"author":{"name":"Janek L.B.","email":"iamjanek@gmail.com"},"license":"MIT","gitHead":"a0b890d68dcf19d4de38c7f1edd8b4c58eea09b2","devDependencies":{"mocha":""},"_id":"xray@0.4.0","dist":{"shasum":"1d6fdd056958285619a5ad02f2457aa57deae1bc","tarball":"https://registry.npmjs.org/xray/-/xray-0.4.0.tgz","integrity":"sha512-vjMYxYDwQhgOIr01PzbW1DZdexC5o0Y5pz5ixXc3Qyj8lKK8fd7iGdpGpBvCP12M6lUcqcW5p4oSx6AqFRo65A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBqHXd1GWAJUPDvymPswWd/v4VDt7cqbnH2jzjgzqW1sAiEA2QaQStOBgb+DBh89tKYLUE3qIuupwdhCcx6fzujWe/U="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"janek","email":"janek.lb@gmail.com"},"maintainers":[{"name":"janek","email":"janek.lb@gmail.com"}]},"0.5.0":{"name":"xray","version":"0.5.0","description":"Scan/search javascript objects and their properties","main":"lib/xray.js","scripts":{"test":"./node_modules/karma/bin/karma start --single-run --browsers PhantomJS"},"repository":{"type":"git","url":"git://github.com/janeklb/xray.js.git"},"keywords":["scan","search"],"author":{"name":"Janek L.B.","email":"iamjanek@gmail.com"},"license":"MIT","gitHead":"a0b890d68dcf19d4de38c7f1edd8b4c58eea09b2","devDependencies":{"grunt":"^0.4.5","karma":"^0.12.16","grunt-karma":"^0.8.3","karma-jasmine":"^0.1.5","karma-phantomjs-launcher":"^0.1.4","karma-growl-reporter":"git://github.com/chieffancypants/karma-growl-reporter.git#71ee673bab3412c07328305ff1f874c49ef19d3e"},"bugs":{"url":"https://github.com/janeklb/xray.js/issues"},"homepage":"https://github.com/janeklb/xray.js","_id":"xray@0.5.0","_shasum":"36b57f43d242d965c90b3d07ef181f6e7f1abf98","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"janek","email":"janek.lb@gmail.com"},"maintainers":[{"name":"janek","email":"janek.lb@gmail.com"}],"dist":{"shasum":"36b57f43d242d965c90b3d07ef181f6e7f1abf98","tarball":"https://registry.npmjs.org/xray/-/xray-0.5.0.tgz","integrity":"sha512-CB8MLe0rNBlwlb3+yi6lAtdXUCu4pP1PFOqe9DwVLZkXjQSQINfnyuFZvajkf+GKS9hHM9+jbt/io+R06P6L6Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbYNt0KYRf94a7EBY2voZgBIqcg9yzIXatIN4bkUIxdgIhAKRFEOQUmJHuulh4r7wDJxOfANhxN7I/bpiqkl42WkNs"}]}},"0.5.1":{"name":"xray","version":"0.5.1","description":"Scan/search javascript objects and their properties","main":"lib/xray.js","scripts":{"test":"./node_modules/karma/bin/karma start --single-run --browsers PhantomJS"},"repository":{"type":"git","url":"git://github.com/janeklb/xray.js.git"},"keywords":["scan","search"],"author":{"name":"Janek L.B.","email":"iamjanek@gmail.com"},"license":"MIT","gitHead":"a0b890d68dcf19d4de38c7f1edd8b4c58eea09b2","devDependencies":{"grunt":"^0.4.5","karma":"^0.12.16","grunt-karma":"^0.8.3","karma-jasmine":"^0.1.5","karma-phantomjs-launcher":"^0.1.4","karma-growl-reporter":"git://github.com/chieffancypants/karma-growl-reporter.git#71ee673bab3412c07328305ff1f874c49ef19d3e"},"bugs":{"url":"https://github.com/janeklb/xray.js/issues"},"homepage":"https://github.com/janeklb/xray.js#readme","_id":"xray@0.5.1","_shasum":"908301f87189335485fbffc98886fe9d67a5539d","_from":".","_npmVersion":"3.10.9","_nodeVersion":"4.2.1","_npmUser":{"name":"janek","email":"janek.lb@gmail.com"},"maintainers":[{"name":"janek","email":"janek.lb@gmail.com"}],"dist":{"shasum":"908301f87189335485fbffc98886fe9d67a5539d","tarball":"https://registry.npmjs.org/xray/-/xray-0.5.1.tgz","integrity":"sha512-pNha4k9O+WR02zHgDXGI/qvhL45mFTn+2hShmfOStrHdm36PF/AhGMPPc23cy0qMl74/eUrEdagYhYxcd9lt5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID6PkpoHkzVjmbe5pjgbT3QTZOsGJdOrhjfYVV+I2XGJAiEAqxf3EBQew9LqiTAUw5CVlB6oJspH4Lj6yBYd8wtzeno="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/xray-0.5.1.tgz_1478724982894_0.03556108241900802"}}},"readme":"# xray.js\n\nRecursively scan JavaScript objects' properties. Useful for testing to see whether an object contains something of interest. If you're using Google Chrome, consider loading this via [JSKit](https://chrome.google.com/webstore/detail/jskit/aopfdhabfojdkgcmibiegfhpfkcokmdg).\n\n[![Travis Build Status](https://api.travis-ci.org/janeklb/xray.js.png?branch=master)](https://travis-ci.org/janeklb/xray.js)\n\n### Usage:\n\n`xray(object, scanner)` returns an array of JSONPaths to (nested) object values that are matched by the scanner\n\n```javascript\nsomeObj = {\n    propA: 1,\n    propB: \"find me\",\n    propC: {\n        propA: \"find me\",\n        propB: [\n            \"can you\", \"find me\", \"too\"\n        ],\n        propC: {\n            tooDeep: {\n                propA: \"hello... can you find me\"\n            }\n        },\n        \"propD-find me\": \"OK\"\n    }\n};\n\n// Scan the object with a string:\npaths = xray(someObj, \"find me\", {\n    scan_keys:        true, // will also attempt to match the key names\n    max_depth:        2     // recursion depth\n});\n\n// paths === [\"$.propB\", \"$.propC.propA\", \"$.propC['propD-find me']\"]\n\n// Or, with a RegExp object:\npaths = xray(someObj, /find ME/i, {\n    // ...\n})\n\n// Or, with a custom function that indicates a match by returning a truthy value:\npaths = xray(someObj, function(value, properties) {\n    // properties has:\n    //  isKey: boolean\n    //  path: path to current value\n    return value === \"find me\";\n}, {\n    // ...\n});\n\n```\n\n### Todo:\n\n- handle DOM Node scanning better\n\n### Changes:\n\n0.5\n- node module now directly exports a function (ie. `var xray = require('xray')` vs. `var xray = require('xray').xray`)\n- JSONPath output\n- added `properties` argument to custom scanner callback\n","maintainers":[{"name":"janek","email":"janek.lb@gmail.com"}],"time":{"modified":"2022-06-29T05:57:57.011Z","created":"2013-04-21T13:45:06.541Z","0.3.0":"2013-04-21T13:45:10.013Z","0.4.0":"2013-07-20T13:53:12.312Z","0.5.0":"2014-05-26T16:21:32.264Z","0.5.1":"2016-11-09T20:56:25.165Z"},"author":{"name":"Janek L.B.","email":"iamjanek@gmail.com"},"repository":{"type":"git","url":"git://github.com/janeklb/xray.js.git"},"homepage":"https://github.com/janeklb/xray.js#readme","keywords":["scan","search"],"bugs":{"url":"https://github.com/janeklb/xray.js/issues"},"license":"MIT","readmeFilename":"README.md"}