Rich document ids for CouchDB
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.
 
Go to file
Johannes Jörg Schmidt b6679d376c Merge pull request #4 from krgn/master
document browserification (closes #1)
10 years ago
test allow 0 as path element (closes #2) 10 years ago
.gitignore first commit 10 years ago
.travis.yml test on current versions 10 years ago
README.md document browserification (closes #1) 10 years ago
index.js allow 0 as path element (closes #2) 10 years ago
package.json bump version 10 years ago

README.md

docuri Build Status

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'

Browser support

To use docid in your client-side application, browserify it like this:

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.