mirror of https://github.com/jo/docuri.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
10 years ago | |
---|---|---|
test | 10 years ago | |
.gitignore | 10 years ago | |
.travis.yml | 10 years ago | |
README.md | 10 years ago | |
index.js | 10 years ago | |
package.json | 10 years ago |
README.md
docuri ![Build Status](https://travis-ci.org/jo/docuri.svg?branch=master)
Rich document ids for CouchDB.
type/id/subtype/version/index
eg movie/blade-runner/gallery-image/medium/12
Usage
Parse id string:
require('docuri').parse('mytype/myid/mysubtype/myversion/myindex');
// {
// type: 'mytype',
// id: 'myid',
// subtype: 'mysubtype',
// version: 'myversion',
// index: 'myindex'
// }
Build id string from object:
require('docuri').stringify({
type: 'mytype',
id: 'myid',
subtype: 'mysubtype',
version: 'myversion',
index: 'myindex'
});
// 'mytype/myid/mysubtype/myversion/myindex'
Change id string components:
require('docuri').merge('mytype/myid/mysubtype/myversion/myindex', {
type: 'my_new_type',
});
// 'my_new_type/myid/mysubtype/myversion/myindex'
## Browser support
To use docid in your client-side application, browserify it like this:
```shell
browserify -s DocURI path/to/docuri/index.js > path/to/your/assets
Once added to your DOM, this will leave you with a global DocURI object for use in your e.g. Backbone Models/Collections.
Development
To run the unit tests:
npm test
For JShint:
npm run jshint
License
Copyright (c) 2014 Johannes J. Schmidt, null2 GmbH
Licensed under the MIT license.