bower-endpoint-parser
Little module that helps with endpoints parsing.
Last updated 12 years ago by sheerun .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install bower-endpoint-parser 
SYNC missed versions from official npm registry.

endpoint-parser Build Status

Little module that helps with endpoints parsing.

API

.decompose(endpoint)

Decomposes a endpoint into name, source and target.

var endpointParser = require('bower-endpoint-parser');

endpointParser.decompose('jquery#~2.0.0');
// { name: '', source: 'jquery', target: '~2.0.0' }

endpointParser.decompose('backbone=backbone-amd#~1.0.0');
// { name: 'backbone', source: 'backbone-amd', target: '~1.0.0' }

endpointParser.decompose('http://twitter.github.io/bootstrap/assets/bootstrap.zip');
// { name: '', source: 'http://twitter.github.io/bootstrap/assets/bootstrap', target: '*' }

endpointParser.decompose('bootstrap=http://twitter.github.io/bootstrap/assets/bootstrap.zip');
// { name: 'bootstrap', source: 'http://twitter.github.io/bootstrap/assets/bootstrap', target: '*' }

.compose(decEndpoint)

Inverse of decompose().
Takes a decomposed endpoint and composes it back into a string.

var endpointParser = require('bower-endpoint-parser');

endpointParser.compose({ name: '', source: 'jquery', target: '~2.0.0' });
// jquery#~2.0.0

endpointParser.compose({ name: 'backbone', source: 'backbone-amd', target: '~1.0.0' });
// backbone=backbone-amd#~1.0.0

endpointParser.compose({ name: '', source: 'http://twitter.github.io/bootstrap/assets/bootstrap', target: '*' });
// http://twitter.github.io/bootstrap/assets/bootstrap.zip

endpointParser.compose({ name: 'bootstrap', source: 'http://twitter.github.io/bootstrap/assets/bootstrap', target: '*' });
// bootstrap=http://twitter.github.io/bootstrap/assets/bootstrap.zip

.json2decomposed(key, value)

Similar to decompose() but specially designed to be used when parsing bower.json dependencies. For instance, in a bower.json like this:

{
    "name": "foo",
    "version": "0.1.0",
    "dependencies": {
        "jquery": "~1.9.1",
        "backbone": "backbone-amd#~1.0.0",
        "bootstrap": "http://twitter.github.io/bootstrap/assets/bootstrap"
    }
}

You would call json2decomposed like so:

endpointParser.json2decomposed('jquery', '~1.9.1');
// { name: 'jquery', source: 'jquery', target: '~1.9.1' }

endpointParser.json2decomposed('backbone', 'backbone-amd#~1.0.0');
// { name: 'backbone', source: 'backbone-amd', target: '~1.0.0' }

endpointParser.json2decomposed('bootstrap', 'http://twitter.github.io/bootstrap/assets/bootstrap');
// { name: 'bootstrap', source: 'http://twitter.github.io/bootstrap/assets/bootstrap', target: '*' }

.decomposed2json(decEndpoint)

Inverse of json2decomposed().
Takes a decomposed endpoint and composes it to be saved to bower.json.

var endpointParser = require('bower-endpoint-parser');

endpointParser.decomposed2json({ name: 'jquery', source: 'jquery', target: '~2.0.0' });
// { jquery: '~2.0.0' }

endpointParser.decomposed2json({ name: 'backbone', source: 'backbone-amd', target: '~1.0.0' });
// { backbone: 'backbone-amd#~2.0.0' }

endpointParser.decomposed2json({ name: 'bootstrap', source: 'http://twitter.github.io/bootstrap/assets/bootstrap', target: '*' });
// { bootstrap: 'http://twitter.github.io/bootstrap/assets/bootstrap' }

This function throws an exception if the name from the decomposed endpoint is empty.

License

Released under the MIT License.

Current Tags

  • 0.2.2                                ...           latest (12 years ago)

5 Versions

  • 0.2.2                                ...           12 years ago
  • 0.2.1                                ...           13 years ago
  • 0.2.0                                ...           13 years ago
  • 0.1.0                                ...           13 years ago
  • 0.1.0-rc.1                                ...           13 years ago
Downloads
Today 0
This Week 0
This Month 3
Last Day 0
Last Week 3
Last Month 2
Dependencies (0)
None
Dev Dependencies (3)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |