import {State, StatePartial} from '../src/types' import * as _ from 'lodash' export interface DummyType { title:string; subtitle:string; id:string; } export function stateDefaults():State { return { hoveredItem: null, selectedItems: [], nonSelectedItems: [], allItems: [], titleAttr: 'title', subtitleAttr: 'subtitle', valueAttr: 'id', selectedChanged: false } } export function stateFactory (defaultGen:() => State):(state:StatePartial) => State { return (state:StatePartial):State => { return _.defaults(state, defaultGen()) } } export function generateDummyItems (firstIndex:number, numberOfItems:number):DummyType[] { const range:number[] = _.range(firstIndex, firstIndex + numberOfItems) return _.map(range, (index) => { return { title: 'Item ' + index, subtitle: '', id: 'item' + index } }) }