dice-roller/rpg-dice-roller

Crashes with 0d

Open

#278 opened on May 30, 2023

 (3 comments) (0 reactions) (0 assignees)JavaScript (68 forks)auto 404
enhancementhelp wanted

Repository metrics

Stars
 (279 stars)
PR merge metrics
 (PR metrics pending)

Description

Description

dice roller crashes on 0d. roller (CLI) throws a stacktrace:

root@gond:~# roller 0d20
file:///usr/lib/node_modules/@dice-roller/cli/node_modules/@dice-roller/rpg-dice-roller/lib/esm/bundle.js:4873
  var self = Error.call(this, message);
                   ^

peg$SyntaxError: Expected "%", "*", "**", "+", "-", "/", "^", [.], [0-9], end of input, or whitespace but "d" found.
    at new peg$SyntaxError (file:///usr/lib/node_modules/@dice-roller/cli/node_modules/@dice-roller/rpg-dice-roller/lib/esm/bundle.js:4873:20)
    at peg$buildStructuredError (file:///usr/lib/node_modules/@dice-roller/cli/node_modules/@dice-roller/rpg-dice-roller/lib/esm/bundle.js:5387:12)
    at peg$parse (file:///usr/lib/node_modules/@dice-roller/cli/node_modules/@dice-roller/rpg-dice-roller/lib/esm/bundle.js:7147:11)
    at Function.parse (file:///usr/lib/node_modules/@dice-roller/cli/node_modules/@dice-roller/rpg-dice-roller/lib/esm/bundle.js:7188:12)
    at new DiceRoll (file:///usr/lib/node_modules/@dice-roller/cli/node_modules/@dice-roller/rpg-dice-roller/lib/esm/bundle.js:7360:40)
    at file:///usr/lib/node_modules/@dice-roller/cli/node_modules/@dice-roller/rpg-dice-roller/lib/esm/bundle.js:7911:24
    at Array.map (<anonymous>)
    at DiceRoller.roll (file:///usr/lib/node_modules/@dice-roller/cli/node_modules/@dice-roller/rpg-dice-roller/lib/esm/bundle.js:7910:37)
    at Object.default [as handler] (file:///usr/lib/node_modules/@dice-roller/cli/lib/roll.js:28:10)
    at /usr/lib/node_modules/@dice-roller/cli/node_modules/yargs/build/index.cjs:1:8993 {
  expected: [
    {
      type: 'class',
      parts: [ [ '0', '9' ] ],
      inverted: false,
      ignoreCase: false
    },
    {
      type: 'class',
      parts: [ '.' ],
      inverted: false,
      ignoreCase: false
    },
    { type: 'other', description: 'whitespace' },
    { type: 'literal', text: '**', ignoreCase: false },
    { type: 'literal', text: '*', ignoreCase: false },
    { type: 'literal', text: '^', ignoreCase: false },
    { type: 'literal', text: '%', ignoreCase: false },
    { type: 'literal', text: '/', ignoreCase: false },
    { type: 'literal', text: '+', ignoreCase: false },
    { type: 'literal', text: '-', ignoreCase: false },
    { type: 'end' }
  ],
  found: 'd',
  location: {
    source: undefined,
    start: { offset: 1, line: 1, column: 2 },
    end: { offset: 2, line: 1, column: 3 }
  }
}

Dice Roller version

v5.3.2

Bundle type

UMD

Node version

v16.20.0

Browser name and version

No response

Contributor guide