HEX
Server: LiteSpeed
System: Linux sv4.hami.host 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: armgroup (1008)
PHP: 8.2.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, mail, socket_create, socket_create_listen, socket_create_pair, link, dl, openlog, syslog, stream_socket_server, curl_multi_init
Upload Files
File: /home/armgroup/libs/vendor/ramsey/uuid/src/Codec/TimestampLastCombCodec.php
<?php

/**
 * This file is part of the ramsey/uuid library
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 * @copyright Copyright (c) Ben Ramsey <ben@benramsey.com>
 * @license http://opensource.org/licenses/MIT MIT
 */

declare(strict_types=1);

namespace Ramsey\Uuid\Codec;

/**
 * TimestampLastCombCodec encodes and decodes COMBs, with the timestamp as the
 * last 48 bits
 *
 * The CombGenerator when used with the StringCodec (and, by proxy, the
 * TimestampLastCombCodec) adds the timestamp to the last 48 bits of the COMB.
 * The TimestampLastCombCodec is provided for the sake of consistency. In
 * practice, it is identical to the standard StringCodec but, it may be used
 * with the CombGenerator for additional context when reading code.
 *
 * Consider the following code. By default, the codec used by UuidFactory is the
 * StringCodec, but here, we explicitly set the TimestampLastCombCodec. It is
 * redundant, but it is clear that we intend this COMB to be generated with the
 * timestamp appearing at the end.
 *
 * ``` php
 * $factory = new UuidFactory();
 *
 * $factory->setCodec(new TimestampLastCombCodec($factory->getUuidBuilder()));
 *
 * $factory->setRandomGenerator(new CombGenerator(
 *     $factory->getRandomGenerator(),
 *     $factory->getNumberConverter()
 * ));
 *
 * $timestampLastComb = $factory->uuid4();
 * ```
 *
 * @link https://www.informit.com/articles/printerfriendly/25862 The Cost of GUIDs as Primary Keys
 *
 * @psalm-immutable
 */
class TimestampLastCombCodec extends StringCodec
{
}