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,139 @@
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\Generator;
16
+
17
+ use Ramsey\Uuid\Converter\NumberConverterInterface;
18
+ use Ramsey\Uuid\Exception\DceSecurityException;
19
+ use Ramsey\Uuid\Provider\DceSecurityProviderInterface;
20
+ use Ramsey\Uuid\Type\Hexadecimal;
21
+ use Ramsey\Uuid\Type\Integer as IntegerObject;
22
+ use Ramsey\Uuid\Uuid;
23
+
24
+ use function hex2bin;
25
+ use function in_array;
26
+ use function pack;
27
+ use function str_pad;
28
+ use function strlen;
29
+ use function substr_replace;
30
+
31
+ use const STR_PAD_LEFT;
32
+
33
+ /**
34
+ * DceSecurityGenerator generates strings of binary data based on a local
35
+ * domain, local identifier, node ID, clock sequence, and the current time
36
+ */
37
+ class DceSecurityGenerator implements DceSecurityGeneratorInterface
38
+ {
39
+ private const DOMAINS = [
40
+ Uuid::DCE_DOMAIN_PERSON,
41
+ Uuid::DCE_DOMAIN_GROUP,
42
+ Uuid::DCE_DOMAIN_ORG,
43
+ ];
44
+
45
+ /**
46
+ * Upper bounds for the clock sequence in DCE Security UUIDs.
47
+ */
48
+ private const CLOCK_SEQ_HIGH = 63;
49
+
50
+ /**
51
+ * Lower bounds for the clock sequence in DCE Security UUIDs.
52
+ */
53
+ private const CLOCK_SEQ_LOW = 0;
54
+
55
+ public function __construct(
56
+ private readonly NumberConverterInterface $numberConverter,
57
+ private readonly TimeGeneratorInterface $timeGenerator,
58
+ private readonly DceSecurityProviderInterface $dceSecurityProvider
59
+ ) {
60
+ }
61
+
62
+ public function generate(
63
+ int $localDomain,
64
+ ?IntegerObject $localIdentifier = null,
65
+ Hexadecimal | int | string | null $node = null,
66
+ ?int $clockSeq = null
67
+ ): string {
68
+ if (!in_array($localDomain, self::DOMAINS)) {
69
+ throw new DceSecurityException(
70
+ 'Local domain must be a valid DCE Security domain'
71
+ );
72
+ }
73
+
74
+ if ($localIdentifier && $localIdentifier->isNegative()) {
75
+ throw new DceSecurityException(
76
+ 'Local identifier out of bounds; it must be a value between 0 and 4294967295'
77
+ );
78
+ }
79
+
80
+ if ($clockSeq > self::CLOCK_SEQ_HIGH || $clockSeq < self::CLOCK_SEQ_LOW) {
81
+ throw new DceSecurityException(
82
+ 'Clock sequence out of bounds; it must be a value between 0 and 63'
83
+ );
84
+ }
85
+
86
+ switch ($localDomain) {
87
+ case Uuid::DCE_DOMAIN_ORG:
88
+ if ($localIdentifier === null) {
89
+ throw new DceSecurityException(
90
+ 'A local identifier must be provided for the org domain'
91
+ );
92
+ }
93
+
94
+ break;
95
+ case Uuid::DCE_DOMAIN_PERSON:
96
+ if ($localIdentifier === null) {
97
+ $localIdentifier = $this->dceSecurityProvider->getUid();
98
+ }
99
+
100
+ break;
101
+ case Uuid::DCE_DOMAIN_GROUP:
102
+ default:
103
+ if ($localIdentifier === null) {
104
+ $localIdentifier = $this->dceSecurityProvider->getGid();
105
+ }
106
+
107
+ break;
108
+ }
109
+
110
+ $identifierHex = $this->numberConverter->toHex($localIdentifier->toString());
111
+
112
+ // The maximum value for the local identifier is 0xffffffff, or
113
+ // 4294967295. This is 8 hexadecimal digits, so if the length of
114
+ // hexadecimal digits is greater than 8, we know the value is greater
115
+ // than 0xffffffff.
116
+ if (strlen($identifierHex) > 8) {
117
+ throw new DceSecurityException(
118
+ 'Local identifier out of bounds; it must be a value between 0 and 4294967295'
119
+ );
120
+ }
121
+
122
+ $domainByte = pack('n', $localDomain)[1];
123
+ $identifierBytes = (string) hex2bin(str_pad($identifierHex, 8, '0', STR_PAD_LEFT));
124
+
125
+ // Shift the clock sequence 8 bits to the left, so it matches 0x3f00.
126
+ if ($clockSeq !== null) {
127
+ /** @var int<0, 16383> $clockSeq */
128
+ $clockSeq = $clockSeq << 8;
129
+ }
130
+
131
+ $bytes = $this->timeGenerator->generate($node, $clockSeq);
132
+
133
+ // Replace bytes in the time-based UUID with DCE Security values.
134
+ $bytes = substr_replace($bytes, $identifierBytes, 0, 4);
135
+
136
+ /** @var non-empty-string */
137
+ return substr_replace($bytes, $domainByte, 9, 1);
138
+ }
139
+ }
@@ -0,0 +1,53 @@
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\Generator;
16
+
17
+ use Ramsey\Uuid\Rfc4122\UuidV2;
18
+ use Ramsey\Uuid\Type\Hexadecimal;
19
+ use Ramsey\Uuid\Type\Integer as IntegerObject;
20
+
21
+ /**
22
+ * A DCE Security generator generates strings of binary data based on a local
23
+ * domain, local identifier, node ID, clock sequence, and the current time
24
+ *
25
+ * @see UuidV2
26
+ */
27
+ interface DceSecurityGeneratorInterface
28
+ {
29
+ /**
30
+ * Generate a binary string from a local domain, local identifier, node ID,
31
+ * clock sequence, and current time
32
+ *
33
+ * @param int $localDomain The local domain to use when generating bytes,
34
+ * according to DCE Security
35
+ * @param IntegerObject|null $localIdentifier The local identifier for the
36
+ * given domain; this may be a UID or GID on POSIX systems, if the local
37
+ * domain is person or group, or it may be a site-defined identifier
38
+ * if the local domain is org
39
+ * @param Hexadecimal|positive-int|non-empty-string|null $node A 48-bit
40
+ * number representing the hardware address
41
+ * @param int<0, 63>|null $clockSeq A 6-bit number used to help avoid
42
+ * duplicates that could arise when the clock is set backwards in time
43
+ * or if the node ID changes
44
+ *
45
+ * @return non-empty-string A binary string
46
+ */
47
+ public function generate(
48
+ int $localDomain,
49
+ ?IntegerObject $localIdentifier = null,
50
+ Hexadecimal | int | string | null $node = null,
51
+ ?int $clockSeq = null
52
+ ): string;
53
+ }
@@ -0,0 +1,51 @@
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\Generator;
16
+
17
+ use Ramsey\Uuid\Exception\NameException;
18
+ use Ramsey\Uuid\UuidInterface;
19
+ use ValueError;
20
+
21
+ use function hash;
22
+
23
+ /**
24
+ * DefaultNameGenerator generates strings of binary data based on a namespace,
25
+ * name, and hashing algorithm
26
+ */
27
+ class DefaultNameGenerator implements NameGeneratorInterface
28
+ {
29
+ /**
30
+ * @inheritDoc
31
+ * @psalm-pure
32
+ */
33
+ public function generate(UuidInterface $ns, string $name, string $hashAlgorithm): string
34
+ {
35
+ try {
36
+ /** @var non-empty-string|false $bytes */
37
+ $bytes = @hash($hashAlgorithm, $ns->getBytes() . $name, true);
38
+ } catch (ValueError $e) {
39
+ $bytes = false; // keep same behavior than PHP 7
40
+ }
41
+
42
+ if ($bytes === false) {
43
+ throw new NameException(sprintf(
44
+ 'Unable to hash namespace and name with algorithm \'%s\'',
45
+ $hashAlgorithm
46
+ ));
47
+ }
48
+
49
+ return $bytes;
50
+ }
51
+ }
@@ -0,0 +1,131 @@
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\Generator;
16
+
17
+ use Ramsey\Uuid\Converter\TimeConverterInterface;
18
+ use Ramsey\Uuid\Exception\InvalidArgumentException;
19
+ use Ramsey\Uuid\Exception\RandomSourceException;
20
+ use Ramsey\Uuid\Exception\TimeSourceException;
21
+ use Ramsey\Uuid\Provider\NodeProviderInterface;
22
+ use Ramsey\Uuid\Provider\TimeProviderInterface;
23
+ use Ramsey\Uuid\Type\Hexadecimal;
24
+ use Throwable;
25
+
26
+ use function dechex;
27
+ use function hex2bin;
28
+ use function is_int;
29
+ use function pack;
30
+ use function preg_match;
31
+ use function sprintf;
32
+ use function str_pad;
33
+ use function strlen;
34
+
35
+ use const STR_PAD_LEFT;
36
+
37
+ /**
38
+ * DefaultTimeGenerator generates strings of binary data based on a node ID,
39
+ * clock sequence, and the current time
40
+ */
41
+ class DefaultTimeGenerator implements TimeGeneratorInterface
42
+ {
43
+ public function __construct(
44
+ private readonly NodeProviderInterface $nodeProvider,
45
+ private readonly TimeConverterInterface $timeConverter,
46
+ private readonly TimeProviderInterface $timeProvider
47
+ ) {
48
+ }
49
+
50
+ /**
51
+ * @throws InvalidArgumentException if the parameters contain invalid values
52
+ * @throws RandomSourceException if random_int() throws an exception/error
53
+ *
54
+ * @inheritDoc
55
+ */
56
+ public function generate(Hexadecimal | int | string | null $node = null, ?int $clockSeq = null): string
57
+ {
58
+ if ($node instanceof Hexadecimal) {
59
+ $node = $node->toString();
60
+ }
61
+
62
+ $node = $this->getValidNode($node);
63
+
64
+ if ($clockSeq === null) {
65
+ try {
66
+ // This does not use "stable storage"; see RFC 4122, Section 4.2.1.1.
67
+ $clockSeq = random_int(0, 0x3fff);
68
+ } catch (Throwable $exception) {
69
+ throw new RandomSourceException(
70
+ $exception->getMessage(),
71
+ (int) $exception->getCode(),
72
+ $exception
73
+ );
74
+ }
75
+ }
76
+
77
+ $time = $this->timeProvider->getTime();
78
+
79
+ $uuidTime = $this->timeConverter->calculateTime(
80
+ $time->getSeconds()->toString(),
81
+ $time->getMicroseconds()->toString()
82
+ );
83
+
84
+ $timeHex = str_pad($uuidTime->toString(), 16, '0', STR_PAD_LEFT);
85
+
86
+ if (strlen($timeHex) !== 16) {
87
+ throw new TimeSourceException(sprintf(
88
+ 'The generated time of \'%s\' is larger than expected',
89
+ $timeHex
90
+ ));
91
+ }
92
+
93
+ $timeBytes = (string) hex2bin($timeHex);
94
+
95
+ return $timeBytes[4] . $timeBytes[5] . $timeBytes[6] . $timeBytes[7]
96
+ . $timeBytes[2] . $timeBytes[3]
97
+ . $timeBytes[0] . $timeBytes[1]
98
+ . pack('n*', $clockSeq)
99
+ . $node;
100
+ }
101
+
102
+ /**
103
+ * Uses the node provider given when constructing this instance to get
104
+ * the node ID (usually a MAC address)
105
+ *
106
+ * @param non-empty-string|positive-int|null $node A node value that may be
107
+ * used to override the node provider
108
+ *
109
+ * @return non-empty-string 6-byte binary string representation of the node
110
+ *
111
+ * @throws InvalidArgumentException
112
+ */
113
+ private function getValidNode(int | string | null $node): string
114
+ {
115
+ if ($node === null) {
116
+ $node = $this->nodeProvider->getNode();
117
+ }
118
+
119
+ // Convert the node to hex, if it is still an integer.
120
+ if (is_int($node)) {
121
+ $node = dechex($node);
122
+ }
123
+
124
+ if (!preg_match('/^[A-Fa-f0-9]+$/', (string) $node) || strlen((string) $node) > 12) {
125
+ throw new InvalidArgumentException('Invalid node value');
126
+ }
127
+
128
+ /** @var non-empty-string */
129
+ return (string) hex2bin(str_pad((string) $node, 12, '0', STR_PAD_LEFT));
130
+ }
131
+ }
@@ -0,0 +1,30 @@
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\Generator;
16
+
17
+ /**
18
+ * NameGeneratorFactory retrieves a default name generator, based on the
19
+ * environment
20
+ */
21
+ class NameGeneratorFactory
22
+ {
23
+ /**
24
+ * Returns a default name generator, based on the current environment
25
+ */
26
+ public function getGenerator(): NameGeneratorInterface
27
+ {
28
+ return new DefaultNameGenerator();
29
+ }
30
+ }
@@ -0,0 +1,38 @@
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\Generator;
16
+
17
+ use Ramsey\Uuid\UuidInterface;
18
+
19
+ /**
20
+ * A name generator generates strings of binary data created by hashing together
21
+ * a namespace with a name, according to a hashing algorithm
22
+ */
23
+ interface NameGeneratorInterface
24
+ {
25
+ /**
26
+ * Generate a binary string from a namespace and name hashed together with
27
+ * the specified hashing algorithm
28
+ *
29
+ * @param UuidInterface $ns The namespace
30
+ * @param string $name The name to use for creating a UUID
31
+ * @param non-empty-string $hashAlgorithm The hashing algorithm to use
32
+ *
33
+ * @return non-empty-string A binary string
34
+ *
35
+ * @psalm-pure
36
+ */
37
+ public function generate(UuidInterface $ns, string $name, string $hashAlgorithm): string;
38
+ }
@@ -0,0 +1,52 @@
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\Generator;
16
+
17
+ use Ramsey\Uuid\Exception\NameException;
18
+ use Ramsey\Uuid\UuidInterface;
19
+
20
+ use function sprintf;
21
+ use function uuid_generate_md5;
22
+ use function uuid_generate_sha1;
23
+ use function uuid_parse;
24
+
25
+ /**
26
+ * PeclUuidNameGenerator generates strings of binary data from a namespace and a
27
+ * name, using ext-uuid
28
+ *
29
+ * @link https://pecl.php.net/package/uuid ext-uuid
30
+ */
31
+ class PeclUuidNameGenerator implements NameGeneratorInterface
32
+ {
33
+ /**
34
+ * @inheritDoc
35
+ * @psalm-pure
36
+ */
37
+ public function generate(UuidInterface $ns, string $name, string $hashAlgorithm): string
38
+ {
39
+ $uuid = match ($hashAlgorithm) {
40
+ 'md5' => uuid_generate_md5($ns->toString(), $name),
41
+ 'sha1' => uuid_generate_sha1($ns->toString(), $name),
42
+ default => throw new NameException(
43
+ sprintf(
44
+ 'Unable to hash namespace and name with algorithm \'%s\'',
45
+ $hashAlgorithm
46
+ )
47
+ ),
48
+ };
49
+
50
+ return uuid_parse($uuid) ?: throw new NameException('Unable to generate UUID from ext-uuid');
51
+ }
52
+ }
@@ -0,0 +1,37 @@
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\Generator;
16
+
17
+ use Ramsey\Uuid\Exception\NameException;
18
+
19
+ use function uuid_create;
20
+ use function uuid_parse;
21
+
22
+ use const UUID_TYPE_RANDOM;
23
+
24
+ /**
25
+ * PeclUuidRandomGenerator generates strings of random binary data using ext-uuid
26
+ *
27
+ * @link https://pecl.php.net/package/uuid ext-uuid
28
+ */
29
+ class PeclUuidRandomGenerator implements RandomGeneratorInterface
30
+ {
31
+ public function generate(int $length): string
32
+ {
33
+ $uuid = uuid_create(UUID_TYPE_RANDOM);
34
+
35
+ return uuid_parse($uuid) ?: throw new NameException('Unable to generate UUID from ext-uuid');
36
+ }
37
+ }
@@ -0,0 +1,39 @@
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\Generator;
16
+
17
+ use Ramsey\Uuid\Exception\NameException;
18
+ use Ramsey\Uuid\Type\Hexadecimal;
19
+
20
+ use function uuid_create;
21
+ use function uuid_parse;
22
+
23
+ use const UUID_TYPE_TIME;
24
+
25
+ /**
26
+ * PeclUuidTimeGenerator generates strings of binary data for time-base UUIDs,
27
+ * using ext-uuid
28
+ *
29
+ * @link https://pecl.php.net/package/uuid ext-uuid
30
+ */
31
+ class PeclUuidTimeGenerator implements TimeGeneratorInterface
32
+ {
33
+ public function generate(Hexadecimal | int | string | null $node = null, ?int $clockSeq = null): string
34
+ {
35
+ $uuid = uuid_create(UUID_TYPE_TIME);
36
+
37
+ return uuid_parse($uuid) ?: throw new NameException('Unable to generate UUID from ext-uuid');
38
+ }
39
+ }
@@ -0,0 +1,45 @@
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\Generator;
16
+
17
+ use Ramsey\Uuid\Exception\RandomSourceException;
18
+ use Throwable;
19
+
20
+ /**
21
+ * RandomBytesGenerator generates strings of random binary data using the
22
+ * built-in `random_bytes()` PHP function
23
+ *
24
+ * @link http://php.net/random_bytes random_bytes()
25
+ */
26
+ class RandomBytesGenerator implements RandomGeneratorInterface
27
+ {
28
+ /**
29
+ * @throws RandomSourceException if random_bytes() throws an exception/error
30
+ *
31
+ * @inheritDoc
32
+ */
33
+ public function generate(int $length): string
34
+ {
35
+ try {
36
+ return random_bytes($length);
37
+ } catch (Throwable $exception) {
38
+ throw new RandomSourceException(
39
+ $exception->getMessage(),
40
+ (int) $exception->getCode(),
41
+ $exception
42
+ );
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,30 @@
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\Generator;
16
+
17
+ /**
18
+ * RandomGeneratorFactory retrieves a default random generator, based on the
19
+ * environment
20
+ */
21
+ class RandomGeneratorFactory
22
+ {
23
+ /**
24
+ * Returns a default random generator, based on the current environment
25
+ */
26
+ public function getGenerator(): RandomGeneratorInterface
27
+ {
28
+ return new RandomBytesGenerator();
29
+ }
30
+ }
@@ -0,0 +1,31 @@
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\Generator;
16
+
17
+ /**
18
+ * A random generator generates strings of random binary data
19
+ */
20
+ interface RandomGeneratorInterface
21
+ {
22
+ /**
23
+ * Generates a string of randomized binary data
24
+ *
25
+ * @param positive-int $length The number of bytes of random binary data to
26
+ * generate
27
+ *
28
+ * @return non-empty-string A binary string
29
+ */
30
+ public function generate(int $length): string;
31
+ }