tokgen
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/tokgen package

1.0.0 • Public • Published

tokgen

npm Version npm Downloads Test Status Test Coverage MIT Licensed

Generate cryptographically secure token strings.

const TokenGenerator = require('tokgen');
 
let generator = new TokenGenerator();
 
let token = generator.generate();
// => 'Q1GM0wL95xUkE2JBXzBiV75MrGTw6GAk'
 
token = generator.generate();
// => 'RPTXBktJl1lgHMTVQOzKVpFlR3hfOIfI'
const TokenGenerator = require('tokgen');
 
let generator = new TokenGenerator({chars: '0-9a-f', length: 8});
 
let token = generator.generate();
// => '5f8ab69e'
 
token = generator.generate();
// => 'e5e3c24a'

Installation

npm install tokgen

API

const TokenGenerator = require('tokgen');

new TokenGenerator(options)

Create a new token generator with the specified options.

options

object, string, number (default = {})

TokenGenerator's constructor accepts these properties in the options object:

Note: If options is a string it's treated as chars. Note: If options is a number it's treated as length.

chars

string (default = '0-9a-zA-Z')

The character range used for tokens returned by this generator.

new TokenGenerator(); // default
 
new TokenGenerator({chars: 'a-z'});
 
new TokenGenerator('a-z'); // shortcut
length

number (default = 32)

The default length (in characters) of tokens returned by this generator.

new TokenGenerator(); // default
 
new TokenGenerator({length: 16});
 
new TokenGenerator(16); // shortcut

TokenGenerator#generate(length, callback)

Generates a new token string. The call is asynchronous if callback is specified.

length

number (default = undefined)

The length of the token to be generated. If length is not specified the default length as given to the constructor is used.

let generator = new TokenGenerator();
 
// default length
let token = generator.generate();
// => 'mY9LJeyGt5p6TcJ7kEOm4M0N7mdoIbGh'
 
// explicit length
token = generator.generate(8);
// => 'sySbqK9N'

callback

function (default = undefined)

Generate the token asynchronously and then pass it to the callback.

The callback is expected to be a (for Node.js typical) error-first callback.

let generator = new TokenGenerator();
 
// default length
generator.generate((error, token) => {
  if (error) {
    return console.error(error);
  }
  console.log(token);
  // => 'mY9LJeyGt5p6TcJ7kEOm4M0N7mdoIbGh'
});
 
// explicit length
generator.generate(8, (error, token) => {
  if (error) {
    return console.error(error);
  }
  console.log(token);
  // => 'sySbqK9N'
});

Tests

To run the test suite, install dependencies, then run npm test:

npm install
npm test

Coverage reports are generated by running npm run coverage.

Linting is done with npm run lint.

Package Sidebar

Install

npm i tokgen

Weekly Downloads

167

Version

1.0.0

License

MIT

Last publish

Collaborators

  • maxtruxa