Open ended type system #62

Merged
c.fahner merged 9 commits from issues/61 into main 2026-09-21 15:40:22 +02:00
Owner

Resolves #61.

Types are now allowed to declare most return types for their serialize() method
Removed TypeInfo::getStorageClass()
Add empty type implementations for DateTimeInterface, BackedEnum and array

Resolves #61. Types are now allowed to declare most return types for their serialize() method Removed TypeInfo::getStorageClass() Add empty type implementations for `DateTimeInterface`, `BackedEnum` and `array`
c.fahner added this to the v0.2 milestone 2026-09-18 20:49:36 +02:00
Types are now allowed to declare most return types for their serialize() method
Removed TypeInfo::getStorageClass()
c.fahner changed title from WIP: Open ended type system to Open ended type system 2026-09-20 11:38:55 +02:00
@ -0,0 +9,4 @@
* @author C. Fahner
* @copyright Slendium 2026
*/
class SerializeException extends Exception { }
Author
Owner

No tests

No tests
c.fahner marked this conversation as resolved
@ -31,3 +33,3 @@
throw TypeException::forAmbiguousSerialization($typeClass, $reflectedType);
}
private function __construct() { }
Author
Owner

Add private constructor back

Add private constructor back
c.fahner marked this conversation as resolved
c.fahner stopped working 2026-09-21 07:01:30 +02:00
12 minutes 2 seconds
@ -20,4 +30,4 @@
yield [ FieldTest\MixedFieldEntity::class, 'mixed' ];
yield [ FieldTest\UntypedFieldEntity::class, 'untyped' ];
yield [ FieldTest\UnionTypedFieldEntity::class, 'union' ];
yield [ FieldTest\IntersectionTypedFieldEntity::class, 'intersection' ];
Author
Owner

Also add IntersectionUnionTypedFieldEntity

Also add IntersectionUnionTypedFieldEntity
c.fahner marked this conversation as resolved
c.fahner stopped working 2026-09-21 15:12:20 +02:00
4 minutes 51 seconds
c.fahner deleted branch issues/61 2026-09-21 15:40:22 +02:00
c.fahner referenced this pull request from a commit 2026-09-21 15:40:23 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Total time spent: 16 minutes 53 seconds
c.fahner
16 minutes 53 seconds
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
slendium/ocd!62
No description provided.