@battle-racing/br-common-lib
Version:
Common library for all Battle Racing Repositorios
16 lines (15 loc) • 980 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.arithmeticExpressionSchema = exports.contextArithmeticStringSchema = exports.kartContextVariableSchema = exports.simpleArithmeticStringSchema = exports.arithmeticOperatorSchema = void 0;
const zod_1 = require("zod");
exports.arithmeticOperatorSchema = zod_1.z.enum(['+', '-', '*', '/']);
// Regex for SimpleArithmeticString: check for operator followed by numbers
exports.simpleArithmeticStringSchema = zod_1.z.string().regex(/^[\+\-\*\/]-?\d+(\.\d+)?$/);
// Regex for ContextArithmeticString: $variable operator number
exports.kartContextVariableSchema = zod_1.z.enum(['$kart.configuredSpeed', '$kart.powerUpTime']);
exports.contextArithmeticStringSchema = zod_1.z.string().regex(/^\$[a-zA-Z0-9\.]+\s[\+\-\*\/]\s-?\d+(\.\d+)?$/);
exports.arithmeticExpressionSchema = zod_1.z.union([
zod_1.z.number(),
exports.simpleArithmeticStringSchema,
exports.contextArithmeticStringSchema,
]);