UNPKG

groupster-engine

Version:

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

32 lines (21 loc) 1.2 kB
"use strict"; 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;