UNPKG

isomorphic-mongo-objectid

Version:

Pure JavaScript implementation of mongo ObjectID for client and server

76 lines (50 loc) 2.42 kB
# isomorphic-mongo-objectid [![npm](https://img.shields.io/npm/dt/isomorphic-mongo-objectid.svg)](https://www.npmjs.com/package/isomorphic-mongo-objectid) 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](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage). ## Installation ### Client-side Copy [isomorphic-mongo-objectid.min.js](dist/isomorphic-mongo-objectid.min.js) into your page and add a script tag: ```html <script src="isomorphic-mongo-objectid.min.js"></script> ``` ### Server-side Install via npm: ```bash npm install --save isomorphic-mongo-objectid ``` Require in your module: ```js var ObjectID = require('isomorphic-mongo-objectid'); ``` ## Usage ```js 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](dist/isomorphic-mongo-objectid.min.js) file ## Bugs [Open a ticket](https://github.com/john-doherty/isomorphic-mongo-objectid/issues) ## History For change-log, check [releases](https://github.com/john-doherty/isomorphic-mongo-objectid/releases). ## License Licensed under [MIT License](LICENSE) &copy; [John Doherty](http://www.johndoherty.info)