NullType::fromArray($data), 'boolean' => BooleanType::fromArray($data), 'integer' => IntegerType::fromArray($data), 'string' => StringType::fromArray($data), 'bytes' => BytesType::fromArray($data), 'cid-link' => CidLinkType::fromArray($data), 'unknown' => UnknownType::fromArray($data), default => throw TypeResolutionException::unknownType($type), }; } /** * Check if a type is a primitive type. */ public function isPrimitive(string $type): bool { return in_array($type, [ 'null', 'boolean', 'integer', 'string', 'bytes', 'cid-link', 'unknown', ]); } /** * Get all supported primitive types. * * @return array */ public function getSupportedTypes(): array { return [ 'null', 'boolean', 'integer', 'string', 'bytes', 'cid-link', 'unknown', ]; } }