@times-components/section
Version:
1 lines • 4.76 kB
JavaScript
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.filterPuzzles=exports.splitPuzzlesBySlices=exports.createPuzzleData=exports.getImage=exports.buildSliceData=exports.consecutiveItemsFlagger=exports.prepareSlicesForRender=exports.composeSliceBuilders=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _memoizeOne=_interopRequireDefault(require("memoize-one"));var _tsStyleguide=require("@times-components/ts-styleguide");function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;});}keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){(0,_defineProperty2.default)(target,key,source[key]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source));}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}}return target;}var composeSliceBuilders=function composeSliceBuilders(firstBuilder,secondBuilder){return function(slices){return secondBuilder(firstBuilder(slices));};};exports.composeSliceBuilders=composeSliceBuilders;var withIgnoredSeperator=function withIgnoredSeperator(slice){return _objectSpread(_objectSpread({},slice),{},{ignoreSeparator:true});};var withIsConsecutive=function withIsConsecutive(slice){return _objectSpread(_objectSpread({},slice),{},{isConsecutive:true});};var shouldIgnoreSeperator=function shouldIgnoreSeperator(_ref){var name=_ref.name;return name==="LeadersSlice"||name==="DailyUniversalRegister";};var splitPuzzlesBySlices=function splitPuzzlesBySlices(puzzles){var numberOfTilesPerSlice=arguments.length>1&&arguments[1]!==undefined?arguments[1]:3;return puzzles.reduce(function(result,puzzle,index){var slices=result;var sliceIndex=Math.floor(index/numberOfTilesPerSlice);var id=puzzle.id,name=puzzle.name;slices[sliceIndex]=slices[sliceIndex]||{id:id,name:name};slices[sliceIndex].puzzles=[].concat((0,_toConsumableArray2.default)(slices[sliceIndex].puzzles||[]),[puzzle]);return slices;},[]);};exports.splitPuzzlesBySlices=splitPuzzlesBySlices;var buildSliceData=(0,_memoizeOne.default)(function(data){return data.reduce(function(newSlices,oldSlice,idx){var nextSlice=data[idx+1];if(nextSlice&&shouldIgnoreSeperator(nextSlice)){newSlices[idx]=withIgnoredSeperator(oldSlice);newSlices[idx+1]=withIgnoredSeperator(nextSlice);}else if(!newSlices[idx]){newSlices[idx]=oldSlice;}var currentSlice=newSlices[idx];var generatedId=currentSlice.id;Object.keys(currentSlice).forEach(function(key){if(currentSlice[key].article){generatedId+=currentSlice[key].article.id;}});newSlices[idx]=_objectSpread(_objectSpread({},currentSlice),{},{elementId:generatedId+"."+idx});return newSlices;},[]);});exports.buildSliceData=buildSliceData;var consecutiveItemsFlagger=(0,_memoizeOne.default)(function(slices){return slices.reduce(function(acc,curr,i){return acc.length>0&&curr.name&&acc[i-1].name&&curr.name===acc[i-1].name?[].concat((0,_toConsumableArray2.default)(acc),[withIsConsecutive(curr)]):[].concat((0,_toConsumableArray2.default)(acc),[curr]);},[]);});exports.consecutiveItemsFlagger=consecutiveItemsFlagger;var prepareSlicesForRender=composeSliceBuilders(buildSliceData,consecutiveItemsFlagger);exports.prepareSlicesForRender=prepareSlicesForRender;var getRatio=function getRatio(ratio){var ratios=ratio.split(":").map(function(num){return parseInt(num,10);});return ratios[0]/ratios[1];};var getImage=function getImage(_ref2){var _ref2$crops=_ref2.crops,crops=_ref2$crops===void 0?[]:_ref2$crops;if(crops.length===0){return{};}return{ratio:getRatio(crops[0].ratio),url:crops[0].url};};exports.getImage=getImage;var filterPuzzles=function filterPuzzles(puzzles,editionBreakpoint){return editionBreakpoint===_tsStyleguide.editionBreakpoints.small?puzzles.filter(function(puzzle){return!puzzle.hideOnMobile;}):puzzles;};exports.filterPuzzles=filterPuzzles;var createPuzzleData=function createPuzzleData(puzzles,editionBreakpoint){var filteredPuzzles=filterPuzzles(puzzles,editionBreakpoint);var splitedPuzzlesBySlices=splitPuzzlesBySlices(filteredPuzzles);var sliceData=buildSliceData(splitedPuzzlesBySlices);return sliceData;};exports.createPuzzleData=createPuzzleData;