npm.io
0.1.2 • Published 9 years ago

mask-gen

Licence
GPL-3.0
Version
0.1.2
Deps
1
Vulns
0
Weekly
0

Mask-Gen

Build Status npm Minimum node

NPM

Beauty generator

Usage

const generate = require('mask-gen')

const result = generate('DDD-AAA-XXX-HHH-FFF-OOO')
// '218-cXf-KgB-664-beb-347'

Generators:

  • X (symbol) - Any symbol (a-zA-Z0-9)
  • A (alphabetic) - Any alphabetic (A-Za-z)
  • F (hexletter) - Hex letter (a-fA-F)
  • H (hexsymbol) - Any HEX symbol (a-fA-F0-9)
  • D (digit) - Any digit symbol (0-9)
  • O (octal) - Octal symbol (0-7)

Modifiers:

  • lowercase
  • uppercase

Custom generators

const result = generate('KB', {
  symbols: {
    K: function(symbol) {
      return Math.floor(Math.random() * symbol.charCodeAt(0))
    },
    B: function() {
      return ['E', 'D', 'X', '0'][Math.floor(Math.random() * 4)]
    },
  },
})
// '59E'
Modifiers
const result = generate('AAA', { mods: ['uppercase'] })
// 'DXO'
Overriding
// ECMAScript 2015
const result = generate('XXXX-AES-DDD-BBB', {
  symbols: {
    A: sym => sym,
    B: 'alphabetic',
  },
})
// 'dXga-AES-885-fOl'
UUID4-like
const result = generate('XXXXXXXX-XXXX-4XXX-XXXX-XXXXXXXXXXXX', { mods: ['lowercase'] })
// 'ib6jysj1-peli-4tgs-k4iw-jukcymo02mgd'
Counter-Strike key
const result = generate('5RP2E-HHHHH-HHHHH-HHHHH-HHHHH', { mods: ['uppercase'] })
// '5RP2E-0AF71-DADDE-CA606-FC67D'

Keywords