rvx
Version:
A signal based rendering library
15 lines • 560 B
JavaScript
import { createMapArrayState, mapArrayUpdate } from "./internals/map-array.js";
import { $, get, untrack, watch } from "./signals.js";
export function mapArray(inputs, fn) {
const state = createMapArrayState();
const output = $([]);
watch(() => {
const update = mapArrayUpdate(state, get(inputs), fn);
if (update !== null) {
untrack(output).splice(update.s, update.p.length, ...update.n.map(s => s.o));
output.notify();
}
});
return () => output.value;
}
//# sourceMappingURL=map-array.js.map