@beliaev/update-item

Simple function for updating array items

Usage no npm install needed!

<script type="module">
  import beliaevUpdateItem from 'https://cdn.skypack.dev/@beliaev/update-item';
</script>

README

Simple function for updating array items

Installation

npm i @beliaev/update-item

Usage

import { update } from "@beliaev/update-item"

type User = {
  name: string;
  married?: boolean;
}

const users: User[] = [
  { name: 'Paul Smith',  },
  { name: 'John Doe' },
  { name: 'Jane Doe' },
  { name: 'Ann Johnson',  },
]

const updated = update(
  users,
  _ => _.name.endsWith('Doe'),
  _ => ({ married: true })
)

updated; // -> [
//  { name: 'Paul Smith',  },
//  { name: 'John Doe', married: true },
//  { name: 'Jane Doe', married: true },
//  { name: 'Ann Johnson',  },
//]

Signature

function update<T>(
  array: T[],
  predicate: (el: T) => boolean,
  reducer: (el: T) => Partial<T>
): T[]