create-berna-stencil 1.0.14 → 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 (359) 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/endpoints/protected/{secret.php → prova-chiusa.php} +1 -1
  165. package/src/api/endpoints/public/{ping.php → prova-aperta.php} +1 -1
  166. package/src/api/core/vendor/graham-campbell/result-type/.gitattributes +0 -9
  167. package/src/api/core/vendor/graham-campbell/result-type/.github/CODE_OF_CONDUCT.md +0 -132
  168. package/src/api/core/vendor/graham-campbell/result-type/.github/CONTRIBUTING.md +0 -31
  169. package/src/api/core/vendor/graham-campbell/result-type/.github/FUNDING.yml +0 -2
  170. package/src/api/core/vendor/graham-campbell/result-type/.github/SECURITY.md +0 -14
  171. package/src/api/core/vendor/graham-campbell/result-type/.github/workflows/stale.yml +0 -11
  172. package/src/api/core/vendor/graham-campbell/result-type/.github/workflows/tests.yml +0 -40
  173. package/src/api/core/vendor/graham-campbell/result-type/CHANGELOG.md +0 -53
  174. package/src/api/core/vendor/graham-campbell/result-type/README.md +0 -42
  175. package/src/api/core/vendor/graham-campbell/result-type/phpunit.xml.dist +0 -13
  176. package/src/api/core/vendor/graham-campbell/result-type/tests/ResultTest.php +0 -95
  177. package/src/api/core/vendor/phpmailer/phpmailer/.codecov.yml +0 -21
  178. package/src/api/core/vendor/phpmailer/phpmailer/.editorconfig +0 -15
  179. package/src/api/core/vendor/phpmailer/phpmailer/.gitattributes +0 -17
  180. package/src/api/core/vendor/phpmailer/phpmailer/.github/FUNDING.yml +0 -6
  181. package/src/api/core/vendor/phpmailer/phpmailer/.github/ISSUE_TEMPLATE/bug_report.md +0 -23
  182. package/src/api/core/vendor/phpmailer/phpmailer/.github/actions/build-docs/Dockerfile +0 -15
  183. package/src/api/core/vendor/phpmailer/phpmailer/.github/actions/build-docs/entrypoint.sh +0 -5
  184. package/src/api/core/vendor/phpmailer/phpmailer/.github/dependabot.yml +0 -21
  185. package/src/api/core/vendor/phpmailer/phpmailer/.github/workflows/docs.yaml +0 -30
  186. package/src/api/core/vendor/phpmailer/phpmailer/.github/workflows/scorecards.yml +0 -61
  187. package/src/api/core/vendor/phpmailer/phpmailer/.github/workflows/tests.yml +0 -237
  188. package/src/api/core/vendor/phpmailer/phpmailer/.phan/config.php +0 -41
  189. package/src/api/core/vendor/phpmailer/phpmailer/UPGRADING.md +0 -125
  190. package/src/api/core/vendor/phpmailer/phpmailer/changelog.md +0 -1122
  191. package/src/api/core/vendor/phpmailer/phpmailer/docs/README.md +0 -9
  192. package/src/api/core/vendor/phpmailer/phpmailer/examples/DKIM_gen_keys.phps +0 -81
  193. package/src/api/core/vendor/phpmailer/phpmailer/examples/DKIM_sign.phps +0 -46
  194. package/src/api/core/vendor/phpmailer/phpmailer/examples/README.md +0 -96
  195. package/src/api/core/vendor/phpmailer/phpmailer/examples/azure_xoauth2.phps +0 -126
  196. package/src/api/core/vendor/phpmailer/phpmailer/examples/callback.phps +0 -76
  197. package/src/api/core/vendor/phpmailer/phpmailer/examples/contactform-ajax.phps +0 -146
  198. package/src/api/core/vendor/phpmailer/phpmailer/examples/contactform.phps +0 -95
  199. package/src/api/core/vendor/phpmailer/phpmailer/examples/contents.html +0 -17
  200. package/src/api/core/vendor/phpmailer/phpmailer/examples/contentsutf8.html +0 -23
  201. package/src/api/core/vendor/phpmailer/phpmailer/examples/exceptions.phps +0 -40
  202. package/src/api/core/vendor/phpmailer/phpmailer/examples/extending.phps +0 -72
  203. package/src/api/core/vendor/phpmailer/phpmailer/examples/gmail.phps +0 -106
  204. package/src/api/core/vendor/phpmailer/phpmailer/examples/gmail_xoauth.phps +0 -121
  205. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.afdesign +0 -0
  206. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.png +0 -0
  207. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.svg +0 -209
  208. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/phpmailer.png +0 -0
  209. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/phpmailer_mini.png +0 -0
  210. package/src/api/core/vendor/phpmailer/phpmailer/examples/mail.phps +0 -35
  211. package/src/api/core/vendor/phpmailer/phpmailer/examples/mailing_list.phps +0 -96
  212. package/src/api/core/vendor/phpmailer/phpmailer/examples/pop_before_smtp.phps +0 -60
  213. package/src/api/core/vendor/phpmailer/phpmailer/examples/send_file_upload.phps +0 -60
  214. package/src/api/core/vendor/phpmailer/phpmailer/examples/send_multiple_file_upload.phps +0 -60
  215. package/src/api/core/vendor/phpmailer/phpmailer/examples/sendmail.phps +0 -37
  216. package/src/api/core/vendor/phpmailer/phpmailer/examples/sendoauth2.phps +0 -100
  217. package/src/api/core/vendor/phpmailer/phpmailer/examples/simple_contact_form.phps +0 -102
  218. package/src/api/core/vendor/phpmailer/phpmailer/examples/smime_signed_mail.phps +0 -99
  219. package/src/api/core/vendor/phpmailer/phpmailer/examples/smtp.phps +0 -62
  220. package/src/api/core/vendor/phpmailer/phpmailer/examples/smtp_check.phps +0 -60
  221. package/src/api/core/vendor/phpmailer/phpmailer/examples/smtp_low_memory.phps +0 -117
  222. package/src/api/core/vendor/phpmailer/phpmailer/examples/smtp_no_auth.phps +0 -53
  223. package/src/api/core/vendor/phpmailer/phpmailer/examples/ssl_options.phps +0 -81
  224. package/src/api/core/vendor/phpmailer/phpmailer/phpcs.xml.dist +0 -52
  225. package/src/api/core/vendor/phpmailer/phpmailer/phpdoc.dist.xml +0 -20
  226. package/src/api/core/vendor/phpmailer/phpmailer/phpunit.xml.dist +0 -36
  227. package/src/api/core/vendor/phpmailer/phpmailer/test/DebugLogTestListener.php +0 -47
  228. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/accessible.txt +0 -1
  229. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/inaccessible.txt +0 -1
  230. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-fr.php +0 -10
  231. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-nl.php +0 -10
  232. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xa_scri_cc.php +0 -9
  233. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xb_scri.php +0 -9
  234. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xc_cc.php +0 -9
  235. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_cc.php +0 -9
  236. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_scri.php +0 -9
  237. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xe.php +0 -9
  238. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xx.php +0 -9
  239. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yy.php +0 -16
  240. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yz.php +0 -16
  241. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-zz.php +0 -20
  242. package/src/api/core/vendor/phpmailer/phpmailer/test/Language/TranslationCompletenessTest.php +0 -97
  243. package/src/api/core/vendor/phpmailer/phpmailer/test/OAuth/OAuthTest.php +0 -76
  244. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AddEmbeddedImageTest.php +0 -178
  245. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringAttachmentTest.php +0 -147
  246. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringEmbeddedImageTest.php +0 -161
  247. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AddrFormatTest.php +0 -70
  248. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AuthCRAMMD5Test.php +0 -48
  249. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/CustomHeaderTest.php +0 -285
  250. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMTest.php +0 -258
  251. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMWithoutExceptionsTest.php +0 -46
  252. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/DSNConfiguratorTest.php +0 -221
  253. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeQTest.php +0 -110
  254. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeStringTest.php +0 -135
  255. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/FileIsAccessibleTest.php +0 -103
  256. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/FilenameToTypeTest.php +0 -74
  257. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/GenerateIdTest.php +0 -75
  258. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/GetLastMessageIDTest.php +0 -110
  259. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/HasLineLongerThanMaxTest.php +0 -158
  260. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/Html2TextTest.php +0 -231
  261. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ICalTest.php +0 -126
  262. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/IsPermittedPathTest.php +0 -108
  263. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/IsValidHostTest.php +0 -107
  264. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/LocalizationTest.php +0 -505
  265. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/MailTransportTest.php +0 -261
  266. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/MbPathinfoTest.php +0 -171
  267. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/MimeTypesTest.php +0 -70
  268. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/NormalizeBreaksTest.php +0 -111
  269. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/PHPMailerTest.php +0 -1388
  270. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ParseAddressesTest.php +0 -321
  271. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/PunyencodeAddressTest.php +0 -141
  272. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/QuotedStringTest.php +0 -70
  273. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ReplyToGetSetClearTest.php +0 -444
  274. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/SetErrorTest.php +0 -154
  275. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/SetFromTest.php +0 -202
  276. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/SetTest.php +0 -81
  277. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/SetWordWrapTest.php +0 -120
  278. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/Utf8CharBoundaryTest.php +0 -66
  279. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressCustomValidatorTest.php +0 -116
  280. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressTest.php +0 -485
  281. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/WrapTextTest.php +0 -125
  282. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/XMailerTest.php +0 -75
  283. package/src/api/core/vendor/phpmailer/phpmailer/test/POP3/PopBeforeSmtpTest.php +0 -139
  284. package/src/api/core/vendor/phpmailer/phpmailer/test/PreSendTestCase.php +0 -46
  285. package/src/api/core/vendor/phpmailer/phpmailer/test/Security/DenialOfServiceVectorsTest.php +0 -52
  286. package/src/api/core/vendor/phpmailer/phpmailer/test/SendTestCase.php +0 -126
  287. package/src/api/core/vendor/phpmailer/phpmailer/test/TestCase.php +0 -392
  288. package/src/api/core/vendor/phpmailer/phpmailer/test/fakepopserver.sh +0 -126
  289. package/src/api/core/vendor/phpmailer/phpmailer/test/fakesendmail.sh +0 -22
  290. package/src/api/core/vendor/phpmailer/phpmailer/test/runfakepopserver.sh +0 -12
  291. package/src/api/core/vendor/phpmailer/phpmailer/test/testbootstrap-dist.php +0 -8
  292. package/src/api/core/vendor/phpmailer/phpmailer/test/validators.php +0 -12
  293. package/src/api/core/vendor/phpoption/phpoption/.gitattributes +0 -13
  294. package/src/api/core/vendor/phpoption/phpoption/.github/CODE_OF_CONDUCT.md +0 -132
  295. package/src/api/core/vendor/phpoption/phpoption/.github/CONTRIBUTING.md +0 -30
  296. package/src/api/core/vendor/phpoption/phpoption/.github/FUNDING.yml +0 -2
  297. package/src/api/core/vendor/phpoption/phpoption/.github/SECURITY.md +0 -14
  298. package/src/api/core/vendor/phpoption/phpoption/.github/workflows/static.yml +0 -40
  299. package/src/api/core/vendor/phpoption/phpoption/.github/workflows/tests.yml +0 -40
  300. package/src/api/core/vendor/phpoption/phpoption/Makefile +0 -17
  301. package/src/api/core/vendor/phpoption/phpoption/README.md +0 -201
  302. package/src/api/core/vendor/phpoption/phpoption/phpstan-baseline.neon +0 -44
  303. package/src/api/core/vendor/phpoption/phpoption/phpstan.neon.dist +0 -7
  304. package/src/api/core/vendor/phpoption/phpoption/phpunit.xml.dist +0 -13
  305. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +0 -72
  306. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +0 -357
  307. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +0 -153
  308. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +0 -166
  309. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +0 -194
  310. package/src/api/core/vendor/phpoption/phpoption/tests/bootstrap.php +0 -8
  311. package/src/api/core/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +0 -8
  312. package/src/api/core/vendor/vlucas/phpdotenv/.editorconfig +0 -15
  313. package/src/api/core/vendor/vlucas/phpdotenv/.gitattributes +0 -15
  314. package/src/api/core/vendor/vlucas/phpdotenv/.github/CODE_OF_CONDUCT.md +0 -132
  315. package/src/api/core/vendor/vlucas/phpdotenv/.github/CONTRIBUTING.md +0 -30
  316. package/src/api/core/vendor/vlucas/phpdotenv/.github/FUNDING.yml +0 -2
  317. package/src/api/core/vendor/vlucas/phpdotenv/.github/SECURITY.md +0 -14
  318. package/src/api/core/vendor/vlucas/phpdotenv/.github/workflows/static.yml +0 -40
  319. package/src/api/core/vendor/vlucas/phpdotenv/.github/workflows/tests.yml +0 -70
  320. package/src/api/core/vendor/vlucas/phpdotenv/Makefile +0 -17
  321. package/src/api/core/vendor/vlucas/phpdotenv/README.md +0 -370
  322. package/src/api/core/vendor/vlucas/phpdotenv/UPGRADING.md +0 -196
  323. package/src/api/core/vendor/vlucas/phpdotenv/phpstan-baseline.neon +0 -157
  324. package/src/api/core/vendor/vlucas/phpdotenv/phpstan.neon.dist +0 -7
  325. package/src/api/core/vendor/vlucas/phpdotenv/phpunit.xml.dist +0 -13
  326. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +0 -387
  327. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +0 -86
  328. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +0 -234
  329. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +0 -40
  330. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +0 -53
  331. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +0 -98
  332. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +0 -57
  333. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +0 -75
  334. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +0 -52
  335. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +0 -75
  336. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +0 -305
  337. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +0 -141
  338. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +0 -479
  339. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +0 -5
  340. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +0 -18
  341. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +0 -33
  342. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +0 -15
  343. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +0 -1
  344. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +0 -1
  345. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +0 -7
  346. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +0 -1
  347. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +0 -17
  348. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +0 -2
  349. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +0 -3
  350. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +0 -14
  351. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +0 -4
  352. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +0 -1
  353. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +0 -15
  354. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +0 -11
  355. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +0 -8
  356. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +0 -2
  357. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +0 -3
  358. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +0 -1
  359. 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
+ }