self::SCHEMA_UNIFIED, self::UNIFIED_DATA => $serialized ]; } /** * @param string[] $segmentHashList Ordered list of hashes for each segment * @return stdClass */ public static function newSegmented( array $segmentHashList ) { return (object)[ self::SCHEMA => self::SCHEMA_SEGMENTED, self::SEGMENTED_HASHES => $segmentHashList ]; } /** * @param mixed $value * @return bool */ public static function isUnified( $value ) { return ( $value instanceof stdClass && ( $value->{self::SCHEMA} ?? null ) === self::SCHEMA_UNIFIED ); } /** * @param mixed $value * @return bool */ public static function isSegmented( $value ) { return ( $value instanceof stdClass && ( $value->{self::SCHEMA} ?? null ) === self::SCHEMA_SEGMENTED ); } }