UNPKG

id-shorter

Version:

A little module that replaces a long ObjectId value with short one keeping uniqueness. A charset for conversion is fully configurable and does not depend on requirement of 64 symbols. So it is possible to use only letters, letters+digits, digits etc.

71 lines (65 loc) 2.05 kB
var ObjectId = require('bson').ObjectId; var ShortId = require('./index.js'); var mongoDBShortId = ShortId(); // console.log('Default configuration: very short mongoDB object Id'); // for (var i = 0; i < 2; i++) // { // var testObjectId = new ObjectId(); // var result = mongoDBShortId.encode(testObjectId); // console.log(testObjectId + ' = ' + result); // } // // var shortId = ShortId({ // isFullId: true // }); // console.log('\nUse full ObjectId value with reverse possibility'); // // for (var i = 0; i < 2; i++) // { // var testObjectId = new ObjectId(); // var result = shortId.encode(testObjectId); // console.log(testObjectId + ' = ' + result); // } // // console.log('\nTest reversible decoding'); // var decodeResult = shortId.decode(result); // console.log(result + ' = ' + decodeResult); // // var result = 'xk4pZ11XpLsWPy1Cl'; // var decodeResult = shortId.decode(result); // console.log(result + ' = ' + decodeResult + '(566062cfa72f67b07e644521)'); // // console.log('\nTest absolutely custom config'); // // var Bin2Hex = ShortId({ // base: '01', // encoding: '0123456789abcdef', // isInverse: false, // //isFullId: true, // }); // // var sourceValue = '0000000100100011010001010110011110001001101010111100110111101111' // var result = Bin2Hex.encode(sourceValue); // console.log('Binary to HEX:', sourceValue + ' = ' + result); // // var Bin2Hex = ShortId({ // base: '01', // encoding: '0123456789abcdef', // isInverse: true, // //isFullId: true, // No need - base set is not by default // }); // // var sourceValue = '0000000100100011010001010110011110001001101010111100110111101111' // var result = Bin2Hex.encode(sourceValue); // console.log('Binary to HEX:', sourceValue + ' = ' + result); // console.log('\nTest length'); var TT = ShortId({ encoding: '0123456789ABCDEFGHIJKLMNOPQRSTUV', isInverse: false, }); for (var i = 0 ; i < 20 ; i++) { var source = new ObjectId(); console.log('Source:', source + ' = ' + TT.encode(source)); }