UNPKG

@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
"use strict"; 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 };