primer cambio
This commit is contained in:
93
node_modules/toposort-class/README.md
generated
vendored
Normal file
93
node_modules/toposort-class/README.md
generated
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
# Toposort
|
||||
[](https://travis-ci.org/gustavohenke/toposort)
|
||||
[](https://gemnasium.com/gustavohenke/toposort)
|
||||
|
||||
__Sorting directed acyclic graphs, for Node.js, io.js and the browser__
|
||||
_This was originally done by Marcel Klehr. [Why not checkout his original repo?](https://github.com/marcelklehr/toposort)_
|
||||
|
||||
## Installation
|
||||
There are a few ways for installing Toposort. Here are them:
|
||||
|
||||
* Via NPM: `npm install toposort-class`
|
||||
* Via Bower: `bower install toposort`
|
||||
* Via Git: `git clone git://github.com/gustavohenke/toposort.git`
|
||||
* [Direct download](https://raw.githubusercontent.com/gustavohenke/toposort/master/build/toposort.js) ([Minified](https://raw.githubusercontent.com/gustavohenke/toposort/master/build/toposort.min.js)) for use in the browser
|
||||
|
||||
## Example
|
||||
Let's say you have the following dependency graph:
|
||||
|
||||
* Plugin depends on Backbone and jQuery UI Button;
|
||||
* Backbone depends on jQuery and Underscore;
|
||||
* jQuery UI Button depends on jQuery UI Core and jQuery UI Widget;
|
||||
* jQuery UI Widget and jQuery UI Core depend on jQuery;
|
||||
* jQuery and Underscore don't depend on anyone.
|
||||
|
||||
Now, how would you sort this in a way that each asset will be correctly placed? You'll probably need the following sorting:
|
||||
|
||||
* `jQuery`, `jQuery UI Core`, `jQuery UI Widget`, `jQuery UI Button`, `Underscore`, `Backbone`, `Plugin`
|
||||
|
||||
You can achieve it with the following code, using `toposort-class`:
|
||||
```javascript
|
||||
var Toposort = require('toposort-class'),
|
||||
t = new Toposort();
|
||||
|
||||
t.add("jquery-ui-core", "jquery")
|
||||
.add("jquery-ui-widget", "jquery")
|
||||
.add("jquery-ui-button", ["jquery-ui-core", "jquery-ui-widget"])
|
||||
.add("plugin", ["backbone", "jquery-ui-button"])
|
||||
.add("backbone", ["underscore", "jquery"]);
|
||||
|
||||
console.log(t.sort().reverse());
|
||||
|
||||
/* Will output:
|
||||
* ['jquery', 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-button', 'underscore', 'backbone', 'plugin']
|
||||
*
|
||||
* And you're done.
|
||||
*/
|
||||
```
|
||||
|
||||
## Usage
|
||||
CommonJS (Node.js and io.js):
|
||||
```javascript
|
||||
var Toposort = require('toposort-class'),
|
||||
t = new Toposort();
|
||||
```
|
||||
|
||||
Browser with AMD:
|
||||
```javascript
|
||||
define("myModule", ["Toposort"], function(Toposort) {
|
||||
var t = new Toposort();
|
||||
});
|
||||
```
|
||||
|
||||
Browser without AMD:
|
||||
```javascript
|
||||
var t = new window.Toposort();
|
||||
```
|
||||
|
||||
or whatever global object there is instead of `window`.
|
||||
|
||||
## API
|
||||
|
||||
#### `.add(item, deps)`
|
||||
* _{String}_ `item` - The name of the dependent item that is being added
|
||||
* _{Array|String}_ `deps` - A dependency or list of dependencies of `item`
|
||||
|
||||
__Returns:__ _{Toposort}_ The Toposort instance, for chaining.
|
||||
|
||||
#### `.sort()`
|
||||
__Returns:__ _{Array}_ The list of dependencies topologically sorted.
|
||||
|
||||
This method will check for cyclic dependencies, like "A is dependent of A".
|
||||
|
||||
#### `.clear()`
|
||||
__Returns:__ _{Toposort}_ The Toposort instance, for chaining.
|
||||
|
||||
Clears all edges, effectively resetting the instance.
|
||||
|
||||
#### `.Toposort`
|
||||
|
||||
Reference to the Toposort constructor.
|
||||
|
||||
## Legal
|
||||
MIT License
|
||||
Reference in New Issue
Block a user