create-berna-stencil 1.0.15 → 1.0.16

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 (357) hide show
  1. package/.eleventy.js +1 -1
  2. package/.gitignore +2 -1
  3. package/bin/create.js +1 -1
  4. package/package.json +7 -6
  5. package/src/api/core/composer.json +1 -2
  6. package/src/api/core/vendor/autoload.php +1 -1
  7. package/src/api/core/vendor/composer/autoload_real.php +5 -5
  8. package/src/api/core/vendor/composer/autoload_static.php +15 -15
  9. package/src/api/core/vendor/composer/installed.json +7 -7
  10. package/src/api/core/vendor/composer/installed.php +2 -2
  11. package/src/api/core/vendor/graham-campbell/result-type/LICENSE +21 -21
  12. package/src/api/core/vendor/graham-campbell/result-type/composer.json +33 -33
  13. package/src/api/core/vendor/graham-campbell/result-type/src/Error.php +121 -121
  14. package/src/api/core/vendor/graham-campbell/result-type/src/Result.php +69 -69
  15. package/src/api/core/vendor/graham-campbell/result-type/src/Success.php +120 -120
  16. package/src/api/core/vendor/phpmailer/phpmailer/COMMITMENT +46 -46
  17. package/src/api/core/vendor/phpmailer/phpmailer/LICENSE +501 -501
  18. package/src/api/core/vendor/phpmailer/phpmailer/README.md +232 -232
  19. package/src/api/core/vendor/phpmailer/phpmailer/SECURITY.md +37 -37
  20. package/src/api/core/vendor/phpmailer/phpmailer/SMTPUTF8.md +48 -48
  21. package/src/api/core/vendor/phpmailer/phpmailer/VERSION +1 -1
  22. package/src/api/core/vendor/phpmailer/phpmailer/composer.json +84 -84
  23. package/src/api/core/vendor/phpmailer/phpmailer/get_oauth_token.php +182 -182
  24. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-af.php +26 -26
  25. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ar.php +27 -27
  26. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-as.php +35 -35
  27. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-az.php +27 -27
  28. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ba.php +27 -27
  29. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-be.php +27 -27
  30. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-bg.php +27 -27
  31. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-bn.php +35 -35
  32. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ca.php +27 -27
  33. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php +28 -28
  34. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-da.php +39 -39
  35. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-de.php +28 -28
  36. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-el.php +33 -33
  37. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-eo.php +37 -37
  38. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php +38 -38
  39. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-et.php +28 -28
  40. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-fa.php +28 -28
  41. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-fi.php +27 -27
  42. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-fo.php +27 -27
  43. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php +36 -36
  44. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-gl.php +27 -27
  45. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-he.php +27 -27
  46. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-hi.php +35 -35
  47. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-hr.php +27 -27
  48. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-hu.php +27 -27
  49. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-hy.php +27 -27
  50. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-id.php +31 -31
  51. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-it.php +28 -28
  52. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ja.php +37 -37
  53. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ka.php +27 -27
  54. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ko.php +27 -27
  55. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ku.php +27 -27
  56. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-lt.php +27 -27
  57. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-lv.php +27 -27
  58. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-mg.php +27 -27
  59. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-mn.php +27 -27
  60. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ms.php +27 -27
  61. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-nb.php +37 -37
  62. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-nl.php +38 -38
  63. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-pl.php +33 -33
  64. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt.php +34 -34
  65. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt_br.php +38 -38
  66. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ro.php +33 -33
  67. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php +36 -36
  68. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-si.php +34 -34
  69. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php +30 -30
  70. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-sl.php +36 -36
  71. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr.php +28 -28
  72. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr_latn.php +28 -28
  73. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-sv.php +27 -27
  74. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-tl.php +28 -28
  75. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-tr.php +38 -38
  76. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php +28 -28
  77. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ur.php +30 -30
  78. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-vi.php +27 -27
  79. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh.php +29 -29
  80. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh_cn.php +36 -36
  81. package/src/api/core/vendor/phpmailer/phpmailer/src/DSNConfigurator.php +245 -245
  82. package/src/api/core/vendor/phpmailer/phpmailer/src/Exception.php +40 -40
  83. package/src/api/core/vendor/phpmailer/phpmailer/src/OAuth.php +139 -139
  84. package/src/api/core/vendor/phpmailer/phpmailer/src/OAuthTokenProvider.php +44 -44
  85. package/src/api/core/vendor/phpmailer/phpmailer/src/PHPMailer.php +5525 -5525
  86. package/src/api/core/vendor/phpmailer/phpmailer/src/POP3.php +470 -470
  87. package/src/api/core/vendor/phpmailer/phpmailer/src/SMTP.php +1617 -1617
  88. package/src/api/core/vendor/phpoption/phpoption/LICENSE +200 -200
  89. package/src/api/core/vendor/phpoption/phpoption/composer.json +50 -50
  90. package/src/api/core/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +175 -175
  91. package/src/api/core/vendor/phpoption/phpoption/src/PhpOption/None.php +136 -136
  92. package/src/api/core/vendor/phpoption/phpoption/src/PhpOption/Option.php +434 -434
  93. package/src/api/core/vendor/phpoption/phpoption/src/PhpOption/Some.php +169 -169
  94. package/src/api/core/vendor/symfony/polyfill-ctype/Ctype.php +232 -232
  95. package/src/api/core/vendor/symfony/polyfill-ctype/LICENSE +19 -19
  96. package/src/api/core/vendor/symfony/polyfill-ctype/README.md +12 -12
  97. package/src/api/core/vendor/symfony/polyfill-ctype/bootstrap.php +50 -50
  98. package/src/api/core/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -46
  99. package/src/api/core/vendor/symfony/polyfill-ctype/composer.json +38 -38
  100. package/src/api/core/vendor/symfony/polyfill-mbstring/LICENSE +19 -19
  101. package/src/api/core/vendor/symfony/polyfill-mbstring/Mbstring.php +1077 -1077
  102. package/src/api/core/vendor/symfony/polyfill-mbstring/README.md +13 -13
  103. package/src/api/core/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -119
  104. package/src/api/core/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -1397
  105. package/src/api/core/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -5
  106. package/src/api/core/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -1489
  107. package/src/api/core/vendor/symfony/polyfill-mbstring/bootstrap.php +171 -171
  108. package/src/api/core/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -167
  109. package/src/api/core/vendor/symfony/polyfill-mbstring/composer.json +39 -39
  110. package/src/api/core/vendor/symfony/polyfill-php80/LICENSE +19 -19
  111. package/src/api/core/vendor/symfony/polyfill-php80/Php80.php +115 -115
  112. package/src/api/core/vendor/symfony/polyfill-php80/PhpToken.php +106 -106
  113. package/src/api/core/vendor/symfony/polyfill-php80/README.md +25 -25
  114. package/src/api/core/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -31
  115. package/src/api/core/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -16
  116. package/src/api/core/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -20
  117. package/src/api/core/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -16
  118. package/src/api/core/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -16
  119. package/src/api/core/vendor/symfony/polyfill-php80/bootstrap.php +42 -42
  120. package/src/api/core/vendor/symfony/polyfill-php80/composer.json +37 -37
  121. package/src/api/core/vendor/vlucas/phpdotenv/LICENSE +30 -30
  122. package/src/api/core/vendor/vlucas/phpdotenv/composer.json +60 -60
  123. package/src/api/core/vendor/vlucas/phpdotenv/src/Dotenv.php +267 -267
  124. package/src/api/core/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +12 -12
  125. package/src/api/core/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +12 -12
  126. package/src/api/core/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +12 -12
  127. package/src/api/core/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +12 -12
  128. package/src/api/core/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +12 -12
  129. package/src/api/core/vendor/vlucas/phpdotenv/src/Loader/Loader.php +48 -48
  130. package/src/api/core/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +20 -20
  131. package/src/api/core/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +65 -65
  132. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/Entry.php +59 -59
  133. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +299 -299
  134. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +58 -58
  135. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/Lines.php +127 -127
  136. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/Parser.php +53 -53
  137. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +19 -19
  138. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/Value.php +88 -88
  139. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +15 -15
  140. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +89 -89
  141. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +80 -80
  142. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +88 -88
  143. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +85 -85
  144. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +110 -110
  145. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +48 -48
  146. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +64 -64
  147. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +91 -91
  148. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +17 -17
  149. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +104 -104
  150. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +88 -88
  151. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +27 -27
  152. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +107 -107
  153. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +272 -272
  154. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +51 -51
  155. package/src/api/core/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +44 -44
  156. package/src/api/core/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +81 -81
  157. package/src/api/core/vendor/vlucas/phpdotenv/src/Store/FileStore.php +72 -72
  158. package/src/api/core/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +141 -141
  159. package/src/api/core/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +17 -17
  160. package/src/api/core/vendor/vlucas/phpdotenv/src/Store/StringStore.php +37 -37
  161. package/src/api/core/vendor/vlucas/phpdotenv/src/Util/Regex.php +112 -112
  162. package/src/api/core/vendor/vlucas/phpdotenv/src/Util/Str.php +108 -108
  163. package/src/api/core/vendor/vlucas/phpdotenv/src/Validator.php +207 -207
  164. package/src/api/core/vendor/graham-campbell/result-type/.gitattributes +0 -9
  165. package/src/api/core/vendor/graham-campbell/result-type/.github/CODE_OF_CONDUCT.md +0 -132
  166. package/src/api/core/vendor/graham-campbell/result-type/.github/CONTRIBUTING.md +0 -31
  167. package/src/api/core/vendor/graham-campbell/result-type/.github/FUNDING.yml +0 -2
  168. package/src/api/core/vendor/graham-campbell/result-type/.github/SECURITY.md +0 -14
  169. package/src/api/core/vendor/graham-campbell/result-type/.github/workflows/stale.yml +0 -11
  170. package/src/api/core/vendor/graham-campbell/result-type/.github/workflows/tests.yml +0 -40
  171. package/src/api/core/vendor/graham-campbell/result-type/CHANGELOG.md +0 -53
  172. package/src/api/core/vendor/graham-campbell/result-type/README.md +0 -42
  173. package/src/api/core/vendor/graham-campbell/result-type/phpunit.xml.dist +0 -13
  174. package/src/api/core/vendor/graham-campbell/result-type/tests/ResultTest.php +0 -95
  175. package/src/api/core/vendor/phpmailer/phpmailer/.codecov.yml +0 -21
  176. package/src/api/core/vendor/phpmailer/phpmailer/.editorconfig +0 -15
  177. package/src/api/core/vendor/phpmailer/phpmailer/.gitattributes +0 -17
  178. package/src/api/core/vendor/phpmailer/phpmailer/.github/FUNDING.yml +0 -6
  179. package/src/api/core/vendor/phpmailer/phpmailer/.github/ISSUE_TEMPLATE/bug_report.md +0 -23
  180. package/src/api/core/vendor/phpmailer/phpmailer/.github/actions/build-docs/Dockerfile +0 -15
  181. package/src/api/core/vendor/phpmailer/phpmailer/.github/actions/build-docs/entrypoint.sh +0 -5
  182. package/src/api/core/vendor/phpmailer/phpmailer/.github/dependabot.yml +0 -21
  183. package/src/api/core/vendor/phpmailer/phpmailer/.github/workflows/docs.yaml +0 -30
  184. package/src/api/core/vendor/phpmailer/phpmailer/.github/workflows/scorecards.yml +0 -61
  185. package/src/api/core/vendor/phpmailer/phpmailer/.github/workflows/tests.yml +0 -237
  186. package/src/api/core/vendor/phpmailer/phpmailer/.phan/config.php +0 -41
  187. package/src/api/core/vendor/phpmailer/phpmailer/UPGRADING.md +0 -125
  188. package/src/api/core/vendor/phpmailer/phpmailer/changelog.md +0 -1122
  189. package/src/api/core/vendor/phpmailer/phpmailer/docs/README.md +0 -9
  190. package/src/api/core/vendor/phpmailer/phpmailer/examples/DKIM_gen_keys.phps +0 -81
  191. package/src/api/core/vendor/phpmailer/phpmailer/examples/DKIM_sign.phps +0 -46
  192. package/src/api/core/vendor/phpmailer/phpmailer/examples/README.md +0 -96
  193. package/src/api/core/vendor/phpmailer/phpmailer/examples/azure_xoauth2.phps +0 -126
  194. package/src/api/core/vendor/phpmailer/phpmailer/examples/callback.phps +0 -76
  195. package/src/api/core/vendor/phpmailer/phpmailer/examples/contactform-ajax.phps +0 -146
  196. package/src/api/core/vendor/phpmailer/phpmailer/examples/contactform.phps +0 -95
  197. package/src/api/core/vendor/phpmailer/phpmailer/examples/contents.html +0 -17
  198. package/src/api/core/vendor/phpmailer/phpmailer/examples/contentsutf8.html +0 -23
  199. package/src/api/core/vendor/phpmailer/phpmailer/examples/exceptions.phps +0 -40
  200. package/src/api/core/vendor/phpmailer/phpmailer/examples/extending.phps +0 -72
  201. package/src/api/core/vendor/phpmailer/phpmailer/examples/gmail.phps +0 -106
  202. package/src/api/core/vendor/phpmailer/phpmailer/examples/gmail_xoauth.phps +0 -121
  203. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.afdesign +0 -0
  204. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.png +0 -0
  205. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.svg +0 -209
  206. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/phpmailer.png +0 -0
  207. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/phpmailer_mini.png +0 -0
  208. package/src/api/core/vendor/phpmailer/phpmailer/examples/mail.phps +0 -35
  209. package/src/api/core/vendor/phpmailer/phpmailer/examples/mailing_list.phps +0 -96
  210. package/src/api/core/vendor/phpmailer/phpmailer/examples/pop_before_smtp.phps +0 -60
  211. package/src/api/core/vendor/phpmailer/phpmailer/examples/send_file_upload.phps +0 -60
  212. package/src/api/core/vendor/phpmailer/phpmailer/examples/send_multiple_file_upload.phps +0 -60
  213. package/src/api/core/vendor/phpmailer/phpmailer/examples/sendmail.phps +0 -37
  214. package/src/api/core/vendor/phpmailer/phpmailer/examples/sendoauth2.phps +0 -100
  215. package/src/api/core/vendor/phpmailer/phpmailer/examples/simple_contact_form.phps +0 -102
  216. package/src/api/core/vendor/phpmailer/phpmailer/examples/smime_signed_mail.phps +0 -99
  217. package/src/api/core/vendor/phpmailer/phpmailer/examples/smtp.phps +0 -62
  218. package/src/api/core/vendor/phpmailer/phpmailer/examples/smtp_check.phps +0 -60
  219. package/src/api/core/vendor/phpmailer/phpmailer/examples/smtp_low_memory.phps +0 -117
  220. package/src/api/core/vendor/phpmailer/phpmailer/examples/smtp_no_auth.phps +0 -53
  221. package/src/api/core/vendor/phpmailer/phpmailer/examples/ssl_options.phps +0 -81
  222. package/src/api/core/vendor/phpmailer/phpmailer/phpcs.xml.dist +0 -52
  223. package/src/api/core/vendor/phpmailer/phpmailer/phpdoc.dist.xml +0 -20
  224. package/src/api/core/vendor/phpmailer/phpmailer/phpunit.xml.dist +0 -36
  225. package/src/api/core/vendor/phpmailer/phpmailer/test/DebugLogTestListener.php +0 -47
  226. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/accessible.txt +0 -1
  227. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/inaccessible.txt +0 -1
  228. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-fr.php +0 -10
  229. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-nl.php +0 -10
  230. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xa_scri_cc.php +0 -9
  231. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xb_scri.php +0 -9
  232. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xc_cc.php +0 -9
  233. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_cc.php +0 -9
  234. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_scri.php +0 -9
  235. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xe.php +0 -9
  236. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xx.php +0 -9
  237. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yy.php +0 -16
  238. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yz.php +0 -16
  239. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-zz.php +0 -20
  240. package/src/api/core/vendor/phpmailer/phpmailer/test/Language/TranslationCompletenessTest.php +0 -97
  241. package/src/api/core/vendor/phpmailer/phpmailer/test/OAuth/OAuthTest.php +0 -76
  242. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AddEmbeddedImageTest.php +0 -178
  243. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringAttachmentTest.php +0 -147
  244. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringEmbeddedImageTest.php +0 -161
  245. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AddrFormatTest.php +0 -70
  246. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AuthCRAMMD5Test.php +0 -48
  247. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/CustomHeaderTest.php +0 -285
  248. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMTest.php +0 -258
  249. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMWithoutExceptionsTest.php +0 -46
  250. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/DSNConfiguratorTest.php +0 -221
  251. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeQTest.php +0 -110
  252. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeStringTest.php +0 -135
  253. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/FileIsAccessibleTest.php +0 -103
  254. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/FilenameToTypeTest.php +0 -74
  255. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/GenerateIdTest.php +0 -75
  256. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/GetLastMessageIDTest.php +0 -110
  257. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/HasLineLongerThanMaxTest.php +0 -158
  258. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/Html2TextTest.php +0 -231
  259. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ICalTest.php +0 -126
  260. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/IsPermittedPathTest.php +0 -108
  261. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/IsValidHostTest.php +0 -107
  262. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/LocalizationTest.php +0 -505
  263. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/MailTransportTest.php +0 -261
  264. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/MbPathinfoTest.php +0 -171
  265. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/MimeTypesTest.php +0 -70
  266. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/NormalizeBreaksTest.php +0 -111
  267. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/PHPMailerTest.php +0 -1388
  268. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ParseAddressesTest.php +0 -321
  269. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/PunyencodeAddressTest.php +0 -141
  270. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/QuotedStringTest.php +0 -70
  271. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ReplyToGetSetClearTest.php +0 -444
  272. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/SetErrorTest.php +0 -154
  273. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/SetFromTest.php +0 -202
  274. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/SetTest.php +0 -81
  275. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/SetWordWrapTest.php +0 -120
  276. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/Utf8CharBoundaryTest.php +0 -66
  277. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressCustomValidatorTest.php +0 -116
  278. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressTest.php +0 -485
  279. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/WrapTextTest.php +0 -125
  280. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/XMailerTest.php +0 -75
  281. package/src/api/core/vendor/phpmailer/phpmailer/test/POP3/PopBeforeSmtpTest.php +0 -139
  282. package/src/api/core/vendor/phpmailer/phpmailer/test/PreSendTestCase.php +0 -46
  283. package/src/api/core/vendor/phpmailer/phpmailer/test/Security/DenialOfServiceVectorsTest.php +0 -52
  284. package/src/api/core/vendor/phpmailer/phpmailer/test/SendTestCase.php +0 -126
  285. package/src/api/core/vendor/phpmailer/phpmailer/test/TestCase.php +0 -392
  286. package/src/api/core/vendor/phpmailer/phpmailer/test/fakepopserver.sh +0 -126
  287. package/src/api/core/vendor/phpmailer/phpmailer/test/fakesendmail.sh +0 -22
  288. package/src/api/core/vendor/phpmailer/phpmailer/test/runfakepopserver.sh +0 -12
  289. package/src/api/core/vendor/phpmailer/phpmailer/test/testbootstrap-dist.php +0 -8
  290. package/src/api/core/vendor/phpmailer/phpmailer/test/validators.php +0 -12
  291. package/src/api/core/vendor/phpoption/phpoption/.gitattributes +0 -13
  292. package/src/api/core/vendor/phpoption/phpoption/.github/CODE_OF_CONDUCT.md +0 -132
  293. package/src/api/core/vendor/phpoption/phpoption/.github/CONTRIBUTING.md +0 -30
  294. package/src/api/core/vendor/phpoption/phpoption/.github/FUNDING.yml +0 -2
  295. package/src/api/core/vendor/phpoption/phpoption/.github/SECURITY.md +0 -14
  296. package/src/api/core/vendor/phpoption/phpoption/.github/workflows/static.yml +0 -40
  297. package/src/api/core/vendor/phpoption/phpoption/.github/workflows/tests.yml +0 -40
  298. package/src/api/core/vendor/phpoption/phpoption/Makefile +0 -17
  299. package/src/api/core/vendor/phpoption/phpoption/README.md +0 -201
  300. package/src/api/core/vendor/phpoption/phpoption/phpstan-baseline.neon +0 -44
  301. package/src/api/core/vendor/phpoption/phpoption/phpstan.neon.dist +0 -7
  302. package/src/api/core/vendor/phpoption/phpoption/phpunit.xml.dist +0 -13
  303. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +0 -72
  304. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +0 -357
  305. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +0 -153
  306. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +0 -166
  307. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +0 -194
  308. package/src/api/core/vendor/phpoption/phpoption/tests/bootstrap.php +0 -8
  309. package/src/api/core/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +0 -8
  310. package/src/api/core/vendor/vlucas/phpdotenv/.editorconfig +0 -15
  311. package/src/api/core/vendor/vlucas/phpdotenv/.gitattributes +0 -15
  312. package/src/api/core/vendor/vlucas/phpdotenv/.github/CODE_OF_CONDUCT.md +0 -132
  313. package/src/api/core/vendor/vlucas/phpdotenv/.github/CONTRIBUTING.md +0 -30
  314. package/src/api/core/vendor/vlucas/phpdotenv/.github/FUNDING.yml +0 -2
  315. package/src/api/core/vendor/vlucas/phpdotenv/.github/SECURITY.md +0 -14
  316. package/src/api/core/vendor/vlucas/phpdotenv/.github/workflows/static.yml +0 -40
  317. package/src/api/core/vendor/vlucas/phpdotenv/.github/workflows/tests.yml +0 -70
  318. package/src/api/core/vendor/vlucas/phpdotenv/Makefile +0 -17
  319. package/src/api/core/vendor/vlucas/phpdotenv/README.md +0 -370
  320. package/src/api/core/vendor/vlucas/phpdotenv/UPGRADING.md +0 -196
  321. package/src/api/core/vendor/vlucas/phpdotenv/phpstan-baseline.neon +0 -157
  322. package/src/api/core/vendor/vlucas/phpdotenv/phpstan.neon.dist +0 -7
  323. package/src/api/core/vendor/vlucas/phpdotenv/phpunit.xml.dist +0 -13
  324. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +0 -387
  325. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +0 -86
  326. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +0 -234
  327. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +0 -40
  328. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +0 -53
  329. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +0 -98
  330. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +0 -57
  331. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +0 -75
  332. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +0 -52
  333. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +0 -75
  334. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +0 -305
  335. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +0 -141
  336. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +0 -479
  337. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +0 -5
  338. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +0 -18
  339. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +0 -33
  340. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +0 -15
  341. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +0 -1
  342. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +0 -1
  343. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +0 -7
  344. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +0 -1
  345. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +0 -17
  346. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +0 -2
  347. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +0 -3
  348. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +0 -14
  349. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +0 -4
  350. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +0 -1
  351. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +0 -15
  352. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +0 -11
  353. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +0 -8
  354. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +0 -2
  355. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +0 -3
  356. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +0 -1
  357. package/src/api/core/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +0 -15
@@ -1,272 +1,272 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- namespace Dotenv\Repository;
6
-
7
- use Dotenv\Repository\Adapter\AdapterInterface;
8
- use Dotenv\Repository\Adapter\EnvConstAdapter;
9
- use Dotenv\Repository\Adapter\GuardedWriter;
10
- use Dotenv\Repository\Adapter\ImmutableWriter;
11
- use Dotenv\Repository\Adapter\MultiReader;
12
- use Dotenv\Repository\Adapter\MultiWriter;
13
- use Dotenv\Repository\Adapter\ReaderInterface;
14
- use Dotenv\Repository\Adapter\ServerConstAdapter;
15
- use Dotenv\Repository\Adapter\WriterInterface;
16
- use InvalidArgumentException;
17
- use PhpOption\Some;
18
- use ReflectionClass;
19
-
20
- final class RepositoryBuilder
21
- {
22
- /**
23
- * The set of default adapters.
24
- */
25
- private const DEFAULT_ADAPTERS = [
26
- ServerConstAdapter::class,
27
- EnvConstAdapter::class,
28
- ];
29
-
30
- /**
31
- * The set of readers to use.
32
- *
33
- * @var \Dotenv\Repository\Adapter\ReaderInterface[]
34
- */
35
- private $readers;
36
-
37
- /**
38
- * The set of writers to use.
39
- *
40
- * @var \Dotenv\Repository\Adapter\WriterInterface[]
41
- */
42
- private $writers;
43
-
44
- /**
45
- * Are we immutable?
46
- *
47
- * @var bool
48
- */
49
- private $immutable;
50
-
51
- /**
52
- * The variable name allow list.
53
- *
54
- * @var string[]|null
55
- */
56
- private $allowList;
57
-
58
- /**
59
- * Create a new repository builder instance.
60
- *
61
- * @param \Dotenv\Repository\Adapter\ReaderInterface[] $readers
62
- * @param \Dotenv\Repository\Adapter\WriterInterface[] $writers
63
- * @param bool $immutable
64
- * @param string[]|null $allowList
65
- *
66
- * @return void
67
- */
68
- private function __construct(array $readers = [], array $writers = [], bool $immutable = false, ?array $allowList = null)
69
- {
70
- $this->readers = $readers;
71
- $this->writers = $writers;
72
- $this->immutable = $immutable;
73
- $this->allowList = $allowList;
74
- }
75
-
76
- /**
77
- * Create a new repository builder instance with no adapters added.
78
- *
79
- * @return \Dotenv\Repository\RepositoryBuilder
80
- */
81
- public static function createWithNoAdapters()
82
- {
83
- return new self();
84
- }
85
-
86
- /**
87
- * Create a new repository builder instance with the default adapters added.
88
- *
89
- * @return \Dotenv\Repository\RepositoryBuilder
90
- */
91
- public static function createWithDefaultAdapters()
92
- {
93
- $adapters = \iterator_to_array(self::defaultAdapters());
94
-
95
- return new self($adapters, $adapters);
96
- }
97
-
98
- /**
99
- * Return the array of default adapters.
100
- *
101
- * @return \Generator<\Dotenv\Repository\Adapter\AdapterInterface>
102
- */
103
- private static function defaultAdapters()
104
- {
105
- foreach (self::DEFAULT_ADAPTERS as $adapter) {
106
- $instance = $adapter::create();
107
- if ($instance->isDefined()) {
108
- yield $instance->get();
109
- }
110
- }
111
- }
112
-
113
- /**
114
- * Determine if the given name if of an adapterclass.
115
- *
116
- * @param string $name
117
- *
118
- * @return bool
119
- */
120
- private static function isAnAdapterClass(string $name)
121
- {
122
- if (!\class_exists($name)) {
123
- return false;
124
- }
125
-
126
- return (new ReflectionClass($name))->implementsInterface(AdapterInterface::class);
127
- }
128
-
129
- /**
130
- * Creates a repository builder with the given reader added.
131
- *
132
- * Accepts either a reader instance, or a class-string for an adapter. If
133
- * the adapter is not supported, then we silently skip adding it.
134
- *
135
- * @param \Dotenv\Repository\Adapter\ReaderInterface|string $reader
136
- *
137
- * @throws \InvalidArgumentException
138
- *
139
- * @return \Dotenv\Repository\RepositoryBuilder
140
- */
141
- public function addReader($reader)
142
- {
143
- if (!(\is_string($reader) && self::isAnAdapterClass($reader)) && !($reader instanceof ReaderInterface)) {
144
- throw new InvalidArgumentException(
145
- \sprintf(
146
- 'Expected either an instance of %s or a class-string implementing %s',
147
- ReaderInterface::class,
148
- AdapterInterface::class
149
- )
150
- );
151
- }
152
-
153
- $optional = Some::create($reader)->flatMap(static function ($reader) {
154
- return \is_string($reader) ? $reader::create() : Some::create($reader);
155
- });
156
-
157
- $readers = \array_merge($this->readers, \iterator_to_array($optional));
158
-
159
- return new self($readers, $this->writers, $this->immutable, $this->allowList);
160
- }
161
-
162
- /**
163
- * Creates a repository builder with the given writer added.
164
- *
165
- * Accepts either a writer instance, or a class-string for an adapter. If
166
- * the adapter is not supported, then we silently skip adding it.
167
- *
168
- * @param \Dotenv\Repository\Adapter\WriterInterface|string $writer
169
- *
170
- * @throws \InvalidArgumentException
171
- *
172
- * @return \Dotenv\Repository\RepositoryBuilder
173
- */
174
- public function addWriter($writer)
175
- {
176
- if (!(\is_string($writer) && self::isAnAdapterClass($writer)) && !($writer instanceof WriterInterface)) {
177
- throw new InvalidArgumentException(
178
- \sprintf(
179
- 'Expected either an instance of %s or a class-string implementing %s',
180
- WriterInterface::class,
181
- AdapterInterface::class
182
- )
183
- );
184
- }
185
-
186
- $optional = Some::create($writer)->flatMap(static function ($writer) {
187
- return \is_string($writer) ? $writer::create() : Some::create($writer);
188
- });
189
-
190
- $writers = \array_merge($this->writers, \iterator_to_array($optional));
191
-
192
- return new self($this->readers, $writers, $this->immutable, $this->allowList);
193
- }
194
-
195
- /**
196
- * Creates a repository builder with the given adapter added.
197
- *
198
- * Accepts either an adapter instance, or a class-string for an adapter. If
199
- * the adapter is not supported, then we silently skip adding it. We will
200
- * add the adapter as both a reader and a writer.
201
- *
202
- * @param \Dotenv\Repository\Adapter\WriterInterface|string $adapter
203
- *
204
- * @throws \InvalidArgumentException
205
- *
206
- * @return \Dotenv\Repository\RepositoryBuilder
207
- */
208
- public function addAdapter($adapter)
209
- {
210
- if (!(\is_string($adapter) && self::isAnAdapterClass($adapter)) && !($adapter instanceof AdapterInterface)) {
211
- throw new InvalidArgumentException(
212
- \sprintf(
213
- 'Expected either an instance of %s or a class-string implementing %s',
214
- WriterInterface::class,
215
- AdapterInterface::class
216
- )
217
- );
218
- }
219
-
220
- $optional = Some::create($adapter)->flatMap(static function ($adapter) {
221
- return \is_string($adapter) ? $adapter::create() : Some::create($adapter);
222
- });
223
-
224
- $readers = \array_merge($this->readers, \iterator_to_array($optional));
225
- $writers = \array_merge($this->writers, \iterator_to_array($optional));
226
-
227
- return new self($readers, $writers, $this->immutable, $this->allowList);
228
- }
229
-
230
- /**
231
- * Creates a repository builder with mutability enabled.
232
- *
233
- * @return \Dotenv\Repository\RepositoryBuilder
234
- */
235
- public function immutable()
236
- {
237
- return new self($this->readers, $this->writers, true, $this->allowList);
238
- }
239
-
240
- /**
241
- * Creates a repository builder with the given allow list.
242
- *
243
- * @param string[]|null $allowList
244
- *
245
- * @return \Dotenv\Repository\RepositoryBuilder
246
- */
247
- public function allowList(?array $allowList = null)
248
- {
249
- return new self($this->readers, $this->writers, $this->immutable, $allowList);
250
- }
251
-
252
- /**
253
- * Creates a new repository instance.
254
- *
255
- * @return \Dotenv\Repository\RepositoryInterface
256
- */
257
- public function make()
258
- {
259
- $reader = new MultiReader($this->readers);
260
- $writer = new MultiWriter($this->writers);
261
-
262
- if ($this->immutable) {
263
- $writer = new ImmutableWriter($writer, $reader);
264
- }
265
-
266
- if ($this->allowList !== null) {
267
- $writer = new GuardedWriter($writer, $this->allowList);
268
- }
269
-
270
- return new AdapterRepository($reader, $writer);
271
- }
272
- }
1
+ <?php
2
+
3
+ declare(strict_types=1);
4
+
5
+ namespace Dotenv\Repository;
6
+
7
+ use Dotenv\Repository\Adapter\AdapterInterface;
8
+ use Dotenv\Repository\Adapter\EnvConstAdapter;
9
+ use Dotenv\Repository\Adapter\GuardedWriter;
10
+ use Dotenv\Repository\Adapter\ImmutableWriter;
11
+ use Dotenv\Repository\Adapter\MultiReader;
12
+ use Dotenv\Repository\Adapter\MultiWriter;
13
+ use Dotenv\Repository\Adapter\ReaderInterface;
14
+ use Dotenv\Repository\Adapter\ServerConstAdapter;
15
+ use Dotenv\Repository\Adapter\WriterInterface;
16
+ use InvalidArgumentException;
17
+ use PhpOption\Some;
18
+ use ReflectionClass;
19
+
20
+ final class RepositoryBuilder
21
+ {
22
+ /**
23
+ * The set of default adapters.
24
+ */
25
+ private const DEFAULT_ADAPTERS = [
26
+ ServerConstAdapter::class,
27
+ EnvConstAdapter::class,
28
+ ];
29
+
30
+ /**
31
+ * The set of readers to use.
32
+ *
33
+ * @var \Dotenv\Repository\Adapter\ReaderInterface[]
34
+ */
35
+ private $readers;
36
+
37
+ /**
38
+ * The set of writers to use.
39
+ *
40
+ * @var \Dotenv\Repository\Adapter\WriterInterface[]
41
+ */
42
+ private $writers;
43
+
44
+ /**
45
+ * Are we immutable?
46
+ *
47
+ * @var bool
48
+ */
49
+ private $immutable;
50
+
51
+ /**
52
+ * The variable name allow list.
53
+ *
54
+ * @var string[]|null
55
+ */
56
+ private $allowList;
57
+
58
+ /**
59
+ * Create a new repository builder instance.
60
+ *
61
+ * @param \Dotenv\Repository\Adapter\ReaderInterface[] $readers
62
+ * @param \Dotenv\Repository\Adapter\WriterInterface[] $writers
63
+ * @param bool $immutable
64
+ * @param string[]|null $allowList
65
+ *
66
+ * @return void
67
+ */
68
+ private function __construct(array $readers = [], array $writers = [], bool $immutable = false, ?array $allowList = null)
69
+ {
70
+ $this->readers = $readers;
71
+ $this->writers = $writers;
72
+ $this->immutable = $immutable;
73
+ $this->allowList = $allowList;
74
+ }
75
+
76
+ /**
77
+ * Create a new repository builder instance with no adapters added.
78
+ *
79
+ * @return \Dotenv\Repository\RepositoryBuilder
80
+ */
81
+ public static function createWithNoAdapters()
82
+ {
83
+ return new self();
84
+ }
85
+
86
+ /**
87
+ * Create a new repository builder instance with the default adapters added.
88
+ *
89
+ * @return \Dotenv\Repository\RepositoryBuilder
90
+ */
91
+ public static function createWithDefaultAdapters()
92
+ {
93
+ $adapters = \iterator_to_array(self::defaultAdapters());
94
+
95
+ return new self($adapters, $adapters);
96
+ }
97
+
98
+ /**
99
+ * Return the array of default adapters.
100
+ *
101
+ * @return \Generator<\Dotenv\Repository\Adapter\AdapterInterface>
102
+ */
103
+ private static function defaultAdapters()
104
+ {
105
+ foreach (self::DEFAULT_ADAPTERS as $adapter) {
106
+ $instance = $adapter::create();
107
+ if ($instance->isDefined()) {
108
+ yield $instance->get();
109
+ }
110
+ }
111
+ }
112
+
113
+ /**
114
+ * Determine if the given name if of an adapterclass.
115
+ *
116
+ * @param string $name
117
+ *
118
+ * @return bool
119
+ */
120
+ private static function isAnAdapterClass(string $name)
121
+ {
122
+ if (!\class_exists($name)) {
123
+ return false;
124
+ }
125
+
126
+ return (new ReflectionClass($name))->implementsInterface(AdapterInterface::class);
127
+ }
128
+
129
+ /**
130
+ * Creates a repository builder with the given reader added.
131
+ *
132
+ * Accepts either a reader instance, or a class-string for an adapter. If
133
+ * the adapter is not supported, then we silently skip adding it.
134
+ *
135
+ * @param \Dotenv\Repository\Adapter\ReaderInterface|string $reader
136
+ *
137
+ * @throws \InvalidArgumentException
138
+ *
139
+ * @return \Dotenv\Repository\RepositoryBuilder
140
+ */
141
+ public function addReader($reader)
142
+ {
143
+ if (!(\is_string($reader) && self::isAnAdapterClass($reader)) && !($reader instanceof ReaderInterface)) {
144
+ throw new InvalidArgumentException(
145
+ \sprintf(
146
+ 'Expected either an instance of %s or a class-string implementing %s',
147
+ ReaderInterface::class,
148
+ AdapterInterface::class
149
+ )
150
+ );
151
+ }
152
+
153
+ $optional = Some::create($reader)->flatMap(static function ($reader) {
154
+ return \is_string($reader) ? $reader::create() : Some::create($reader);
155
+ });
156
+
157
+ $readers = \array_merge($this->readers, \iterator_to_array($optional));
158
+
159
+ return new self($readers, $this->writers, $this->immutable, $this->allowList);
160
+ }
161
+
162
+ /**
163
+ * Creates a repository builder with the given writer added.
164
+ *
165
+ * Accepts either a writer instance, or a class-string for an adapter. If
166
+ * the adapter is not supported, then we silently skip adding it.
167
+ *
168
+ * @param \Dotenv\Repository\Adapter\WriterInterface|string $writer
169
+ *
170
+ * @throws \InvalidArgumentException
171
+ *
172
+ * @return \Dotenv\Repository\RepositoryBuilder
173
+ */
174
+ public function addWriter($writer)
175
+ {
176
+ if (!(\is_string($writer) && self::isAnAdapterClass($writer)) && !($writer instanceof WriterInterface)) {
177
+ throw new InvalidArgumentException(
178
+ \sprintf(
179
+ 'Expected either an instance of %s or a class-string implementing %s',
180
+ WriterInterface::class,
181
+ AdapterInterface::class
182
+ )
183
+ );
184
+ }
185
+
186
+ $optional = Some::create($writer)->flatMap(static function ($writer) {
187
+ return \is_string($writer) ? $writer::create() : Some::create($writer);
188
+ });
189
+
190
+ $writers = \array_merge($this->writers, \iterator_to_array($optional));
191
+
192
+ return new self($this->readers, $writers, $this->immutable, $this->allowList);
193
+ }
194
+
195
+ /**
196
+ * Creates a repository builder with the given adapter added.
197
+ *
198
+ * Accepts either an adapter instance, or a class-string for an adapter. If
199
+ * the adapter is not supported, then we silently skip adding it. We will
200
+ * add the adapter as both a reader and a writer.
201
+ *
202
+ * @param \Dotenv\Repository\Adapter\WriterInterface|string $adapter
203
+ *
204
+ * @throws \InvalidArgumentException
205
+ *
206
+ * @return \Dotenv\Repository\RepositoryBuilder
207
+ */
208
+ public function addAdapter($adapter)
209
+ {
210
+ if (!(\is_string($adapter) && self::isAnAdapterClass($adapter)) && !($adapter instanceof AdapterInterface)) {
211
+ throw new InvalidArgumentException(
212
+ \sprintf(
213
+ 'Expected either an instance of %s or a class-string implementing %s',
214
+ WriterInterface::class,
215
+ AdapterInterface::class
216
+ )
217
+ );
218
+ }
219
+
220
+ $optional = Some::create($adapter)->flatMap(static function ($adapter) {
221
+ return \is_string($adapter) ? $adapter::create() : Some::create($adapter);
222
+ });
223
+
224
+ $readers = \array_merge($this->readers, \iterator_to_array($optional));
225
+ $writers = \array_merge($this->writers, \iterator_to_array($optional));
226
+
227
+ return new self($readers, $writers, $this->immutable, $this->allowList);
228
+ }
229
+
230
+ /**
231
+ * Creates a repository builder with mutability enabled.
232
+ *
233
+ * @return \Dotenv\Repository\RepositoryBuilder
234
+ */
235
+ public function immutable()
236
+ {
237
+ return new self($this->readers, $this->writers, true, $this->allowList);
238
+ }
239
+
240
+ /**
241
+ * Creates a repository builder with the given allow list.
242
+ *
243
+ * @param string[]|null $allowList
244
+ *
245
+ * @return \Dotenv\Repository\RepositoryBuilder
246
+ */
247
+ public function allowList(?array $allowList = null)
248
+ {
249
+ return new self($this->readers, $this->writers, $this->immutable, $allowList);
250
+ }
251
+
252
+ /**
253
+ * Creates a new repository instance.
254
+ *
255
+ * @return \Dotenv\Repository\RepositoryInterface
256
+ */
257
+ public function make()
258
+ {
259
+ $reader = new MultiReader($this->readers);
260
+ $writer = new MultiWriter($this->writers);
261
+
262
+ if ($this->immutable) {
263
+ $writer = new ImmutableWriter($writer, $reader);
264
+ }
265
+
266
+ if ($this->allowList !== null) {
267
+ $writer = new GuardedWriter($writer, $this->allowList);
268
+ }
269
+
270
+ return new AdapterRepository($reader, $writer);
271
+ }
272
+ }
@@ -1,51 +1,51 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- namespace Dotenv\Repository;
6
-
7
- interface RepositoryInterface
8
- {
9
- /**
10
- * Determine if the given environment variable is defined.
11
- *
12
- * @param string $name
13
- *
14
- * @return bool
15
- */
16
- public function has(string $name);
17
-
18
- /**
19
- * Get an environment variable.
20
- *
21
- * @param string $name
22
- *
23
- * @throws \InvalidArgumentException
24
- *
25
- * @return string|null
26
- */
27
- public function get(string $name);
28
-
29
- /**
30
- * Set an environment variable.
31
- *
32
- * @param string $name
33
- * @param string $value
34
- *
35
- * @throws \InvalidArgumentException
36
- *
37
- * @return bool
38
- */
39
- public function set(string $name, string $value);
40
-
41
- /**
42
- * Clear an environment variable.
43
- *
44
- * @param string $name
45
- *
46
- * @throws \InvalidArgumentException
47
- *
48
- * @return bool
49
- */
50
- public function clear(string $name);
51
- }
1
+ <?php
2
+
3
+ declare(strict_types=1);
4
+
5
+ namespace Dotenv\Repository;
6
+
7
+ interface RepositoryInterface
8
+ {
9
+ /**
10
+ * Determine if the given environment variable is defined.
11
+ *
12
+ * @param string $name
13
+ *
14
+ * @return bool
15
+ */
16
+ public function has(string $name);
17
+
18
+ /**
19
+ * Get an environment variable.
20
+ *
21
+ * @param string $name
22
+ *
23
+ * @throws \InvalidArgumentException
24
+ *
25
+ * @return string|null
26
+ */
27
+ public function get(string $name);
28
+
29
+ /**
30
+ * Set an environment variable.
31
+ *
32
+ * @param string $name
33
+ * @param string $value
34
+ *
35
+ * @throws \InvalidArgumentException
36
+ *
37
+ * @return bool
38
+ */
39
+ public function set(string $name, string $value);
40
+
41
+ /**
42
+ * Clear an environment variable.
43
+ *
44
+ * @param string $name
45
+ *
46
+ * @throws \InvalidArgumentException
47
+ *
48
+ * @return bool
49
+ */
50
+ public function clear(string $name);
51
+ }