isomorphic-mongo-objectid

Pure JavaScript implementation of mongo ObjectID for the client and server

Usage no npm install needed!

<script type="module">
  import isomorphicMongoObjectid from 'https://cdn.skypack.dev/isomorphic-mongo-objectid';
</script>

README

isomorphic-mongo-objectid

Shippable branch npm Twitter Follow

A 0.7k pure JavaScript implementation of mongo ObjectID for the client (browser) and server (nodejs). A machine id is created for each client and persistent across a single domain using localStorage.

Installation

Client-side

Copy isomorphic-mongo-objectid.min.js into your page and add a script tag:

<script src="isomorphic-mongo-objectid.min.js"></script>

Server-side

Install via npm:

npm install --save isomorphic-mongo-objectid

Require in your module:

var ObjectID = require('isomorphic-mongo-objectid');

Usage

ObjectID(); // returns 5aab1a1a5e756f5b6d000001
ObjectID('5aab1a1a5e756f5b6d000001').getDate(); // returns Fri Mar 16 2018 01:12:58 GMT+0000 (GMT)
ObjectID('5aab1a1a5e756f5b6d000001').toArray(); // returns [90, 171, 26, 26, 94, 117, 111, 91, 109, 0, 0, 1]
ObjectID(0, 0, 0, 0x00ffffff); // returns 000000000000000000ffffff

Contributing

Checkout the project

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes (including tests): git commit -m 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request

Run unit tests

  1. Checkout using git clone https://github.com/john-doherty/isomorphic-mongo-objectid
  2. Navigate into project folder cd isomorphic-mongo-objectid
  3. Install dependencies npm install
  4. Run the tests npm test

Update .min version

  1. Checkout using git clone https://github.com/john-doherty/isomorphic-mongo-objectid
  2. Navigate into project folder cd isomorphic-mongo-objectid
  3. Install dependencies npm install
  4. Make the relevant changes
  5. Updated version number in package.json
  6. Run npm run build to generate a new isomorphic-mongo-objectid.min.js file

Bugs

Open a ticket

History

For change-log, check releases.

License

Licensed under MIT License © John Doherty