UNPKG

@thi.ng/geom

Version:

Functional, polymorphic API for 2D geometry types & SVG generation

36 lines (35 loc) 654 B
const __remapBuffer = (buf, pts, start, cstride, estride) => { for (let i = pts.length; i-- > 0; ) { const p = pts[i]; p.buf = buf; p.offset = start + i * estride; p.stride = cstride; } return buf; }; const __collateWith = (fn, pts, opts, stride) => { opts = { start: 0, cstride: 1, estride: stride, ...opts }; const { start, cstride, estride } = opts; return __remapBuffer( fn( opts.buf || new Array(start + pts.length * estride).fill(0), pts, start, cstride, estride ), pts, start, cstride, estride ); }; export { __collateWith, __remapBuffer };