An open API service indexing awesome lists of open source software.

https://github.com/john-doherty/isomorphic-mongo-objectid

pure JavaScript implementation of mongo ObjectID for client and server in 0.7k
https://github.com/john-doherty/isomorphic-mongo-objectid

browser javascript mongodb nodejs

Last synced: about 1 month ago
JSON representation

pure JavaScript implementation of mongo ObjectID for client and server in 0.7k

Awesome Lists containing this project

README

          

# 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

```

### 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) © [John Doherty](http://www.johndoherty.info)