Skip to content

Released: ArrayLookup 2.1.0

Choose a tag to compare

@samsonasik samsonasik released this 04 Dec 22:55
· 7 commits to main since this release
2.1.0
e61c61c

Feature

Add new Finder::partition() functionality:

It splits data into 2 arrays: matching and non-matching, instead of 2 loops to get match and non-match, it just use single iteration, and already get both matching and non-matching data.

The valid example for this:

<?php
// Import CSV data and separate valid/invalid rows in one pass
$csvRows = $csvParser->parse('users.csv');
[$validUsers, $invalidUsers] = Finder::partition(
    $csvRows,
    fn($row) => $validator->validate($row)->isValid()
);

// Bulk insert valid users
$userRepository->bulkInsert($validUsers);

// Generate error report for invalid rows
$reportGenerator->createErrorReport($invalidUsers);

Full Changelog: 2.0.3...2.1.0