UNPKG

just-animate

Version:
35 lines (34 loc) 1.18 kB
import { _ } from '../utils/constants'; import { isDefined } from '../utils/inspect'; import { list } from '../utils/lists'; import { insert } from './insert'; export const append = (model, data, ctx) => { const cursor = model.cursor; const opts2 = list(data).map(opt => { const { to, from, duration } = opt; const hasTo = isDefined(to); const hasFrom = isDefined(from); const hasDuration = isDefined(duration); const opt2 = opt; opt2.to = hasTo && (hasFrom || hasDuration) ? to : hasDuration && hasFrom ? from + duration : hasTo && !hasDuration ? cursor + to : hasDuration ? cursor + duration : _; opt2.from = hasFrom && (hasTo || hasDuration) ? from : hasTo && hasDuration ? to - duration : hasTo || hasDuration ? cursor : _; return opt2; }); insert(model, opts2, ctx); };