BaseCollection::first now returns an Option
Summary:
Previous behavior: return first item or throw an option on empty collection
Current behavior: similar to Rust, return Some(first item) or None
The behavior of BaseCollection::firstOr is not changed, with eager loading.
For lazy loading, we can now use $collection->first()->getValueOrElse().
Test Plan:
- Unit tests have been updated
- No-op for Zed code (it uses firstOr)
Reviewers: dereckson
Reviewed By: dereckson
Differential Revision: https://devcentral.nasqueron.org/D3852