New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

unique-number

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

unique-number - npm Package Compare versions

Comparing version 1.0.0 to 2.0.0

28

index.js
(function()
{
"use strict";
var previous = 0;
function uniqueNumber()
function UniqueNumber()
{
this.reset();
}
UniqueNumber.prototype.generate = function()
{
var date = Date.now();
// If created at same millisecond as previous
if (date <= previous)
if (date <= this.previous)
{
date = ++previous;
date = ++this.previous;
}
else
{
previous = date;
this.previous = date;
}
return date;
}
};
uniqueNumber.reset = function()
UniqueNumber.prototype.reset = function()
{
previous = 0;
this.previous = 0;
};

@@ -36,12 +42,12 @@

{
module.exports = uniqueNumber;
module.exports = UniqueNumber;
}
else if (typeof define==="function" && define.amd)
{
define("jquery", [], function(){ return uniqueNumber });
define("unique-number", [], function(){ return UniqueNumber });
}
else
{
window.uniqueNumber = uniqueNumber;
window.UniqueNumber = UniqueNumber;
}
})();
{
"name": "unique-number",
"description": "Generate a unique number.",
"version": "1.0.0",
"version": "2.0.0",
"homepage": "https://github.com/stevenvachon/unique-number",

@@ -6,0 +6,0 @@ "author": {

@@ -1,13 +0,16 @@

# unique-number [![NPM Version](https://badge.fury.io/js/unique-number.svg)](https://badge.fury.io/js/unique-number) [![Bower Version](https://badge.fury.io/bo/unique-number.svg)](https://badge.fury.io/bo/canjs.svg) [![Build Status](https://secure.travis-ci.org/stevenvachon/unique-number.svg)](https://travis-ci.org/stevenvachon/unique-number)
# unique-number [![NPM Version](https://badge.fury.io/js/unique-number.svg)](https://badge.fury.io/js/unique-number) [![Bower Version](https://badge.fury.io/bo/unique-number.svg)](https://badge.fury.io/bo/unique-number) [![Build Status](https://secure.travis-ci.org/stevenvachon/unique-number.svg)](https://travis-ci.org/stevenvachon/unique-number)
> Generate a unique number.
```js
var uniqueNumber = require("unique-number");
var UniqueNumber = require("unique-number");
var uniqueNumber;
// Timestamp
console.log( uniqueNumber() );
console.log( uniqueNumber.generate() );
```
// Iterated timestamps
When multiple requests are made per millisecond, the timestamp is simply iterated. After a few billion runs—typically when your operations are complete—you should run `uniqueNumber.reset()` to avoid going beyond [`Number.MAX_SAFE_INTEGER`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER).
```js
for (var i=0; i<1000; i++) {
console.log( uniqueNumber() );
console.log( uniqueNumber.generate() );
}

@@ -19,8 +22,6 @@

setTimeout( function() {
console.log( uniqueNumber() );
console.log( uniqueNumber.generate() );
}, 100);
```
When multiple requests are made per millisecond, the timestamp is simply iterated. After a few billion runs—typically when your operations are complete—you should run `uniqueNumber.reset()` to avoid passing [`Number.MAX_SAFE_INTEGER`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER).
Because this library is so small and simple, it requires this one extra step. If you disapprove, you may prefer [cuid](https://npmjs.com/cuid), [puid](https://npmjs.com/puid) or [shortid](https://npmjs.com/shortid).
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc