@open-tender/utils
Version:
A library of utils for use with Open Tender applications that utilize our cloud-based Order API.
44 lines (43 loc) • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.squareSizeMap = exports.toppingJustifyContent = exports.toppingAlignItems = exports.getCoverageMinMaxMap = exports.selectItemsWithEqualDistribution = void 0;
const helpers_1 = require("./helpers");
const selectItemsWithEqualDistribution = (min, max, cellsCount, coverage) => {
const coverageCount = cellsCount / (coverage === 'whole' ? 1 : 2);
const itemsRange = (0, helpers_1.range)(min, max + 1);
const step = Math.ceil(itemsRange.length / coverageCount);
const selectedItems = [];
for (let i = 0; i < coverageCount; i++) {
const startIndex = i * step;
const endIndex = (i + 1) * step;
selectedItems.push((0, helpers_1.sample)(itemsRange.slice(startIndex, endIndex)));
}
return selectedItems;
};
exports.selectItemsWithEqualDistribution = selectItemsWithEqualDistribution;
const getCoverageMinMaxMap = (cellsCount) => ({
'1st-half': { min: cellsCount / 2, max: cellsCount - 1 },
'2nd-half': { min: 0, max: cellsCount / 2 - 1 },
whole: { min: 0, max: cellsCount - 1 }
});
exports.getCoverageMinMaxMap = getCoverageMinMaxMap;
exports.toppingAlignItems = {
0: 'flex-start',
1: 'center',
2: 'flex-end',
3: 'flex-end',
4: 'flex-start'
};
exports.toppingJustifyContent = {
0: 'flex-end',
1: 'center',
2: 'flex-start',
3: 'flex-end',
4: 'flex-start'
};
exports.squareSizeMap = {
extra: 8,
light: 4,
normal: 6,
triple: 10
};