create-prisma-php-app 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (610) hide show
  1. package/LICENSE.txt +9 -0
  2. package/README.md +158 -0
  3. package/composer.json +23 -0
  4. package/composer.lock +812 -0
  5. package/dist/bootstrap.php +4 -0
  6. package/dist/index.js +2 -0
  7. package/dist/node_modules/prisma-client-php/index.enc +1 -0
  8. package/dist/node_modules/prisma-client-php/index.js +2 -0
  9. package/dist/node_modules/prisma-client-php/key.enc +1 -0
  10. package/dist/node_modules/prisma-client-php/package.json +7 -0
  11. package/dist/prisma/schema.prisma +32 -0
  12. package/dist/prisma/seed.js +68 -0
  13. package/dist/public/assets/images/prisma-php.png +0 -0
  14. package/dist/public/css/styles.css +0 -0
  15. package/dist/public/css/tailwind.css +3 -0
  16. package/dist/public/favicon.ico +0 -0
  17. package/dist/public/index.php +64 -0
  18. package/dist/settings/paths.php +10 -0
  19. package/dist/settings/project-settings.js +6 -0
  20. package/dist/src/app/api/api.php +39 -0
  21. package/dist/src/app/classes/Validator.php +77 -0
  22. package/dist/src/app/model/IModel.php +22 -0
  23. package/package.json +35 -0
  24. package/tsconfig.json +110 -0
  25. package/vendor/autoload.php +25 -0
  26. package/vendor/brick/math/.editorconfig +15 -0
  27. package/vendor/brick/math/.gitattributes +11 -0
  28. package/vendor/brick/math/.github/FUNDING.yml +1 -0
  29. package/vendor/brick/math/.github/workflows/ci.yml +80 -0
  30. package/vendor/brick/math/CHANGELOG.md +445 -0
  31. package/vendor/brick/math/LICENSE +20 -0
  32. package/vendor/brick/math/README.md +247 -0
  33. package/vendor/brick/math/composer.json +34 -0
  34. package/vendor/brick/math/phpunit.php +51 -0
  35. package/vendor/brick/math/phpunit.xml +13 -0
  36. package/vendor/brick/math/psalm.xml +28 -0
  37. package/vendor/brick/math/random-tests.php +162 -0
  38. package/vendor/brick/math/src/BigDecimal.php +786 -0
  39. package/vendor/brick/math/src/BigInteger.php +1079 -0
  40. package/vendor/brick/math/src/BigNumber.php +512 -0
  41. package/vendor/brick/math/src/BigRational.php +445 -0
  42. package/vendor/brick/math/src/Exception/DivisionByZeroException.php +35 -0
  43. package/vendor/brick/math/src/Exception/IntegerOverflowException.php +23 -0
  44. package/vendor/brick/math/src/Exception/MathException.php +12 -0
  45. package/vendor/brick/math/src/Exception/NegativeNumberException.php +12 -0
  46. package/vendor/brick/math/src/Exception/NumberFormatException.php +33 -0
  47. package/vendor/brick/math/src/Exception/RoundingNecessaryException.php +19 -0
  48. package/vendor/brick/math/src/Internal/Calculator/BcMathCalculator.php +75 -0
  49. package/vendor/brick/math/src/Internal/Calculator/GmpCalculator.php +108 -0
  50. package/vendor/brick/math/src/Internal/Calculator/NativeCalculator.php +581 -0
  51. package/vendor/brick/math/src/Internal/Calculator.php +676 -0
  52. package/vendor/brick/math/src/RoundingMode.php +107 -0
  53. package/vendor/brick/math/tests/AbstractTestCase.php +86 -0
  54. package/vendor/brick/math/tests/BigDecimalTest.php +2596 -0
  55. package/vendor/brick/math/tests/BigIntegerTest.php +3782 -0
  56. package/vendor/brick/math/tests/BigNumberTest.php +53 -0
  57. package/vendor/brick/math/tests/BigRationalTest.php +993 -0
  58. package/vendor/brick/math/tests/CalculatorDetectTest.php +25 -0
  59. package/vendor/brick/math/tests/Internal/Calculator/NativeCalculatorTest.php +87 -0
  60. package/vendor/composer/ClassLoader.php +579 -0
  61. package/vendor/composer/InstalledVersions.php +359 -0
  62. package/vendor/composer/LICENSE +21 -0
  63. package/vendor/composer/autoload_classmap.php +15 -0
  64. package/vendor/composer/autoload_files.php +13 -0
  65. package/vendor/composer/autoload_namespaces.php +9 -0
  66. package/vendor/composer/autoload_psr4.php +20 -0
  67. package/vendor/composer/autoload_real.php +50 -0
  68. package/vendor/composer/autoload_static.php +122 -0
  69. package/vendor/composer/installed.json +825 -0
  70. package/vendor/composer/installed.php +132 -0
  71. package/vendor/composer/platform_check.php +26 -0
  72. package/vendor/firebase/php-jwt/.gitattributes +9 -0
  73. package/vendor/firebase/php-jwt/.github/release-please.yml +3 -0
  74. package/vendor/firebase/php-jwt/.github/workflows/tests.yml +57 -0
  75. package/vendor/firebase/php-jwt/.php-cs-fixer.dist.php +24 -0
  76. package/vendor/firebase/php-jwt/CHANGELOG.md +170 -0
  77. package/vendor/firebase/php-jwt/LICENSE +30 -0
  78. package/vendor/firebase/php-jwt/README.md +424 -0
  79. package/vendor/firebase/php-jwt/composer.json +42 -0
  80. package/vendor/firebase/php-jwt/phpstan.neon.dist +5 -0
  81. package/vendor/firebase/php-jwt/phpunit.xml.dist +18 -0
  82. package/vendor/firebase/php-jwt/src/BeforeValidException.php +18 -0
  83. package/vendor/firebase/php-jwt/src/CachedKeySet.php +268 -0
  84. package/vendor/firebase/php-jwt/src/ExpiredException.php +18 -0
  85. package/vendor/firebase/php-jwt/src/JWK.php +349 -0
  86. package/vendor/firebase/php-jwt/src/JWT.php +669 -0
  87. package/vendor/firebase/php-jwt/src/JWTExceptionWithPayloadInterface.php +20 -0
  88. package/vendor/firebase/php-jwt/src/Key.php +64 -0
  89. package/vendor/firebase/php-jwt/src/SignatureInvalidException.php +7 -0
  90. package/vendor/firebase/php-jwt/tests/CachedKeySetTest.php +598 -0
  91. package/vendor/firebase/php-jwt/tests/JWKTest.php +172 -0
  92. package/vendor/firebase/php-jwt/tests/JWTTest.php +543 -0
  93. package/vendor/firebase/php-jwt/tests/data/ec-jwkset.json +40 -0
  94. package/vendor/firebase/php-jwt/tests/data/ecdsa-private.pem +18 -0
  95. package/vendor/firebase/php-jwt/tests/data/ecdsa-public.pem +9 -0
  96. package/vendor/firebase/php-jwt/tests/data/ecdsa256-private.pem +4 -0
  97. package/vendor/firebase/php-jwt/tests/data/ecdsa384-private.pem +6 -0
  98. package/vendor/firebase/php-jwt/tests/data/ecdsa384-public.pem +5 -0
  99. package/vendor/firebase/php-jwt/tests/data/ed25519-1.pub +1 -0
  100. package/vendor/firebase/php-jwt/tests/data/ed25519-1.sec +1 -0
  101. package/vendor/firebase/php-jwt/tests/data/ed25519-jwkset.json +11 -0
  102. package/vendor/firebase/php-jwt/tests/data/rsa-jwkset.json +18 -0
  103. package/vendor/firebase/php-jwt/tests/data/rsa-with-passphrase.pem +42 -0
  104. package/vendor/firebase/php-jwt/tests/data/rsa1-private.pem +27 -0
  105. package/vendor/firebase/php-jwt/tests/data/rsa1-public.pub +9 -0
  106. package/vendor/firebase/php-jwt/tests/data/rsa2-private.pem +27 -0
  107. package/vendor/firebase/php-jwt/tests/data/secp256k1-private.pem +5 -0
  108. package/vendor/firebase/php-jwt/tests/data/secp256k1-public.pem +4 -0
  109. package/vendor/graham-campbell/result-type/.gitattributes +9 -0
  110. package/vendor/graham-campbell/result-type/.github/CODE_OF_CONDUCT.md +132 -0
  111. package/vendor/graham-campbell/result-type/.github/CONTRIBUTING.md +31 -0
  112. package/vendor/graham-campbell/result-type/.github/FUNDING.yml +2 -0
  113. package/vendor/graham-campbell/result-type/.github/SECURITY.md +14 -0
  114. package/vendor/graham-campbell/result-type/.github/workflows/tests.yml +40 -0
  115. package/vendor/graham-campbell/result-type/CHANGELOG.md +43 -0
  116. package/vendor/graham-campbell/result-type/LICENSE +21 -0
  117. package/vendor/graham-campbell/result-type/README.md +42 -0
  118. package/vendor/graham-campbell/result-type/composer.json +33 -0
  119. package/vendor/graham-campbell/result-type/phpunit.xml.dist +13 -0
  120. package/vendor/graham-campbell/result-type/src/Error.php +121 -0
  121. package/vendor/graham-campbell/result-type/src/Result.php +69 -0
  122. package/vendor/graham-campbell/result-type/src/Success.php +120 -0
  123. package/vendor/graham-campbell/result-type/tests/ResultTest.php +95 -0
  124. package/vendor/hidehalo/nanoid-php/.editorconfig +15 -0
  125. package/vendor/hidehalo/nanoid-php/.gitattributes +8 -0
  126. package/vendor/hidehalo/nanoid-php/.github/workflows/php.yml +49 -0
  127. package/vendor/hidehalo/nanoid-php/.styleci.yml +1 -0
  128. package/vendor/hidehalo/nanoid-php/CHANGELOG.md +36 -0
  129. package/vendor/hidehalo/nanoid-php/CODE_OF_CONDUCT.md +74 -0
  130. package/vendor/hidehalo/nanoid-php/CONTRIBUTING.md +32 -0
  131. package/vendor/hidehalo/nanoid-php/ISSUE_TEMPLATE.md +27 -0
  132. package/vendor/hidehalo/nanoid-php/LICENSE.md +21 -0
  133. package/vendor/hidehalo/nanoid-php/PULL_REQUEST_TEMPLATE.md +43 -0
  134. package/vendor/hidehalo/nanoid-php/README.md +108 -0
  135. package/vendor/hidehalo/nanoid-php/benchmark/benchmark.php +24 -0
  136. package/vendor/hidehalo/nanoid-php/composer.json +62 -0
  137. package/vendor/hidehalo/nanoid-php/examples/basic_usage.php +24 -0
  138. package/vendor/hidehalo/nanoid-php/examples/custom_formated.php +29 -0
  139. package/vendor/hidehalo/nanoid-php/phpunit.xml +31 -0
  140. package/vendor/hidehalo/nanoid-php/src/Client.php +120 -0
  141. package/vendor/hidehalo/nanoid-php/src/Core.php +31 -0
  142. package/vendor/hidehalo/nanoid-php/src/CoreInterface.php +19 -0
  143. package/vendor/hidehalo/nanoid-php/src/Generator.php +13 -0
  144. package/vendor/hidehalo/nanoid-php/src/GeneratorInterface.php +13 -0
  145. package/vendor/hidehalo/nanoid-php/tests/ClientTest.php +76 -0
  146. package/vendor/hidehalo/nanoid-php/tests/CoreTest.php +37 -0
  147. package/vendor/hidehalo/nanoid-php/tests/GeneratorTest.php +34 -0
  148. package/vendor/hidehalo/nanoid-php/tests/Support/DummyGenerator.php +20 -0
  149. package/vendor/paragonie/random_compat/.gitattributes +14 -0
  150. package/vendor/paragonie/random_compat/.scrutinizer.yml +4 -0
  151. package/vendor/paragonie/random_compat/.travis.yml +59 -0
  152. package/vendor/paragonie/random_compat/CHANGELOG.md +3 -0
  153. package/vendor/paragonie/random_compat/LICENSE +22 -0
  154. package/vendor/paragonie/random_compat/RATIONALE.md +36 -0
  155. package/vendor/paragonie/random_compat/README.md +232 -0
  156. package/vendor/paragonie/random_compat/SECURITY.md +108 -0
  157. package/vendor/paragonie/random_compat/build-phar.sh +5 -0
  158. package/vendor/paragonie/random_compat/composer.json +34 -0
  159. package/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey +5 -0
  160. package/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc +11 -0
  161. package/vendor/paragonie/random_compat/lib/random.php +32 -0
  162. package/vendor/paragonie/random_compat/other/build_phar.php +57 -0
  163. package/vendor/paragonie/random_compat/other/ide_stubs/COM.php +20 -0
  164. package/vendor/paragonie/random_compat/other/ide_stubs/README.md +7 -0
  165. package/vendor/paragonie/random_compat/other/ide_stubs/com_exception.php +11 -0
  166. package/vendor/paragonie/random_compat/other/ide_stubs/libsodium.php +90 -0
  167. package/vendor/paragonie/random_compat/phpunit.sh +60 -0
  168. package/vendor/paragonie/random_compat/phpunit.xml.dist +31 -0
  169. package/vendor/paragonie/random_compat/psalm-autoload.php +9 -0
  170. package/vendor/paragonie/random_compat/psalm.xml +19 -0
  171. package/vendor/paragonie/random_compat/tests/full/DieHardTest.php +61 -0
  172. package/vendor/paragonie/random_compat/tests/full/StatTest.php +52 -0
  173. package/vendor/paragonie/random_compat/tests/specific/capicom.php +7 -0
  174. package/vendor/paragonie/random_compat/tests/specific/dev_urandom.php +7 -0
  175. package/vendor/paragonie/random_compat/tests/specific/libsodium.php +7 -0
  176. package/vendor/paragonie/random_compat/tests/specific/libsodium_legacy.php +7 -0
  177. package/vendor/paragonie/random_compat/tests/specific/mcrypt.php +7 -0
  178. package/vendor/paragonie/random_compat/tests/unit/RandomBytesTest.php +80 -0
  179. package/vendor/paragonie/random_compat/tests/unit/RandomIntTest.php +63 -0
  180. package/vendor/paragonie/random_compat/tests/unit/UtilityTest.php +95 -0
  181. package/vendor/paragonie/random_compat/tests/unit_with_basedir/RandomBytesTest.php +100 -0
  182. package/vendor/paragonie/random_compat/tests/unit_with_basedir/RandomIntTest.php +82 -0
  183. package/vendor/paragonie/random_compat/tests/unit_with_basedir/UtilityTest.php +95 -0
  184. package/vendor/phpoption/phpoption/.gitattributes +14 -0
  185. package/vendor/phpoption/phpoption/.github/CODE_OF_CONDUCT.md +132 -0
  186. package/vendor/phpoption/phpoption/.github/CONTRIBUTING.md +30 -0
  187. package/vendor/phpoption/phpoption/.github/FUNDING.yml +2 -0
  188. package/vendor/phpoption/phpoption/.github/SECURITY.md +14 -0
  189. package/vendor/phpoption/phpoption/.github/workflows/static.yml +74 -0
  190. package/vendor/phpoption/phpoption/.github/workflows/tests.yml +40 -0
  191. package/vendor/phpoption/phpoption/LICENSE +201 -0
  192. package/vendor/phpoption/phpoption/Makefile +26 -0
  193. package/vendor/phpoption/phpoption/README.md +194 -0
  194. package/vendor/phpoption/phpoption/composer.json +52 -0
  195. package/vendor/phpoption/phpoption/phpstan-baseline.neon +32 -0
  196. package/vendor/phpoption/phpoption/phpstan.neon.dist +8 -0
  197. package/vendor/phpoption/phpoption/phpunit.xml.dist +13 -0
  198. package/vendor/phpoption/phpoption/psalm.xml +12 -0
  199. package/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +175 -0
  200. package/vendor/phpoption/phpoption/src/PhpOption/None.php +136 -0
  201. package/vendor/phpoption/phpoption/src/PhpOption/Option.php +434 -0
  202. package/vendor/phpoption/phpoption/src/PhpOption/Some.php +169 -0
  203. package/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +77 -0
  204. package/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +200 -0
  205. package/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +153 -0
  206. package/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +160 -0
  207. package/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +194 -0
  208. package/vendor/phpoption/phpoption/tests/bootstrap.php +8 -0
  209. package/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +8 -0
  210. package/vendor/phpoption/phpoption/vendor-bin/psalm/composer.json +8 -0
  211. package/vendor/ramsey/uuid/.editorconfig +16 -0
  212. package/vendor/ramsey/uuid/.gitattributes +26 -0
  213. package/vendor/ramsey/uuid/.github/CODEOWNERS +1 -0
  214. package/vendor/ramsey/uuid/.github/FUNDING.yml +2 -0
  215. package/vendor/ramsey/uuid/.github/ISSUE_TEMPLATE/Bug_Report.md +35 -0
  216. package/vendor/ramsey/uuid/.github/ISSUE_TEMPLATE/Feature_Request.md +31 -0
  217. package/vendor/ramsey/uuid/.github/ISSUE_TEMPLATE/Question.md +19 -0
  218. package/vendor/ramsey/uuid/.github/ISSUE_TEMPLATE/config.yml +1 -0
  219. package/vendor/ramsey/uuid/.github/dependabot.yml +15 -0
  220. package/vendor/ramsey/uuid/.github/pull_request_template.md +27 -0
  221. package/vendor/ramsey/uuid/.github/workflows/continuous-integration.yml +181 -0
  222. package/vendor/ramsey/uuid/.github/workflows/merge-dependabot-upgrades.yml +24 -0
  223. package/vendor/ramsey/uuid/.readthedocs.yml +11 -0
  224. package/vendor/ramsey/uuid/CHANGELOG.md +1511 -0
  225. package/vendor/ramsey/uuid/CODE_OF_CONDUCT.md +73 -0
  226. package/vendor/ramsey/uuid/CONTRIBUTING.md +171 -0
  227. package/vendor/ramsey/uuid/LICENSE +19 -0
  228. package/vendor/ramsey/uuid/README.md +83 -0
  229. package/vendor/ramsey/uuid/SECURITY.md +170 -0
  230. package/vendor/ramsey/uuid/build/.gitignore +6 -0
  231. package/vendor/ramsey/uuid/build/cache/.gitkeep +0 -0
  232. package/vendor/ramsey/uuid/build/logs/.gitkeep +0 -0
  233. package/vendor/ramsey/uuid/captainhook.json +105 -0
  234. package/vendor/ramsey/uuid/codecov.yml +29 -0
  235. package/vendor/ramsey/uuid/composer.json +106 -0
  236. package/vendor/ramsey/uuid/composer.lock +7208 -0
  237. package/vendor/ramsey/uuid/docs/Makefile +20 -0
  238. package/vendor/ramsey/uuid/docs/README.md +36 -0
  239. package/vendor/ramsey/uuid/docs/_static/.gitkeep +0 -0
  240. package/vendor/ramsey/uuid/docs/conf.py +103 -0
  241. package/vendor/ramsey/uuid/docs/copyright.rst +18 -0
  242. package/vendor/ramsey/uuid/docs/customize/calculators.rst +75 -0
  243. package/vendor/ramsey/uuid/docs/customize/factory.rst +93 -0
  244. package/vendor/ramsey/uuid/docs/customize/ordered-time-codec.rst +86 -0
  245. package/vendor/ramsey/uuid/docs/customize/timestamp-first-comb-codec.rst +72 -0
  246. package/vendor/ramsey/uuid/docs/customize/validators.rst +39 -0
  247. package/vendor/ramsey/uuid/docs/customize.rst +56 -0
  248. package/vendor/ramsey/uuid/docs/database.rst +260 -0
  249. package/vendor/ramsey/uuid/docs/faq.rst +132 -0
  250. package/vendor/ramsey/uuid/docs/index.rst +51 -0
  251. package/vendor/ramsey/uuid/docs/introduction.rst +31 -0
  252. package/vendor/ramsey/uuid/docs/nonstandard/guid.rst +152 -0
  253. package/vendor/ramsey/uuid/docs/nonstandard/other.rst +49 -0
  254. package/vendor/ramsey/uuid/docs/nonstandard/version6.rst +17 -0
  255. package/vendor/ramsey/uuid/docs/nonstandard.rst +40 -0
  256. package/vendor/ramsey/uuid/docs/quickstart.rst +112 -0
  257. package/vendor/ramsey/uuid/docs/reference/calculators.rst +168 -0
  258. package/vendor/ramsey/uuid/docs/reference/exceptions.rst +92 -0
  259. package/vendor/ramsey/uuid/docs/reference/fields-fieldsinterface.rst +16 -0
  260. package/vendor/ramsey/uuid/docs/reference/guid-fields.rst +13 -0
  261. package/vendor/ramsey/uuid/docs/reference/guid-guid.rst +20 -0
  262. package/vendor/ramsey/uuid/docs/reference/helper.rst +62 -0
  263. package/vendor/ramsey/uuid/docs/reference/name-based-namespaces.rst +31 -0
  264. package/vendor/ramsey/uuid/docs/reference/nonstandard-fields.rst +13 -0
  265. package/vendor/ramsey/uuid/docs/reference/nonstandard-uuid.rst +20 -0
  266. package/vendor/ramsey/uuid/docs/reference/nonstandard-uuidv6.rst +34 -0
  267. package/vendor/ramsey/uuid/docs/reference/rfc4122-fieldsinterface.rst +78 -0
  268. package/vendor/ramsey/uuid/docs/reference/rfc4122-uuidinterface.rst +20 -0
  269. package/vendor/ramsey/uuid/docs/reference/rfc4122-uuidv1.rst +21 -0
  270. package/vendor/ramsey/uuid/docs/reference/rfc4122-uuidv2.rst +47 -0
  271. package/vendor/ramsey/uuid/docs/reference/rfc4122-uuidv3.rst +13 -0
  272. package/vendor/ramsey/uuid/docs/reference/rfc4122-uuidv4.rst +13 -0
  273. package/vendor/ramsey/uuid/docs/reference/rfc4122-uuidv5.rst +13 -0
  274. package/vendor/ramsey/uuid/docs/reference/rfc4122-uuidv6.rst +31 -0
  275. package/vendor/ramsey/uuid/docs/reference/rfc4122-uuidv7.rst +20 -0
  276. package/vendor/ramsey/uuid/docs/reference/rfc4122-uuidv8.rst +13 -0
  277. package/vendor/ramsey/uuid/docs/reference/rfc4122-version.rst +87 -0
  278. package/vendor/ramsey/uuid/docs/reference/timebaseduuidinterface.rst +16 -0
  279. package/vendor/ramsey/uuid/docs/reference/types.rst +79 -0
  280. package/vendor/ramsey/uuid/docs/reference/uuid.rst +161 -0
  281. package/vendor/ramsey/uuid/docs/reference/uuidfactoryinterface.rst +102 -0
  282. package/vendor/ramsey/uuid/docs/reference/uuidinterface.rst +60 -0
  283. package/vendor/ramsey/uuid/docs/reference/validators.rst +34 -0
  284. package/vendor/ramsey/uuid/docs/reference/variant.rst +32 -0
  285. package/vendor/ramsey/uuid/docs/reference.rst +37 -0
  286. package/vendor/ramsey/uuid/docs/requirements.txt +3 -0
  287. package/vendor/ramsey/uuid/docs/rfc4122/version1.rst +192 -0
  288. package/vendor/ramsey/uuid/docs/rfc4122/version2.rst +273 -0
  289. package/vendor/ramsey/uuid/docs/rfc4122/version3.rst +68 -0
  290. package/vendor/ramsey/uuid/docs/rfc4122/version4.rst +39 -0
  291. package/vendor/ramsey/uuid/docs/rfc4122/version5.rst +108 -0
  292. package/vendor/ramsey/uuid/docs/rfc4122/version6.rst +213 -0
  293. package/vendor/ramsey/uuid/docs/rfc4122/version7.rst +173 -0
  294. package/vendor/ramsey/uuid/docs/rfc4122/version8.rst +51 -0
  295. package/vendor/ramsey/uuid/docs/rfc4122.rst +67 -0
  296. package/vendor/ramsey/uuid/docs/testing.rst +199 -0
  297. package/vendor/ramsey/uuid/docs/tidelift.rst +74 -0
  298. package/vendor/ramsey/uuid/docs/upgrading/2-to-3.rst +31 -0
  299. package/vendor/ramsey/uuid/docs/upgrading/3-to-4.rst +512 -0
  300. package/vendor/ramsey/uuid/docs/upgrading.rst +11 -0
  301. package/vendor/ramsey/uuid/phpbench.json +10 -0
  302. package/vendor/ramsey/uuid/phpcs.xml.dist +476 -0
  303. package/vendor/ramsey/uuid/phpstan-tests.neon +32 -0
  304. package/vendor/ramsey/uuid/phpstan.neon.dist +25 -0
  305. package/vendor/ramsey/uuid/phpunit.xml.dist +26 -0
  306. package/vendor/ramsey/uuid/psalm-baseline.xml +133 -0
  307. package/vendor/ramsey/uuid/psalm.xml +25 -0
  308. package/vendor/ramsey/uuid/resources/vagrant/README.md +10 -0
  309. package/vendor/ramsey/uuid/resources/vagrant/freebsd/README.md +15 -0
  310. package/vendor/ramsey/uuid/resources/vagrant/freebsd/Vagrantfile +35 -0
  311. package/vendor/ramsey/uuid/resources/vagrant/linux/README.md +15 -0
  312. package/vendor/ramsey/uuid/resources/vagrant/linux/Vagrantfile +27 -0
  313. package/vendor/ramsey/uuid/resources/vagrant/windows/README.md +16 -0
  314. package/vendor/ramsey/uuid/resources/vagrant/windows/Vagrantfile +22 -0
  315. package/vendor/ramsey/uuid/src/BinaryUtils.php +106 -0
  316. package/vendor/ramsey/uuid/src/Builder/FallbackBuilder.php +68 -0
  317. package/vendor/ramsey/uuid/src/Builder/UuidBuilderInterface.php +39 -0
  318. package/vendor/ramsey/uuid/src/Codec/CodecInterface.php +67 -0
  319. package/vendor/ramsey/uuid/src/Codec/GuidStringCodec.php +82 -0
  320. package/vendor/ramsey/uuid/src/Codec/OrderedTimeCodec.php +114 -0
  321. package/vendor/ramsey/uuid/src/Codec/StringCodec.php +128 -0
  322. package/vendor/ramsey/uuid/src/Codec/TimestampFirstCombCodec.php +105 -0
  323. package/vendor/ramsey/uuid/src/Codec/TimestampLastCombCodec.php +51 -0
  324. package/vendor/ramsey/uuid/src/Converter/Number/GenericNumberConverter.php +48 -0
  325. package/vendor/ramsey/uuid/src/Converter/NumberConverterInterface.php +53 -0
  326. package/vendor/ramsey/uuid/src/Converter/Time/GenericTimeConverter.php +118 -0
  327. package/vendor/ramsey/uuid/src/Converter/Time/PhpTimeConverter.php +163 -0
  328. package/vendor/ramsey/uuid/src/Converter/Time/UnixTimeConverter.php +90 -0
  329. package/vendor/ramsey/uuid/src/Converter/TimeConverterInterface.php +58 -0
  330. package/vendor/ramsey/uuid/src/Exception/BuilderNotFoundException.php +24 -0
  331. package/vendor/ramsey/uuid/src/Exception/DateTimeException.php +24 -0
  332. package/vendor/ramsey/uuid/src/Exception/DceSecurityException.php +25 -0
  333. package/vendor/ramsey/uuid/src/Exception/InvalidArgumentException.php +24 -0
  334. package/vendor/ramsey/uuid/src/Exception/InvalidBytesException.php +24 -0
  335. package/vendor/ramsey/uuid/src/Exception/InvalidUuidStringException.php +25 -0
  336. package/vendor/ramsey/uuid/src/Exception/NameException.php +25 -0
  337. package/vendor/ramsey/uuid/src/Exception/NodeException.php +24 -0
  338. package/vendor/ramsey/uuid/src/Exception/RandomSourceException.php +27 -0
  339. package/vendor/ramsey/uuid/src/Exception/TimeSourceException.php +24 -0
  340. package/vendor/ramsey/uuid/src/Exception/UnableToBuildUuidException.php +24 -0
  341. package/vendor/ramsey/uuid/src/Exception/UnsupportedOperationException.php +24 -0
  342. package/vendor/ramsey/uuid/src/Exception/UuidExceptionInterface.php +21 -0
  343. package/vendor/ramsey/uuid/src/FeatureSet.php +395 -0
  344. package/vendor/ramsey/uuid/src/Fields/FieldsInterface.php +42 -0
  345. package/vendor/ramsey/uuid/src/Fields/SerializableFieldsTrait.php +70 -0
  346. package/vendor/ramsey/uuid/src/Generator/CombGenerator.php +124 -0
  347. package/vendor/ramsey/uuid/src/Generator/DceSecurityGenerator.php +139 -0
  348. package/vendor/ramsey/uuid/src/Generator/DceSecurityGeneratorInterface.php +53 -0
  349. package/vendor/ramsey/uuid/src/Generator/DefaultNameGenerator.php +51 -0
  350. package/vendor/ramsey/uuid/src/Generator/DefaultTimeGenerator.php +131 -0
  351. package/vendor/ramsey/uuid/src/Generator/NameGeneratorFactory.php +30 -0
  352. package/vendor/ramsey/uuid/src/Generator/NameGeneratorInterface.php +38 -0
  353. package/vendor/ramsey/uuid/src/Generator/PeclUuidNameGenerator.php +52 -0
  354. package/vendor/ramsey/uuid/src/Generator/PeclUuidRandomGenerator.php +37 -0
  355. package/vendor/ramsey/uuid/src/Generator/PeclUuidTimeGenerator.php +39 -0
  356. package/vendor/ramsey/uuid/src/Generator/RandomBytesGenerator.php +45 -0
  357. package/vendor/ramsey/uuid/src/Generator/RandomGeneratorFactory.php +30 -0
  358. package/vendor/ramsey/uuid/src/Generator/RandomGeneratorInterface.php +31 -0
  359. package/vendor/ramsey/uuid/src/Generator/TimeGeneratorFactory.php +45 -0
  360. package/vendor/ramsey/uuid/src/Generator/TimeGeneratorInterface.php +38 -0
  361. package/vendor/ramsey/uuid/src/Generator/UnixTimeGenerator.php +170 -0
  362. package/vendor/ramsey/uuid/src/Guid/Fields.php +208 -0
  363. package/vendor/ramsey/uuid/src/Guid/Guid.php +61 -0
  364. package/vendor/ramsey/uuid/src/Guid/GuidBuilder.php +79 -0
  365. package/vendor/ramsey/uuid/src/Lazy/LazyUuidFromString.php +226 -0
  366. package/vendor/ramsey/uuid/src/Math/BrickMathCalculator.php +145 -0
  367. package/vendor/ramsey/uuid/src/Math/CalculatorInterface.php +106 -0
  368. package/vendor/ramsey/uuid/src/Math/RoundingMode.php +146 -0
  369. package/vendor/ramsey/uuid/src/Nonstandard/Fields.php +154 -0
  370. package/vendor/ramsey/uuid/src/Nonstandard/Uuid.php +37 -0
  371. package/vendor/ramsey/uuid/src/Nonstandard/UuidBuilder.php +78 -0
  372. package/vendor/ramsey/uuid/src/Nonstandard/UuidV6.php +113 -0
  373. package/vendor/ramsey/uuid/src/Provider/Dce/SystemDceSecurityProvider.php +236 -0
  374. package/vendor/ramsey/uuid/src/Provider/DceSecurityProviderInterface.php +41 -0
  375. package/vendor/ramsey/uuid/src/Provider/Node/FallbackNodeProvider.php +54 -0
  376. package/vendor/ramsey/uuid/src/Provider/Node/RandomNodeProvider.php +69 -0
  377. package/vendor/ramsey/uuid/src/Provider/Node/StaticNodeProvider.php +74 -0
  378. package/vendor/ramsey/uuid/src/Provider/Node/SystemNodeProvider.php +190 -0
  379. package/vendor/ramsey/uuid/src/Provider/NodeProviderInterface.php +30 -0
  380. package/vendor/ramsey/uuid/src/Provider/Time/FixedTimeProvider.php +57 -0
  381. package/vendor/ramsey/uuid/src/Provider/Time/SystemTimeProvider.php +33 -0
  382. package/vendor/ramsey/uuid/src/Provider/TimeProviderInterface.php +28 -0
  383. package/vendor/ramsey/uuid/src/Rfc4122/Fields.php +214 -0
  384. package/vendor/ramsey/uuid/src/Rfc4122/FieldsInterface.php +129 -0
  385. package/vendor/ramsey/uuid/src/Rfc4122/MaxTrait.php +41 -0
  386. package/vendor/ramsey/uuid/src/Rfc4122/MaxUuid.php +27 -0
  387. package/vendor/ramsey/uuid/src/Rfc4122/NilTrait.php +41 -0
  388. package/vendor/ramsey/uuid/src/Rfc4122/NilUuid.php +27 -0
  389. package/vendor/ramsey/uuid/src/Rfc4122/TimeTrait.php +55 -0
  390. package/vendor/ramsey/uuid/src/Rfc4122/UuidBuilder.php +116 -0
  391. package/vendor/ramsey/uuid/src/Rfc4122/UuidInterface.php +30 -0
  392. package/vendor/ramsey/uuid/src/Rfc4122/UuidV1.php +61 -0
  393. package/vendor/ramsey/uuid/src/Rfc4122/UuidV2.php +119 -0
  394. package/vendor/ramsey/uuid/src/Rfc4122/UuidV3.php +58 -0
  395. package/vendor/ramsey/uuid/src/Rfc4122/UuidV4.php +58 -0
  396. package/vendor/ramsey/uuid/src/Rfc4122/UuidV5.php +58 -0
  397. package/vendor/ramsey/uuid/src/Rfc4122/UuidV6.php +30 -0
  398. package/vendor/ramsey/uuid/src/Rfc4122/UuidV7.php +63 -0
  399. package/vendor/ramsey/uuid/src/Rfc4122/UuidV8.php +65 -0
  400. package/vendor/ramsey/uuid/src/Rfc4122/Validator.php +45 -0
  401. package/vendor/ramsey/uuid/src/Rfc4122/VariantTrait.php +87 -0
  402. package/vendor/ramsey/uuid/src/Rfc4122/Version.php +139 -0
  403. package/vendor/ramsey/uuid/src/Rfc4122/VersionTrait.php +57 -0
  404. package/vendor/ramsey/uuid/src/TimeBasedUuidFactoryInterface.php +48 -0
  405. package/vendor/ramsey/uuid/src/TimeBasedUuidInterface.php +30 -0
  406. package/vendor/ramsey/uuid/src/Type/Decimal.php +135 -0
  407. package/vendor/ramsey/uuid/src/Type/Hexadecimal.php +109 -0
  408. package/vendor/ramsey/uuid/src/Type/Integer.php +145 -0
  409. package/vendor/ramsey/uuid/src/Type/NumberInterface.php +28 -0
  410. package/vendor/ramsey/uuid/src/Type/Time.php +108 -0
  411. package/vendor/ramsey/uuid/src/Type/TypeInterface.php +45 -0
  412. package/vendor/ramsey/uuid/src/Uuid.php +645 -0
  413. package/vendor/ramsey/uuid/src/UuidFactory.php +503 -0
  414. package/vendor/ramsey/uuid/src/UuidFactoryInterface.php +184 -0
  415. package/vendor/ramsey/uuid/src/UuidInterface.php +114 -0
  416. package/vendor/ramsey/uuid/src/Validator/GenericValidator.php +45 -0
  417. package/vendor/ramsey/uuid/src/Validator/ValidatorInterface.php +39 -0
  418. package/vendor/ramsey/uuid/src/Variant.php +60 -0
  419. package/vendor/ramsey/uuid/src/functions.php +160 -0
  420. package/vendor/ramsey/uuid/tests/BinaryUtilsTest.php +381 -0
  421. package/vendor/ramsey/uuid/tests/Builder/FallbackBuilderTest.php +198 -0
  422. package/vendor/ramsey/uuid/tests/Codec/GuidStringCodecTest.php +118 -0
  423. package/vendor/ramsey/uuid/tests/Codec/OrderedTimeCodecTest.php +258 -0
  424. package/vendor/ramsey/uuid/tests/Codec/StringCodecTest.php +149 -0
  425. package/vendor/ramsey/uuid/tests/Converter/Number/GenericNumberConverterTest.php +28 -0
  426. package/vendor/ramsey/uuid/tests/Converter/Time/GenericTimeConverterTest.php +147 -0
  427. package/vendor/ramsey/uuid/tests/Converter/Time/PhpTimeConverterTest.php +199 -0
  428. package/vendor/ramsey/uuid/tests/Converter/Time/UnixTimeConverterTest.php +202 -0
  429. package/vendor/ramsey/uuid/tests/Encoder/TimestampFirstCombCodecTest.php +105 -0
  430. package/vendor/ramsey/uuid/tests/Encoder/TimestampLastCombCodecTest.php +106 -0
  431. package/vendor/ramsey/uuid/tests/ExpectedBehaviorTest.php +573 -0
  432. package/vendor/ramsey/uuid/tests/FeatureSetTest.php +88 -0
  433. package/vendor/ramsey/uuid/tests/FunctionsTest.php +151 -0
  434. package/vendor/ramsey/uuid/tests/Generator/CombGeneratorTest.php +134 -0
  435. package/vendor/ramsey/uuid/tests/Generator/DceSecurityGeneratorTest.php +282 -0
  436. package/vendor/ramsey/uuid/tests/Generator/DefaultNameGeneratorTest.php +83 -0
  437. package/vendor/ramsey/uuid/tests/Generator/DefaultTimeGeneratorTest.php +202 -0
  438. package/vendor/ramsey/uuid/tests/Generator/NameGeneratorFactoryTest.php +19 -0
  439. package/vendor/ramsey/uuid/tests/Generator/PeclUuidNameGeneratorTest.php +107 -0
  440. package/vendor/ramsey/uuid/tests/Generator/PeclUuidRandomGeneratorTest.php +30 -0
  441. package/vendor/ramsey/uuid/tests/Generator/PeclUuidTimeGeneratorTest.php +30 -0
  442. package/vendor/ramsey/uuid/tests/Generator/RandomBytesGeneratorTest.php +70 -0
  443. package/vendor/ramsey/uuid/tests/Generator/RandomGeneratorFactoryTest.php +19 -0
  444. package/vendor/ramsey/uuid/tests/Generator/TimeGeneratorFactoryTest.php +33 -0
  445. package/vendor/ramsey/uuid/tests/Generator/UnixTimeGeneratorTest.php +204 -0
  446. package/vendor/ramsey/uuid/tests/Guid/FieldsTest.php +235 -0
  447. package/vendor/ramsey/uuid/tests/Guid/GuidBuilderTest.php +33 -0
  448. package/vendor/ramsey/uuid/tests/Math/BrickMathCalculatorTest.php +116 -0
  449. package/vendor/ramsey/uuid/tests/Nonstandard/FieldsTest.php +84 -0
  450. package/vendor/ramsey/uuid/tests/Nonstandard/UuidBuilderTest.php +33 -0
  451. package/vendor/ramsey/uuid/tests/Nonstandard/UuidV6Test.php +192 -0
  452. package/vendor/ramsey/uuid/tests/Provider/Dce/SystemDceSecurityProviderTest.php +505 -0
  453. package/vendor/ramsey/uuid/tests/Provider/Node/FallbackNodeProviderTest.php +87 -0
  454. package/vendor/ramsey/uuid/tests/Provider/Node/RandomNodeProviderTest.php +124 -0
  455. package/vendor/ramsey/uuid/tests/Provider/Node/StaticNodeProviderTest.php +58 -0
  456. package/vendor/ramsey/uuid/tests/Provider/Node/SystemNodeProviderTest.php +950 -0
  457. package/vendor/ramsey/uuid/tests/Provider/Time/FixedTimeProviderTest.php +41 -0
  458. package/vendor/ramsey/uuid/tests/Provider/Time/SystemTimeProviderTest.php +20 -0
  459. package/vendor/ramsey/uuid/tests/Rfc4122/FieldsTest.php +260 -0
  460. package/vendor/ramsey/uuid/tests/Rfc4122/UuidBuilderTest.php +145 -0
  461. package/vendor/ramsey/uuid/tests/Rfc4122/UuidV1Test.php +123 -0
  462. package/vendor/ramsey/uuid/tests/Rfc4122/UuidV2Test.php +214 -0
  463. package/vendor/ramsey/uuid/tests/Rfc4122/UuidV3Test.php +56 -0
  464. package/vendor/ramsey/uuid/tests/Rfc4122/UuidV4Test.php +56 -0
  465. package/vendor/ramsey/uuid/tests/Rfc4122/UuidV5Test.php +56 -0
  466. package/vendor/ramsey/uuid/tests/Rfc4122/UuidV6Test.php +221 -0
  467. package/vendor/ramsey/uuid/tests/Rfc4122/UuidV7Test.php +131 -0
  468. package/vendor/ramsey/uuid/tests/Rfc4122/UuidV8Test.php +56 -0
  469. package/vendor/ramsey/uuid/tests/Rfc4122/ValidatorTest.php +122 -0
  470. package/vendor/ramsey/uuid/tests/Rfc4122/VariantTraitTest.php +109 -0
  471. package/vendor/ramsey/uuid/tests/TestCase.php +29 -0
  472. package/vendor/ramsey/uuid/tests/Type/DecimalTest.php +305 -0
  473. package/vendor/ramsey/uuid/tests/Type/HexadecimalTest.php +112 -0
  474. package/vendor/ramsey/uuid/tests/Type/IntegerTest.php +235 -0
  475. package/vendor/ramsey/uuid/tests/Type/TimeTest.php +120 -0
  476. package/vendor/ramsey/uuid/tests/UuidFactoryTest.php +233 -0
  477. package/vendor/ramsey/uuid/tests/UuidTest.php +1910 -0
  478. package/vendor/ramsey/uuid/tests/Validator/GenericValidatorTest.php +98 -0
  479. package/vendor/ramsey/uuid/tests/benchmark/GuidConversionBench.php +43 -0
  480. package/vendor/ramsey/uuid/tests/benchmark/NonLazyUuidConversionBench.php +39 -0
  481. package/vendor/ramsey/uuid/tests/benchmark/UuidFieldExtractionBench.php +86 -0
  482. package/vendor/ramsey/uuid/tests/benchmark/UuidGenerationBench.php +113 -0
  483. package/vendor/ramsey/uuid/tests/benchmark/UuidSerializationBench.php +206 -0
  484. package/vendor/ramsey/uuid/tests/benchmark/UuidStringConversionBench.php +257 -0
  485. package/vendor/ramsey/uuid/tests/bootstrap.php +12 -0
  486. package/vendor/ramsey/uuid/tests/static-analysis/UuidIsImmutable.php +96 -0
  487. package/vendor/ramsey/uuid/tests/static-analysis/UuidIsNeverEmpty.php +36 -0
  488. package/vendor/ramsey/uuid/tests/static-analysis/ValidUuidIsNonEmpty.php +44 -0
  489. package/vendor/ramsey/uuid/tests/static-analysis/stubs.php +33 -0
  490. package/vendor/symfony/polyfill-ctype/Ctype.php +232 -0
  491. package/vendor/symfony/polyfill-ctype/LICENSE +19 -0
  492. package/vendor/symfony/polyfill-ctype/README.md +12 -0
  493. package/vendor/symfony/polyfill-ctype/bootstrap.php +50 -0
  494. package/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -0
  495. package/vendor/symfony/polyfill-ctype/composer.json +41 -0
  496. package/vendor/symfony/polyfill-mbstring/LICENSE +19 -0
  497. package/vendor/symfony/polyfill-mbstring/Mbstring.php +947 -0
  498. package/vendor/symfony/polyfill-mbstring/README.md +13 -0
  499. package/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
  500. package/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -0
  501. package/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -0
  502. package/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -0
  503. package/vendor/symfony/polyfill-mbstring/bootstrap.php +151 -0
  504. package/vendor/symfony/polyfill-mbstring/bootstrap80.php +147 -0
  505. package/vendor/symfony/polyfill-mbstring/composer.json +41 -0
  506. package/vendor/symfony/polyfill-php80/LICENSE +19 -0
  507. package/vendor/symfony/polyfill-php80/Php80.php +115 -0
  508. package/vendor/symfony/polyfill-php80/PhpToken.php +103 -0
  509. package/vendor/symfony/polyfill-php80/README.md +25 -0
  510. package/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -0
  511. package/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -0
  512. package/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -0
  513. package/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -0
  514. package/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -0
  515. package/vendor/symfony/polyfill-php80/bootstrap.php +42 -0
  516. package/vendor/symfony/polyfill-php80/composer.json +40 -0
  517. package/vendor/vlucas/phpdotenv/.editorconfig +15 -0
  518. package/vendor/vlucas/phpdotenv/.gitattributes +17 -0
  519. package/vendor/vlucas/phpdotenv/.github/CODE_OF_CONDUCT.md +132 -0
  520. package/vendor/vlucas/phpdotenv/.github/CONTRIBUTING.md +30 -0
  521. package/vendor/vlucas/phpdotenv/.github/FUNDING.yml +2 -0
  522. package/vendor/vlucas/phpdotenv/.github/SECURITY.md +14 -0
  523. package/vendor/vlucas/phpdotenv/.github/workflows/static.yml +74 -0
  524. package/vendor/vlucas/phpdotenv/.github/workflows/tests.yml +70 -0
  525. package/vendor/vlucas/phpdotenv/LICENSE +30 -0
  526. package/vendor/vlucas/phpdotenv/Makefile +26 -0
  527. package/vendor/vlucas/phpdotenv/README.md +363 -0
  528. package/vendor/vlucas/phpdotenv/UPGRADING.md +196 -0
  529. package/vendor/vlucas/phpdotenv/composer.json +60 -0
  530. package/vendor/vlucas/phpdotenv/phpstan-baseline.neon +21 -0
  531. package/vendor/vlucas/phpdotenv/phpstan.neon.dist +7 -0
  532. package/vendor/vlucas/phpdotenv/phpunit.xml.dist +13 -0
  533. package/vendor/vlucas/phpdotenv/psalm-baseline.xml +28 -0
  534. package/vendor/vlucas/phpdotenv/psalm.xml +13 -0
  535. package/vendor/vlucas/phpdotenv/src/Dotenv.php +267 -0
  536. package/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +12 -0
  537. package/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +12 -0
  538. package/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +12 -0
  539. package/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +12 -0
  540. package/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +12 -0
  541. package/vendor/vlucas/phpdotenv/src/Loader/Loader.php +47 -0
  542. package/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +20 -0
  543. package/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +65 -0
  544. package/vendor/vlucas/phpdotenv/src/Parser/Entry.php +59 -0
  545. package/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +300 -0
  546. package/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +58 -0
  547. package/vendor/vlucas/phpdotenv/src/Parser/Lines.php +127 -0
  548. package/vendor/vlucas/phpdotenv/src/Parser/Parser.php +53 -0
  549. package/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +19 -0
  550. package/vendor/vlucas/phpdotenv/src/Parser/Value.php +88 -0
  551. package/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +15 -0
  552. package/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +89 -0
  553. package/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +80 -0
  554. package/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +89 -0
  555. package/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +85 -0
  556. package/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +110 -0
  557. package/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +48 -0
  558. package/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +64 -0
  559. package/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +91 -0
  560. package/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +17 -0
  561. package/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +104 -0
  562. package/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +89 -0
  563. package/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +27 -0
  564. package/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +107 -0
  565. package/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +272 -0
  566. package/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +51 -0
  567. package/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +44 -0
  568. package/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +81 -0
  569. package/vendor/vlucas/phpdotenv/src/Store/FileStore.php +72 -0
  570. package/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +141 -0
  571. package/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +17 -0
  572. package/vendor/vlucas/phpdotenv/src/Store/StringStore.php +37 -0
  573. package/vendor/vlucas/phpdotenv/src/Util/Regex.php +112 -0
  574. package/vendor/vlucas/phpdotenv/src/Util/Str.php +98 -0
  575. package/vendor/vlucas/phpdotenv/src/Validator.php +209 -0
  576. package/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +387 -0
  577. package/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +86 -0
  578. package/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +234 -0
  579. package/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +40 -0
  580. package/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +53 -0
  581. package/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +98 -0
  582. package/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +57 -0
  583. package/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +75 -0
  584. package/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +52 -0
  585. package/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +75 -0
  586. package/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +305 -0
  587. package/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +141 -0
  588. package/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +479 -0
  589. package/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +5 -0
  590. package/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +18 -0
  591. package/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +33 -0
  592. package/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +15 -0
  593. package/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +1 -0
  594. package/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +1 -0
  595. package/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +7 -0
  596. package/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +1 -0
  597. package/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +17 -0
  598. package/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +2 -0
  599. package/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +3 -0
  600. package/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +14 -0
  601. package/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +4 -0
  602. package/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +1 -0
  603. package/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +15 -0
  604. package/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +11 -0
  605. package/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +8 -0
  606. package/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +2 -0
  607. package/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +3 -0
  608. package/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +1 -0
  609. package/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +16 -0
  610. package/vendor/vlucas/phpdotenv/vendor-bin/psalm/composer.json +9 -0
@@ -0,0 +1,503 @@
1
+ <?php
2
+
3
+ /**
4
+ * This file is part of the ramsey/uuid library
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ *
9
+ * @copyright Copyright (c) Ben Ramsey <ben@benramsey.com>
10
+ * @license http://opensource.org/licenses/MIT MIT
11
+ */
12
+
13
+ declare(strict_types=1);
14
+
15
+ namespace Ramsey\Uuid;
16
+
17
+ use DateTimeInterface;
18
+ use Ramsey\Uuid\Builder\UuidBuilderInterface;
19
+ use Ramsey\Uuid\Codec\CodecInterface;
20
+ use Ramsey\Uuid\Converter\NumberConverterInterface;
21
+ use Ramsey\Uuid\Converter\TimeConverterInterface;
22
+ use Ramsey\Uuid\Generator\DceSecurityGeneratorInterface;
23
+ use Ramsey\Uuid\Generator\DefaultTimeGenerator;
24
+ use Ramsey\Uuid\Generator\NameGeneratorInterface;
25
+ use Ramsey\Uuid\Generator\RandomGeneratorInterface;
26
+ use Ramsey\Uuid\Generator\TimeGeneratorInterface;
27
+ use Ramsey\Uuid\Generator\UnixTimeGenerator;
28
+ use Ramsey\Uuid\Lazy\LazyUuidFromString;
29
+ use Ramsey\Uuid\Provider\NodeProviderInterface;
30
+ use Ramsey\Uuid\Provider\Time\FixedTimeProvider;
31
+ use Ramsey\Uuid\Rfc4122\Version;
32
+ use Ramsey\Uuid\Type\Hexadecimal;
33
+ use Ramsey\Uuid\Type\Integer as IntegerObject;
34
+ use Ramsey\Uuid\Type\Time;
35
+ use Ramsey\Uuid\Validator\ValidatorInterface;
36
+
37
+ use function bin2hex;
38
+ use function hex2bin;
39
+ use function str_pad;
40
+ use function strtolower;
41
+ use function substr;
42
+
43
+ use const STR_PAD_LEFT;
44
+
45
+ /**
46
+ * @psalm-suppress MissingImmutableAnnotation
47
+ */
48
+ class UuidFactory implements UuidFactoryInterface
49
+ {
50
+ private CodecInterface $codec;
51
+ private DceSecurityGeneratorInterface $dceSecurityGenerator;
52
+ private NameGeneratorInterface $nameGenerator;
53
+ private NodeProviderInterface $nodeProvider;
54
+ private NumberConverterInterface $numberConverter;
55
+ private RandomGeneratorInterface $randomGenerator;
56
+ private TimeConverterInterface $timeConverter;
57
+ private TimeGeneratorInterface $timeGenerator;
58
+ private TimeGeneratorInterface $unixTimeGenerator;
59
+ private UuidBuilderInterface $uuidBuilder;
60
+ private ValidatorInterface $validator;
61
+
62
+ /**
63
+ * @var bool whether the feature set was provided from outside, or we can
64
+ * operate under "default" assumptions
65
+ */
66
+ private bool $isDefaultFeatureSet;
67
+
68
+ /**
69
+ * @param FeatureSet|null $features A set of available features in the current environment
70
+ */
71
+ public function __construct(?FeatureSet $features = null)
72
+ {
73
+ $this->isDefaultFeatureSet = $features === null;
74
+
75
+ $features = $features ?: new FeatureSet();
76
+
77
+ $this->codec = $features->getCodec();
78
+ $this->dceSecurityGenerator = $features->getDceSecurityGenerator();
79
+ $this->nameGenerator = $features->getNameGenerator();
80
+ $this->nodeProvider = $features->getNodeProvider();
81
+ $this->numberConverter = $features->getNumberConverter();
82
+ $this->randomGenerator = $features->getRandomGenerator();
83
+ $this->timeConverter = $features->getTimeConverter();
84
+ $this->timeGenerator = $features->getTimeGenerator();
85
+ $this->uuidBuilder = $features->getBuilder();
86
+ $this->validator = $features->getValidator();
87
+ $this->unixTimeGenerator = $features->getUnixTimeGenerator();
88
+ }
89
+
90
+ /**
91
+ * Returns the codec used by this factory
92
+ */
93
+ public function getCodec(): CodecInterface
94
+ {
95
+ return $this->codec;
96
+ }
97
+
98
+ /**
99
+ * Sets the codec to use for this factory
100
+ *
101
+ * @param CodecInterface $codec A UUID encoder-decoder
102
+ */
103
+ public function setCodec(CodecInterface $codec): void
104
+ {
105
+ $this->isDefaultFeatureSet = false;
106
+
107
+ $this->codec = $codec;
108
+ }
109
+
110
+ /**
111
+ * Returns the name generator used by this factory
112
+ */
113
+ public function getNameGenerator(): NameGeneratorInterface
114
+ {
115
+ return $this->nameGenerator;
116
+ }
117
+
118
+ /**
119
+ * Sets the name generator to use for this factory
120
+ *
121
+ * @param NameGeneratorInterface $nameGenerator A generator to generate
122
+ * binary data, based on a namespace and name
123
+ */
124
+ public function setNameGenerator(NameGeneratorInterface $nameGenerator): void
125
+ {
126
+ $this->isDefaultFeatureSet = false;
127
+
128
+ $this->nameGenerator = $nameGenerator;
129
+ }
130
+
131
+ /**
132
+ * Returns the node provider used by this factory
133
+ */
134
+ public function getNodeProvider(): NodeProviderInterface
135
+ {
136
+ return $this->nodeProvider;
137
+ }
138
+
139
+ /**
140
+ * Returns the random generator used by this factory
141
+ */
142
+ public function getRandomGenerator(): RandomGeneratorInterface
143
+ {
144
+ return $this->randomGenerator;
145
+ }
146
+
147
+ /**
148
+ * Returns the time generator used by this factory
149
+ */
150
+ public function getTimeGenerator(): TimeGeneratorInterface
151
+ {
152
+ return $this->timeGenerator;
153
+ }
154
+
155
+ /**
156
+ * Sets the time generator to use for this factory
157
+ *
158
+ * @param TimeGeneratorInterface $generator A generator to generate binary
159
+ * data, based on the time
160
+ */
161
+ public function setTimeGenerator(TimeGeneratorInterface $generator): void
162
+ {
163
+ $this->isDefaultFeatureSet = false;
164
+
165
+ $this->timeGenerator = $generator;
166
+ }
167
+
168
+ /**
169
+ * Returns the DCE Security generator used by this factory
170
+ */
171
+ public function getDceSecurityGenerator(): DceSecurityGeneratorInterface
172
+ {
173
+ return $this->dceSecurityGenerator;
174
+ }
175
+
176
+ /**
177
+ * Sets the DCE Security generator to use for this factory
178
+ *
179
+ * @param DceSecurityGeneratorInterface $generator A generator to generate
180
+ * binary data, based on a local domain and local identifier
181
+ */
182
+ public function setDceSecurityGenerator(DceSecurityGeneratorInterface $generator): void
183
+ {
184
+ $this->isDefaultFeatureSet = false;
185
+
186
+ $this->dceSecurityGenerator = $generator;
187
+ }
188
+
189
+ /**
190
+ * Returns the number converter used by this factory
191
+ */
192
+ public function getNumberConverter(): NumberConverterInterface
193
+ {
194
+ return $this->numberConverter;
195
+ }
196
+
197
+ /**
198
+ * Sets the random generator to use for this factory
199
+ *
200
+ * @param RandomGeneratorInterface $generator A generator to generate binary
201
+ * data, based on some random input
202
+ */
203
+ public function setRandomGenerator(RandomGeneratorInterface $generator): void
204
+ {
205
+ $this->isDefaultFeatureSet = false;
206
+
207
+ $this->randomGenerator = $generator;
208
+ }
209
+
210
+ /**
211
+ * Sets the number converter to use for this factory
212
+ *
213
+ * @param NumberConverterInterface $converter A converter to use for working
214
+ * with large integers (i.e. integers greater than PHP_INT_MAX)
215
+ */
216
+ public function setNumberConverter(NumberConverterInterface $converter): void
217
+ {
218
+ $this->isDefaultFeatureSet = false;
219
+
220
+ $this->numberConverter = $converter;
221
+ }
222
+
223
+ /**
224
+ * Returns the UUID builder used by this factory
225
+ */
226
+ public function getUuidBuilder(): UuidBuilderInterface
227
+ {
228
+ return $this->uuidBuilder;
229
+ }
230
+
231
+ /**
232
+ * Sets the UUID builder to use for this factory
233
+ *
234
+ * @param UuidBuilderInterface $builder A builder for constructing instances
235
+ * of UuidInterface
236
+ */
237
+ public function setUuidBuilder(UuidBuilderInterface $builder): void
238
+ {
239
+ $this->isDefaultFeatureSet = false;
240
+
241
+ $this->uuidBuilder = $builder;
242
+ }
243
+
244
+ /**
245
+ * @psalm-mutation-free
246
+ */
247
+ public function getValidator(): ValidatorInterface
248
+ {
249
+ return $this->validator;
250
+ }
251
+
252
+ /**
253
+ * Sets the validator to use for this factory
254
+ *
255
+ * @param ValidatorInterface $validator A validator to use for validating
256
+ * whether a string is a valid UUID
257
+ */
258
+ public function setValidator(ValidatorInterface $validator): void
259
+ {
260
+ $this->isDefaultFeatureSet = false;
261
+
262
+ $this->validator = $validator;
263
+ }
264
+
265
+ /**
266
+ * @psalm-pure
267
+ */
268
+ public function fromBytes(string $bytes): UuidInterface
269
+ {
270
+ return $this->codec->decodeBytes($bytes);
271
+ }
272
+
273
+ /**
274
+ * @psalm-pure
275
+ */
276
+ public function fromString(string $uuid): UuidInterface
277
+ {
278
+ $uuid = strtolower($uuid);
279
+
280
+ return $this->codec->decode($uuid);
281
+ }
282
+
283
+ /**
284
+ * @psalm-pure
285
+ */
286
+ public function fromInteger(string $integer): UuidInterface
287
+ {
288
+ $hex = $this->numberConverter->toHex($integer);
289
+ $hex = str_pad($hex, 32, '0', STR_PAD_LEFT);
290
+
291
+ return $this->fromString($hex);
292
+ }
293
+
294
+ public function fromDateTime(
295
+ DateTimeInterface $dateTime,
296
+ ?Hexadecimal $node = null,
297
+ ?int $clockSeq = null
298
+ ): UuidInterface {
299
+ $timeProvider = new FixedTimeProvider(
300
+ new Time($dateTime->format('U'), $dateTime->format('u'))
301
+ );
302
+
303
+ $timeGenerator = new DefaultTimeGenerator(
304
+ $this->nodeProvider,
305
+ $this->timeConverter,
306
+ $timeProvider
307
+ );
308
+
309
+ $nodeHex = $node ? $node->toString() : null;
310
+
311
+ $bytes = $timeGenerator->generate($nodeHex, $clockSeq);
312
+
313
+ return $this->uuidFromBytesAndVersion($bytes, Version::Time);
314
+ }
315
+
316
+ /**
317
+ * @psalm-pure
318
+ */
319
+ public function fromHexadecimal(Hexadecimal $hex): UuidInterface
320
+ {
321
+ return $this->codec->decode($hex->__toString());
322
+ }
323
+
324
+ public function uuid1(Hexadecimal | int | string | null $node = null, ?int $clockSeq = null): UuidInterface
325
+ {
326
+ $bytes = $this->timeGenerator->generate($node, $clockSeq);
327
+
328
+ return $this->uuidFromBytesAndVersion($bytes, Version::Time);
329
+ }
330
+
331
+ public function uuid2(
332
+ int $localDomain,
333
+ ?IntegerObject $localIdentifier = null,
334
+ ?Hexadecimal $node = null,
335
+ ?int $clockSeq = null
336
+ ): UuidInterface {
337
+ $bytes = $this->dceSecurityGenerator->generate(
338
+ $localDomain,
339
+ $localIdentifier,
340
+ $node,
341
+ $clockSeq
342
+ );
343
+
344
+ return $this->uuidFromBytesAndVersion($bytes, Version::DceSecurity);
345
+ }
346
+
347
+ /**
348
+ * @inheritDoc
349
+ * @psalm-pure
350
+ */
351
+ public function uuid3(UuidInterface | string $ns, string $name): UuidInterface
352
+ {
353
+ return $this->uuidFromNsAndName($ns, $name, Version::HashMd5, 'md5');
354
+ }
355
+
356
+ public function uuid4(): UuidInterface
357
+ {
358
+ $bytes = $this->randomGenerator->generate(16);
359
+
360
+ return $this->uuidFromBytesAndVersion($bytes, Version::Random);
361
+ }
362
+
363
+ /**
364
+ * @inheritDoc
365
+ * @psalm-pure
366
+ */
367
+ public function uuid5(UuidInterface | string $ns, string $name): UuidInterface
368
+ {
369
+ return $this->uuidFromNsAndName($ns, $name, Version::HashSha1, 'sha1');
370
+ }
371
+
372
+ public function uuid6(?Hexadecimal $node = null, ?int $clockSeq = null): UuidInterface
373
+ {
374
+ $nodeHex = $node?->toString();
375
+ $bytes = $this->timeGenerator->generate($nodeHex, $clockSeq);
376
+
377
+ // Rearrange the bytes, according to the UUID version 6 specification.
378
+ $v6 = $bytes[6] . $bytes[7] . $bytes[4] . $bytes[5]
379
+ . $bytes[0] . $bytes[1] . $bytes[2] . $bytes[3];
380
+ $v6 = bin2hex($v6);
381
+
382
+ // Drop the first four bits, while adding an empty four bits for the
383
+ // version field. This allows us to reconstruct the correct time from
384
+ // the bytes of this UUID.
385
+ /** @var non-empty-string $v6Bytes */
386
+ $v6Bytes = hex2bin(substr($v6, 1, 12) . '0' . substr($v6, -3));
387
+ $v6Bytes .= substr($bytes, 8);
388
+
389
+ return $this->uuidFromBytesAndVersion($v6Bytes, Version::ReorderedTime);
390
+ }
391
+
392
+ /**
393
+ * Returns a version 7 (Unix Epoch time) UUID
394
+ *
395
+ * @param DateTimeInterface|null $dateTime An optional date/time from which
396
+ * to create the version 7 UUID. If not provided, the UUID is generated
397
+ * using the current date/time.
398
+ *
399
+ * @return UuidInterface A UuidInterface instance that represents a
400
+ * version 7 UUID
401
+ */
402
+ public function uuid7(?DateTimeInterface $dateTime = null): UuidInterface
403
+ {
404
+ assert($this->unixTimeGenerator instanceof UnixTimeGenerator);
405
+ $bytes = $this->unixTimeGenerator->generate(null, null, $dateTime);
406
+
407
+ return $this->uuidFromBytesAndVersion($bytes, Version::UnixTime);
408
+ }
409
+
410
+ /**
411
+ * Returns a version 8 (Custom) UUID
412
+ *
413
+ * The bytes provided may contain any value according to your application's
414
+ * needs. Be aware, however, that other applications may not understand the
415
+ * semantics of the value.
416
+ *
417
+ * @param non-empty-string $bytes A 16-byte octet string. This is an open blob
418
+ * of data that you may fill with 128 bits of information. Be aware,
419
+ * however, bits 48 through 51 will be replaced with the UUID version
420
+ * field, and bits 64 and 65 will be replaced with the UUID variant. You
421
+ * MUST NOT rely on these bits for your application needs.
422
+ *
423
+ * @return UuidInterface A UuidInterface instance that represents a
424
+ * version 8 UUID
425
+ */
426
+ public function uuid8(string $bytes): UuidInterface
427
+ {
428
+ return $this->uuidFromBytesAndVersion($bytes, Version::Custom);
429
+ }
430
+
431
+ /**
432
+ * Returns a Uuid created from the provided byte string
433
+ *
434
+ * Uses the configured builder and codec and the provided byte string to
435
+ * construct a Uuid object.
436
+ *
437
+ * @param non-empty-string $bytes The byte string from which to construct a UUID
438
+ *
439
+ * @return UuidInterface An instance of UuidInterface, created from the
440
+ * provided bytes
441
+ *
442
+ * @psalm-pure
443
+ */
444
+ public function uuid(string $bytes): UuidInterface
445
+ {
446
+ /** @psalm-suppress ImpurePropertyFetch */
447
+ return $this->uuidBuilder->build($this->codec, $bytes);
448
+ }
449
+
450
+ /**
451
+ * Returns a version 3 or 5 namespaced Uuid
452
+ *
453
+ * @param non-empty-string|UuidInterface $ns The namespace (must be a valid UUID)
454
+ * @param string $name The name to hash together with the namespace
455
+ * @param Version $version The version of UUID to create (3 or 5)
456
+ * @param non-empty-string $hashAlgorithm The hashing algorithm to use when
457
+ * hashing together the namespace and name
458
+ *
459
+ * @return UuidInterface An instance of UuidInterface, created by hashing
460
+ * together the provided namespace and name
461
+ *
462
+ * @psalm-pure
463
+ */
464
+ private function uuidFromNsAndName(
465
+ UuidInterface | string $ns,
466
+ string $name,
467
+ Version $version,
468
+ string $hashAlgorithm,
469
+ ): UuidInterface {
470
+ if (!($ns instanceof UuidInterface)) {
471
+ $ns = $this->fromString($ns);
472
+ }
473
+
474
+ $bytes = $this->nameGenerator->generate($ns, $name, $hashAlgorithm);
475
+
476
+ /** @var non-empty-string $bytes */
477
+ $bytes = substr($bytes, 0, 16);
478
+
479
+ return $this->uuidFromBytesAndVersion($bytes, $version);
480
+ }
481
+
482
+ /**
483
+ * Returns an RFC 4122 variant Uuid, created from the provided bytes and version
484
+ *
485
+ * @param non-empty-string $bytes The byte string to convert to a UUID
486
+ * @param Version $version The RFC 4122 version to apply to the UUID
487
+ *
488
+ * @return UuidInterface An instance of UuidInterface, created from the
489
+ * byte string and version
490
+ *
491
+ * @psalm-pure
492
+ */
493
+ private function uuidFromBytesAndVersion(string $bytes, Version $version): UuidInterface
494
+ {
495
+ $bytesWithVariantAndVersion = BinaryUtils::applyVersionAndVariant($bytes, $version);
496
+
497
+ if ($this->isDefaultFeatureSet) {
498
+ return LazyUuidFromString::fromBytes($bytesWithVariantAndVersion);
499
+ }
500
+
501
+ return $this->uuid($bytesWithVariantAndVersion);
502
+ }
503
+ }
@@ -0,0 +1,184 @@
1
+ <?php
2
+
3
+ /**
4
+ * This file is part of the ramsey/uuid library
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ *
9
+ * @copyright Copyright (c) Ben Ramsey <ben@benramsey.com>
10
+ * @license http://opensource.org/licenses/MIT MIT
11
+ */
12
+
13
+ declare(strict_types=1);
14
+
15
+ namespace Ramsey\Uuid;
16
+
17
+ use DateTimeInterface;
18
+ use Ramsey\Uuid\Type\Hexadecimal;
19
+ use Ramsey\Uuid\Type\Integer as IntegerObject;
20
+ use Ramsey\Uuid\Validator\ValidatorInterface;
21
+
22
+ /**
23
+ * UuidFactoryInterface defines common functionality all `UuidFactory` instances
24
+ * must implement
25
+ *
26
+ * @psalm-immutable
27
+ */
28
+ interface UuidFactoryInterface
29
+ {
30
+ /**
31
+ * Creates a UUID from a byte string
32
+ *
33
+ * @param non-empty-string $bytes A binary string
34
+ *
35
+ * @return UuidInterface A UuidInterface instance created from a binary
36
+ * string representation
37
+ *
38
+ * @psalm-pure
39
+ */
40
+ public function fromBytes(string $bytes): UuidInterface;
41
+
42
+ /**
43
+ * Creates a UUID from a DateTimeInterface instance
44
+ *
45
+ * @param DateTimeInterface $dateTime The date and time
46
+ * @param Hexadecimal|null $node A 48-bit number representing the hardware
47
+ * address
48
+ * @param int<0, 16383>|null $clockSeq A 14-bit number used to help avoid
49
+ * duplicates that could arise when the clock is set backwards in time
50
+ * or if the node ID changes
51
+ *
52
+ * @return UuidInterface A UuidInterface instance that represents a
53
+ * version 1 UUID created from a DateTimeInterface instance
54
+ */
55
+ public function fromDateTime(
56
+ DateTimeInterface $dateTime,
57
+ ?Hexadecimal $node = null,
58
+ ?int $clockSeq = null
59
+ ): UuidInterface;
60
+
61
+ /**
62
+ * Creates a UUID from a 128-bit integer string
63
+ *
64
+ * @param numeric-string $integer String representation of 128-bit integer
65
+ *
66
+ * @return UuidInterface A UuidInterface instance created from the string
67
+ * representation of a 128-bit integer
68
+ *
69
+ * @psalm-pure
70
+ */
71
+ public function fromInteger(string $integer): UuidInterface;
72
+
73
+ /**
74
+ * Creates a UUID from the string standard representation
75
+ *
76
+ * @param non-empty-string $uuid A hexadecimal string
77
+ *
78
+ * @return UuidInterface A UuidInterface instance created from a hexadecimal
79
+ * string representation
80
+ *
81
+ * @psalm-pure
82
+ */
83
+ public function fromString(string $uuid): UuidInterface;
84
+
85
+ /**
86
+ * Returns the validator to use for the factory
87
+ *
88
+ * @psalm-mutation-free
89
+ */
90
+ public function getValidator(): ValidatorInterface;
91
+
92
+ /**
93
+ * Returns a version 1 (Gregorian time) UUID from a host ID, sequence number,
94
+ * and the current time
95
+ *
96
+ * @param Hexadecimal|int<1, max>|non-empty-string|null $node A 48-bit number
97
+ * representing the hardware address; this number may be represented as
98
+ * an integer or a hexadecimal string
99
+ * @param int<0, 16383>|null $clockSeq A 14-bit number used to help avoid
100
+ * duplicates that could arise when the clock is set backwards in time
101
+ * or if the node ID changes
102
+ *
103
+ * @return UuidInterface A UuidInterface instance that represents a
104
+ * version 1 UUID
105
+ */
106
+ public function uuid1(Hexadecimal | int | string | null $node = null, ?int $clockSeq = null): UuidInterface;
107
+
108
+ /**
109
+ * Returns a version 2 (DCE Security) UUID from a local domain, local
110
+ * identifier, host ID, clock sequence, and the current time
111
+ *
112
+ * @param int $localDomain The local domain to use when generating bytes,
113
+ * according to DCE Security
114
+ * @param IntegerObject|null $localIdentifier The local identifier for the
115
+ * given domain; this may be a UID or GID on POSIX systems, if the local
116
+ * domain is person or group, or it may be a site-defined identifier
117
+ * if the local domain is org
118
+ * @param Hexadecimal|null $node A 48-bit number representing the hardware
119
+ * address
120
+ * @param int<0, 63>|null $clockSeq A 6-bit number used to help avoid
121
+ * duplicates that could arise when the clock is set backwards in time
122
+ * or if the node ID changes
123
+ *
124
+ * @return UuidInterface A UuidInterface instance that represents a
125
+ * version 2 UUID
126
+ */
127
+ public function uuid2(
128
+ int $localDomain,
129
+ ?IntegerObject $localIdentifier = null,
130
+ ?Hexadecimal $node = null,
131
+ ?int $clockSeq = null
132
+ ): UuidInterface;
133
+
134
+ /**
135
+ * Returns a version 3 (name-based) UUID based on the MD5 hash of a
136
+ * namespace ID and a name
137
+ *
138
+ * @param non-empty-string|UuidInterface $ns The namespace (must be a valid UUID)
139
+ * @param string $name The name to use for creating a UUID
140
+ *
141
+ * @return UuidInterface A UuidInterface instance that represents a
142
+ * version 3 UUID
143
+ *
144
+ * @psalm-pure
145
+ */
146
+ public function uuid3(UuidInterface | string $ns, string $name): UuidInterface;
147
+
148
+ /**
149
+ * Returns a version 4 (random) UUID
150
+ *
151
+ * @return UuidInterface A UuidInterface instance that represents a
152
+ * version 4 UUID
153
+ */
154
+ public function uuid4(): UuidInterface;
155
+
156
+ /**
157
+ * Returns a version 5 (name-based) UUID based on the SHA-1 hash of a
158
+ * namespace ID and a name
159
+ *
160
+ * @param non-empty-string|UuidInterface $ns The namespace (must be a valid UUID)
161
+ * @param string $name The name to use for creating a UUID
162
+ *
163
+ * @return UuidInterface A UuidInterface instance that represents a
164
+ * version 5 UUID
165
+ *
166
+ * @psalm-pure
167
+ */
168
+ public function uuid5(UuidInterface | string $ns, string $name): UuidInterface;
169
+
170
+ /**
171
+ * Returns a version 6 (reordered time) UUID from a host ID, sequence number,
172
+ * and the current time
173
+ *
174
+ * @param Hexadecimal|null $node A 48-bit number representing the hardware
175
+ * address
176
+ * @param int<0, 16383>|null $clockSeq A 14-bit number used to help avoid
177
+ * duplicates that could arise when the clock is set backwards in time
178
+ * or if the node ID changes
179
+ *
180
+ * @return UuidInterface A UuidInterface instance that represents a
181
+ * version 6 UUID
182
+ */
183
+ public function uuid6(?Hexadecimal $node = null, ?int $clockSeq = null): UuidInterface;
184
+ }