libj-guid
v1.3.0
Published
## Unique id generator for browser
Downloads
3
Readme
libj-guid
Part of libj tools
GUID generator for browser
Usage (npm)
npm install libj-guid
import { guid } from 'libj-guid'
var guidWithoutHyphen = guid.create();
//aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
var guidWithHyphen = guid.create(true);
//aaaaaaaabbbbccccddddeeeeeeeeeeee
var emptyGuid = guid.empty();
//00000000-0000-0000-0000-000000000000
var emptyGuidNoHyphen = guid.emptyNoHyphen();
//00000000000000000000000000000000
var id = guid.newId();
//e_aaaaaaaabbbbccccddddeeeeeeeeeeee
Test
- Run this in a separate command line to start node server
node server.js
- Run one of the following to re-create bundles
npm run dev
npm run dev:watch
- Navigate to http://localhost:3000
Build
npm run build
npm run build:watch
Make sure to test everything in all browsers (specially IE 10/11)
Source:
export default class Guid {
/**
* Creates a new guid
* @param {Boolean} hyphen if true then the guid will be like aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee otherwise there will be no hyphen
* @returns {String}
*/
create(hyphen) {
function s4() {
return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
}
if (hyphen === undefined || hyphen === null) {
return `${s4()}${s4()}${s4()}${s4()}${s4()}${s4()}${s4()}${s4()}`;
}
return `${s4()}${s4()}-${s4()}-${s4()}-${s4()}-${s4()}${s4()}${s4()}`;
}
/**
* Returns a new random id using create(false)
* @returns {String}
*/
newId() {
return `e_${this.create()}`;
}
/**
* Empty value for guid : '00000000-0000-0000-0000-000000000000'
* @returns {String}
*/
empty() {
return '00000000-0000-0000-0000-000000000000';
}
/**
* Empty value for guid : '00000000000000000000000000000000'
* @returns {String}
*/
emptyNoHyphen() {
return '00000000000000000000000000000000';
}
}