typescript-immutable-utils
Version:
Type-safe immutability helpers for simple objects and arrays
22 lines (21 loc) • 637 B
JavaScript
export function setAt(items, index, item) {
if (items[index] === item)
return items;
var newItems = items.slice();
newItems[index] = item;
return newItems;
}
export function insertAt(items, index, item) {
var newItems = items.slice();
newItems.splice(index, 0, item);
return newItems;
}
export function removeAt(items, index) {
var newItems = items.slice();
var deleted = newItems.splice(index, 1);
return deleted.length === 0 ? items : newItems;
}
export function removeValue(items, item) {
var index = items.indexOf(item);
return index === -1 ? items : removeAt(items, index);
}