cline/data

Extended validation attributes, casts, transformers, and type utilities for spatie/laravel-data

Installs: 45

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/cline/data

1.0.1 2025-10-19 06:18 UTC

This package is auto-updated.

Last update: 2025-10-19 06:22:27 UTC


README

GitHub Workflow Status Latest Version on Packagist Software License Total Downloads

This library provides extended validation attributes, casts, transformers, and type utilities for spatie/laravel-data. It enhances the powerful data transfer object pattern with additional validation rules, type conversions, and utilities designed for Laravel 11+ with PHP 8.4+.

Requirements

Requires PHP 8.4+ and Laravel 11+

Requires spatie/laravel-data 4.18+

Installation

composer require cline/data

Documentation

Quick Start

Using Validation Attributes

use Cline\Data\Attributes\Validation\{PresentIf, MissingIf};
use Spatie\LaravelData\Data;

class OrderData extends Data
{
    public function __construct(
        #[PresentIf('type', 'premium')]
        public ?string $upgradeOption = null,

        #[MissingIf('automatic_renewal', true)]
        public ?int $renewalDays = null,
    ) {}
}

Using Casts and Transformers

use Cline\Data\Casts\{TrimCast, UpperCaseCast, NumberLikeCast};
use Spatie\LaravelData\Data;

class UserData extends Data
{
    public function __construct(
        #[TrimCast, UpperCaseCast]
        public string $name,

        #[NumberLikeCast]
        public int $accountId,
    ) {}
}

Using Type Utilities

use Cline\Data\Types\{StringLike, BooleanLike, NumberLike};

// Coerce values to appropriate types
$stringValue = StringLike::coerce('hello');
$boolValue = BooleanLike::coerce('true');
$numberValue = NumberLike::coerce('42.5');

Change log

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Security

If you discover any security related issues, please use the GitHub security reporting form rather than the issue queue.

Credits

License

The MIT License. Please see License File for more information.