UNPKG

loop-grid

Version:

An observable collection of looped event sequences shaped to a grid.

20 lines (18 loc) 704 B
var computed = require('observ/computed') var ArrayGrid = require('array-grid') module.exports = function computeTargets (obsChunkLookup, obsPositions, obsShape) { return computed([obsChunkLookup, obsPositions, obsShape], function (chunkLookup, positions, shape) { var grid = ArrayGrid([], shape) if (chunkLookup && positions) { Object.keys(positions).forEach(function (id) { var chunk = obsChunkLookup.get(id) var origin = positions[id] var chunkGrid = chunk && chunk.resolvedGrid && chunk.resolvedGrid() if (chunkGrid && Array.isArray(origin)) { grid.place(origin[0], origin[1], chunkGrid) } }) } return grid.data }) }