artisan-toolbox / core
ArtisanToolbox Core provides shared foundations, contracts, utilities, and common components for all ArtisanToolbox packages.
Fund package maintenance!
Requires
- php: ^8.5
- illuminate/support: ^13.0
- inertiajs/inertia-laravel: ^3.0
Requires (Dev)
- artisan-toolbox/maintainer: ^1.0
- driftingly/rector-laravel: ^2.5
- larastan/larastan: ^3.9
- laravel/pao: ^1.0
- laravel/pint: ^1.29
- orchestra/testbench: ^11.0
- pestphp/pest: ^5.0
- pestphp/pest-plugin-laravel: ^5.0
- pestphp/pest-plugin-type-coverage: ^5.0
- phpstan/extension-installer: ^1.4
- rector/rector: ^2.6.2
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Artisan Toolbox Core
Artisan Toolbox Core provides shared foundations, contracts, utilities, and common components for Artisan Toolbox packages.
Documentation
The complete installation, resource publishing, and compatibility documentation is available at artisantoolbox.wsssoftware.com.br/packages/core.
Installation
composer require artisan-toolbox/core
Most applications receive Core through another Artisan Toolbox package. When using it directly, publish its resources with:
php artisan vendor:publish --tag="core"
Usage
Build arrays with conditionally included values using the Arr::sift() macro and namespaced sift_when() helper:
use Illuminate\Support\Arr; use function ArtisanToolbox\Core\sift_when; $payload = Arr::sift([ 'name' => $user->name, 'email' => sift_when($canViewEmail, fn (): string => $user->email), ]);
The macro is also available as $collection->sift() and $lazyCollection->sift(), returning new instances without mutating or eagerly consuming their sources.
See the conditional arrays documentation for recursive iterable behavior and key-preservation details.