Socket
Socket
Sign inDemoInstall

js-select

Package Overview
Dependencies
0
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.6.0 to 1.0.0

37

package.json
{
"name": "js-select",
"description": "Traverse and modify objects with JSONSelect selectors",
"version": "0.6.0",
"author": "Heather Arthur <fayearthur@gmail.com>",
"repository": {
"type": "git",
"url": "http://github.com/harthur/js-select.git"
},
"main": "./index",
"dependencies": {
"traverse": "0.4.x",
"JSONSelect": "0.2.1"
},
"devDependencies": {
"nomnom": "0.6.x",
"color": "0.3.x"
},
"keywords": ["json"]
}
"name": "js-select",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/npm/deprecate-holder.git"
},
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/npm/deprecate-holder/issues"
},
"homepage": "https://github.com/npm/deprecate-holder#readme"
}

@@ -1,118 +0,5 @@

# js-select
# Deprecated Package
js-select uses [js-traverse](https://github.com/substack/js-traverse) to traverse and modify JavaScript object nodes that match [JSONSelect](http://jsonselect.org/) selectors.
This package is no longer supported and has been deprecated. To avoid malicious use, npm is hanging on to the package name.
```javascript
var people = {
george: {
age : 35,
movie: "Repo Man"
},
mary: {
age: 15,
movie: "Twilight"
}
};
```
### .forEach(fn)
Iterates over all matching nodes in the object. The callback gets a special `this` context. See [js-traverse](https://github.com/substack/js-traverse) for all the things you can do to modify and inspect the node with this context. In addition, js-select adds a `this.matches()` which will test if the node matches a selector:
```javascript
select(people).forEach(function(node) {
if (this.matches(".mary > .movie")) {
this.remove();
}
});
```
### .nodes()
Returns all matching nodes from the object.
```javascript
select(people, ".age").nodes(); // [35, 15]
```
### .remove()
Removes matching elements from the original object.
```javascript
select(people, ".age").remove();
```
### .update(fn)
Updates all matching nodes using the given callback.
```javascript
select(people, ".age").update(function(age) {
return age - 5;
});
```
### .condense()
Reduces the original object down to only the matching elements (the hierarchy is maintained).
```javascript
select(people, ".age").condense();
```
```javascript
{
george: { age: 35 },
mary: { age: 15 }
}
```
## Selectors
js-select supports the following [JSONSelect](http://jsonselect.org/) selectors:
```
*
type
.key
ancestor selector
parent > selector
sibling ~ selector
selector1, selector2
:root
:nth-child(n)
:nth-child(even)
:nth-child(odd)
:nth-last-child(n)
:first-child
:last-child
:only-child
:has(selector)
:val("string")
:contains("substring")
```
See [details](http://jsonselect.org/#docs/overview) on each selector, and [try them](http://jsonselect.org/#tryit) out on the JSONSelect website.
## Install
For [node](http://nodejs.org), install with [npm](http://npmjs.org):
```bash
npm install js-select
```
For the browser, download the select.js file or fetch the latest version from [npm](http://npmjs.org) and build a browser file using [browserify](https://github.com/substack/node-browserify):
```bash
npm install browserify -g
npm install js-select
browserify --require js-select --outfile select.js
```
this will build a browser file with `require('js-select')` available.
## Propers
Huge thanks to [@substack](http://github.com/substack) for the ingenious [js-traverse](https://github.com/substack/js-traverse) and [@lloyd](https://github.com/lloyd) for the ingenious [JSONSelect spec](http://http://jsonselect.org/) and [selector parser](http://search.npmjs.org/#/JSONSelect).
Please contact support@npmjs.com if you have questions about this package.
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc