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.
docuri/README.md

1.3 KiB

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'

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:

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.