groupster-engine
Version:
Randomly group objects using do-group and don't-group rules.
32 lines (21 loc) • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.RulesSchema = exports.RuleSchema = exports.GroupSizesSchema = exports.IDsSchema = void 0;
var _joiBrowser = _interopRequireDefault(require("joi-browser"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
/* eslint-disable newline-per-chained-call */
var IDsSchema = _joiBrowser["default"].array().min(2).unique().items(_joiBrowser["default"].string()).required();
exports.IDsSchema = IDsSchema;
var GroupSizesSchema = _joiBrowser["default"].array().items(_joiBrowser["default"].number().min(1)).required();
exports.GroupSizesSchema = GroupSizesSchema;
var RuleSchema = _joiBrowser["default"].object().keys({
// If true -> try to group members together. If false -> try to put members in separate groups.
shouldGroup: _joiBrowser["default"].bool().required(),
// IDs of members for which this rule applies
IDs: _joiBrowser["default"].array().min(2).unique().items(_joiBrowser["default"].string()).required()
});
exports.RuleSchema = RuleSchema;
var RulesSchema = _joiBrowser["default"].array().items(RuleSchema);
exports.RulesSchema = RulesSchema;