@randsum/notation
Version:
A flexible, type-safe dice notation parser and validator
28 lines • 835 B
JavaScript
import { optionsConverter } from '@randsum/core';
import { isDiceNotation } from './isDiceNotation';
import { notationToOptions } from './utils/notationToOptions';
export function validateNotation(notation) {
if (!isDiceNotation(notation)) {
return {
valid: false,
description: [],
digested: {},
type: 'invalid'
};
}
const digested = notationToOptions(notation);
return {
valid: true,
digested,
notation: optionsConverter.toNotation(digested),
type: caclulateDieType(digested.sides),
description: optionsConverter.toDescription(digested)
};
}
function caclulateDieType(sides) {
if (Array.isArray(sides)) {
return 'custom';
}
return 'numerical';
}
//# sourceMappingURL=validateNotation.js.map