support all one arg Math functions
This commit is contained in:
parent
57bde22e1a
commit
047d41a20e
|
@ -7,8 +7,15 @@ import { RollModifiers } from '../mod.d.ts';
|
|||
|
||||
import { DPercentConf, ReturnData, RollSet } from './solver.d.ts';
|
||||
|
||||
type MathFunction = (arg: number) => number;
|
||||
export const loggingEnabled = false;
|
||||
export const legalMath = [Math.abs, Math.ceil, Math.floor, Math.round, Math.sqrt, Math.cbrt];
|
||||
export const legalMath: MathFunction[] = [];
|
||||
(Object.getOwnPropertyNames(Math) as (keyof Math)[]).forEach((propName) => {
|
||||
const mathProp = Math[propName];
|
||||
if (typeof mathProp === 'function' && mathProp.length === 1) {
|
||||
legalMath.push(mathProp as MathFunction);
|
||||
}
|
||||
});
|
||||
export const legalMathOperators = legalMath.map((oper) => oper.name);
|
||||
|
||||
// genRoll(size) returns number
|
||||
|
|
Loading…
Reference in New Issue