@battle-racing/br-common-lib
Version:
Common library for all Battle Racing Repositorios
34 lines (33 loc) • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.flagShowMediaOptionsSchema = exports.flagConfigurationOptionsSchema = exports.flagModuleStatusSchema = exports.flagMediaNameSchema = exports.flagActionCommandSchema = exports.flagStatusSchema = void 0;
const zod_1 = require("zod");
const color_1 = require("../../color");
const checkpoint_1 = require("../../checkpoint");
const Flag_const_1 = require("./Flag.const");
exports.flagStatusSchema = zod_1.z.enum(Flag_const_1.FLAG_STATUS);
exports.flagActionCommandSchema = zod_1.z.enum(Flag_const_1.FLAG_ACTION_COMMAND);
exports.flagMediaNameSchema = zod_1.z
.union([zod_1.z.number().min(0).max(255), zod_1.z.enum(Flag_const_1.FLAG_MEDIA_NAME)])
.describe('The Media source could be the name of the icon on Flag Module or a number to render');
exports.flagModuleStatusSchema = zod_1.z.object({
flagStatus: exports.flagStatusSchema,
lastCheckpointAddress: zod_1.z.number(),
lastCheckpointType: checkpoint_1.checkpointTypeSchema,
});
exports.flagConfigurationOptionsSchema = zod_1.z.object({
kartId: zod_1.z.number(),
kartNumber: zod_1.z.number(),
kartColor: color_1.colorNameSchema, // ensure colorNameSchema is imported
screenBrightness: zod_1.z.number().min(0).max(100),
animationTime: zod_1.z.number().min(1).max(25),
});
exports.flagShowMediaOptionsSchema = zod_1.z.object({
screens: zod_1.z.object({
left: zod_1.z.boolean(),
right: zod_1.z.boolean(),
front: zod_1.z.boolean(),
back: zod_1.z.boolean(),
}),
mediaSourceName: exports.flagMediaNameSchema,
});