public function parse(int $uuid, int $expecting_type_id = null, bool $validate = true): array
    {
        if ($validate) {
            $this->validate($uuid);
        }
        $shard_id = $this->shardIdIn($uuid, $validate);
        $type_id  = $this->typeIdIn($uuid, $expecting_type_id, $validate);
        $local_id = $this->localIdIn($uuid, $validate);

        return compact('shard_id', 'type_id', 'local_id');
    }
public function parse(int $uuid, int $expecting_type_id = null, bool $validate = true): array
    {
        if ($validate) {
            $this->validate($uuid);
        }
        $shard_id = $this->shardIdIn($uuid, $validate);
        $type_id  = $this->typeIdIn($uuid, $expecting_type_id, $validate);
        $local_id = $this->localIdIn($uuid, $validate);

        return compact('shard_id', 'type_id', 'local_id');
    }
public function parse ( int $ uuid , int $ expecting_type_id = null , bool $ validate = true ) : array { if ( $ validate ) { $ this -> validate ( $ uuid ) ; } $ shard_id = $ this -> shardIdIn ( $ uuid , $ validate ) ; $ type_id = $ this -> typeIdIn ( $ uuid , $ expecting_type_id , $ validate ) ; $ local_id = $ this -> localIdIn ( $ uuid , $ validate ) ; return compact ( 'shard_id' , 'type_id' , 'local_id' ) ; }
UUID64 parser.

@since 150424 Initial release.

@param int      $uuid              Input UUID64 (64 bits signed max `9223372036854775807`).
@param int|null $expecting_type_id Expected type ID; i.e., validate this type ID?
@param bool     $validate          Validate the UUID and each part?

@return array IDs: `shard_id`, `type_id`, `local_id` from UUID64.

- `shard_id` (16 bits unsigned max `65535`).
- `type_id` (8 bits unsigned max `255`).
- `local_id` (38 bits unsigned max `274877906943`).
UUID64 parser .