return new RandomBasedUuidFactory($this->randomBasedClass
);
} public function timeBased(Uuid|string
$node = null
): TimeBasedUuidFactory
{ $node ??=
$this->timeBasedNode;
if (null !==
$node && !
$node instanceof Uuid
) { $node = Uuid::
fromString($node);
} return new TimeBasedUuidFactory($this->timeBasedClass,
$node);
} public function nameBased(Uuid|string
$namespace = null
): NameBasedUuidFactory
{ $namespace ??=
$this->nameBasedNamespace;
if (null ===
$namespace) { throw new \
LogicException(sprintf('A namespace should be defined when using "%s()".', __METHOD__
));
} return new NameBasedUuidFactory($this->nameBasedClass,
$this->
getNamespace($namespace));
}