Compare commits

..

No commits in common. "fd8c0f1085ec03a26d84ac45d840f7b6a39ad673" and "0c4e12132a4583e3212ef41db7fe9c2ea5683b77" have entirely different histories.

6 changed files with 13 additions and 10 deletions

View File

@ -2,29 +2,27 @@
namespace App\Lib\Data;
use Spatie\LaravelData\Normalizers\Normalizer;
use App\Lib\Normalizers\DateNormalizer;
use Spatie\LaravelData\Data;
use Spatie\LaravelData\Attributes\MapInputName;
use Spatie\LaravelData\Attributes\MapOutputName;
use Spatie\LaravelData\Attributes\WithTransformer;
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
use Spatie\TypeScriptTransformer\Attributes\Typescript;
use App\Lib\Transformers\DateTransformer;
use Carbon\Carbon;
#[MapInputName(SnakeCaseMapper::class)]
#[MapOutputName(SnakeCaseMapper::class)]
#[TypeScript]
class DateData extends Data
{
public function __construct(
#[WithTransformer(DateTransformer::class)]
public Carbon $raw,
public string $raw,
public string $human,
) {}
/**
* @return array<int, class-string<Normalizer>>
*/
public static function normalizers(): array
{
return [

View File

@ -7,9 +7,6 @@ use Carbon\Carbon;
class DateNormalizer implements Normalizer
{
/**
* @return array<string, mixed>
*/
public function normalize(mixed $value): ?array
{
if (!$value instanceof Carbon) {

View File

@ -6,9 +6,11 @@ use Spatie\LaravelData\Data;
use Spatie\LaravelData\Attributes\MapInputName;
use Spatie\LaravelData\Attributes\MapOutputName;
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
use Spatie\TypeScriptTransformer\Attributes\Typescript;
#[MapInputName(SnakeCaseMapper::class)]
#[MapOutputName(SnakeCaseMapper::class)]
#[TypeScript]
class ActivityData extends Data {
public function __construct(

View File

@ -6,9 +6,11 @@ use Spatie\LaravelData\Data;
use Spatie\LaravelData\Attributes\MapInputName;
use Spatie\LaravelData\Attributes\MapOutputName;
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
use Spatie\TypeScriptTransformer\Attributes\Typescript;
#[MapInputName(SnakeCaseMapper::class)]
#[MapOutputName(SnakeCaseMapper::class)]
#[TypeScript]
class GroupData extends Data {
public function __construct(

View File

@ -10,9 +10,11 @@ use App\Member\Membership;
use App\Member\Member;
use App\Activity;
use App\Lib\Data\DateData;
use Spatie\TypeScriptTransformer\Attributes\Typescript;
#[MapInputName(SnakeCaseMapper::class)]
#[MapOutputName(SnakeCaseMapper::class)]
#[TypeScript]
class MembershipData extends Data
{
@ -26,7 +28,7 @@ class MembershipData extends Data
public bool $isActive,
) {}
public static function fromModel(Membership $membership): static
public static function fromModel(Membership $membership)
{
return static::factory()->withoutMagicalCreation()->from([
'id' => $membership->id,

View File

@ -6,9 +6,11 @@ use Spatie\LaravelData\Data;
use Spatie\LaravelData\Attributes\MapInputName;
use Spatie\LaravelData\Attributes\MapOutputName;
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
use Spatie\TypeScriptTransformer\Attributes\Typescript;
#[MapInputName(SnakeCaseMapper::class)]
#[MapOutputName(SnakeCaseMapper::class)]
#[TypeScript]
class SubactivityData extends Data {
public function __construct(