aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/ramsey/uuid/src/Generator/PeclUuidNameGenerator.php
diff options
context:
space:
mode:
authorHilmar R <u02@u29lx193>2021-01-22 01:38:43 +0100
committerHilmar R <u02@u29lx193>2021-01-22 01:38:43 +0100
commit523765b968a5d94a98eee12854fc527d5abbc2e7 (patch)
treea71caba8943c674917821a4afd333eb39ac92b2e /vendor/ramsey/uuid/src/Generator/PeclUuidNameGenerator.php
parent78f150cfbc1b713bfba3101fdc3f1fd624120637 (diff)
parent254e30bea173e350a24756cbd8cf4acdfe32933e (diff)
downloadvolse-hubzilla-523765b968a5d94a98eee12854fc527d5abbc2e7.tar.gz
volse-hubzilla-523765b968a5d94a98eee12854fc527d5abbc2e7.tar.bz2
volse-hubzilla-523765b968a5d94a98eee12854fc527d5abbc2e7.zip
Merge branch 'master' into air.5
Diffstat (limited to 'vendor/ramsey/uuid/src/Generator/PeclUuidNameGenerator.php')
-rw-r--r--vendor/ramsey/uuid/src/Generator/PeclUuidNameGenerator.php54
1 files changed, 54 insertions, 0 deletions
diff --git a/vendor/ramsey/uuid/src/Generator/PeclUuidNameGenerator.php b/vendor/ramsey/uuid/src/Generator/PeclUuidNameGenerator.php
new file mode 100644
index 000000000..93b786878
--- /dev/null
+++ b/vendor/ramsey/uuid/src/Generator/PeclUuidNameGenerator.php
@@ -0,0 +1,54 @@
+<?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\Generator;
+
+use Ramsey\Uuid\Exception\NameException;
+use Ramsey\Uuid\UuidInterface;
+
+use function sprintf;
+use function uuid_generate_md5;
+use function uuid_generate_sha1;
+use function uuid_parse;
+
+/**
+ * PeclUuidNameGenerator generates strings of binary data from a namespace and a
+ * name, using ext-uuid
+ *
+ * @link https://pecl.php.net/package/uuid ext-uuid
+ */
+class PeclUuidNameGenerator implements NameGeneratorInterface
+{
+ /** @psalm-pure */
+ public function generate(UuidInterface $ns, string $name, string $hashAlgorithm): string
+ {
+ switch ($hashAlgorithm) {
+ case 'md5':
+ $uuid = (string) uuid_generate_md5($ns->toString(), $name);
+
+ break;
+ case 'sha1':
+ $uuid = (string) uuid_generate_sha1($ns->toString(), $name);
+
+ break;
+ default:
+ throw new NameException(sprintf(
+ 'Unable to hash namespace and name with algorithm \'%s\'',
+ $hashAlgorithm
+ ));
+ }
+
+ return (string) uuid_parse($uuid);
+ }
+}