@randsum/notation
Version:
A flexible, type-safe dice notation parser and validator
46 lines (40 loc) • 2.46 kB
text/typescript
import { BaseRollOptions, ComparisonOptions, CustomDiceNotation, CustomDiceNotation as CustomDiceNotation$1, CustomRollOptions, CustomRollOptions as CustomRollOptions$1, DiceNotation, DiceNotation as DiceNotation$1, DropOptions, ModifierOptions, NumericDiceNotation, NumericDiceNotation as NumericDiceNotation$1, NumericRollOptions, NumericRollOptions as NumericRollOptions$1, ReplaceOptions, RerollOptions, RollOptions, RollOptions as RollOptions$1, UniqueOptions } from "@randsum/core";
//#region \0virtual:/home/runner/work/randsum/randsum/packages/notation/src/types.d.ts
interface BaseValidationResult {
valid: boolean;
type: "numerical" | "custom" | "invalid";
description: string[];
}
interface NumericValidationResult extends BaseValidationResult {
valid: true;
type: "numerical";
digested: NumericRollOptions$1;
notation: NumericDiceNotation$1;
}
interface CustomValidationResult extends BaseValidationResult {
valid: true;
type: "custom";
digested: CustomRollOptions$1;
notation: CustomDiceNotation$1;
}
interface InvalidValidationResult extends BaseValidationResult {
valid: false;
type: "invalid";
digested: Record<string, never>;
}
type ValidationResult = NumericValidationResult | CustomValidationResult | InvalidValidationResult;
//#endregion
//#region \0virtual:/home/runner/work/randsum/randsum/packages/notation/src/isDiceNotation.d.ts
declare function isDiceNotation(argument: unknown): argument is DiceNotation$1;
//#endregion
//#region \0virtual:/home/runner/work/randsum/randsum/packages/notation/src/validateNotation.d.ts
declare function validateNotation(notation: string): ValidationResult;
//#endregion
//#region \0virtual:/home/runner/work/randsum/randsum/packages/notation/src/patterns.d.ts
declare const coreNotationPattern: RegExp;
declare const completeRollPattern: RegExp;
//#endregion
//#region \0virtual:/home/runner/work/randsum/randsum/packages/notation/src/utils/notationToOptions.d.ts
declare function notationToOptions(notationString: DiceNotation$1): RollOptions$1;
//#endregion
export { BaseRollOptions, ComparisonOptions, CustomDiceNotation, CustomRollOptions, CustomValidationResult, DiceNotation, DropOptions, InvalidValidationResult, ModifierOptions, NumericDiceNotation, NumericRollOptions, NumericValidationResult, ReplaceOptions, RerollOptions, RollOptions, UniqueOptions, ValidationResult, completeRollPattern, coreNotationPattern, isDiceNotation, notationToOptions, validateNotation };