UNPKG

groupster-engine

Version:

Randomly group objects using do-group and don't-group rules.

16 lines (11 loc) 608 B
/* eslint-disable newline-per-chained-call */ import Joi from 'joi-browser'; export const IDsSchema = Joi.array().min(2).unique().items(Joi.string()).required(); export const GroupSizesSchema = Joi.array().items(Joi.number().min(1)).required(); export const RuleSchema = Joi.object().keys({ // If true -> try to group members together. If false -> try to put members in separate groups. shouldGroup: Joi.bool().required(), // IDs of members for which this rule applies IDs: Joi.array().min(2).unique().items(Joi.string()).required(), }); export const RulesSchema = Joi.array().items(RuleSchema);