react-carousel-query
Version:
A infinite carousel component made with react that handles the pagination for you.
36 lines (30 loc) • 795 B
Flow
/* @flow */
import { createStringTreeNode } from './../tree';
import type { TreeNode } from './../tree';
export default (
previousNodes: TreeNode[],
currentNode: TreeNode
): TreeNode[] => {
const nodes = previousNodes.slice(
0,
previousNodes.length > 0 ? previousNodes.length - 1 : 0
);
const previousNode = previousNodes[previousNodes.length - 1];
if (
previousNode &&
(currentNode.type === 'string' || currentNode.type === 'number') &&
(previousNode.type === 'string' || previousNode.type === 'number')
) {
nodes.push(
createStringTreeNode(
String(previousNode.value) + String(currentNode.value)
)
);
} else {
if (previousNode) {
nodes.push(previousNode);
}
nodes.push(currentNode);
}
return nodes;
};