create-berna-stencil 2.6.2 → 2.6.3

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 (188) hide show
  1. package/README.md +1 -1
  2. package/_tools/buildJs.js +1 -1
  3. package/_tools/cleanOutput.js +1 -1
  4. package/package.json +2 -2
  5. package/out/.htaccess +0 -16
  6. package/out/404.html +0 -163
  7. package/out/assets/brand/favicon.svg +0 -37
  8. package/out/assets/brand/logo.svg +0 -37
  9. package/out/backend/.htaccess +0 -7
  10. package/out/backend/_core/composer.json +0 -5
  11. package/out/backend/_core/composer.lock +0 -492
  12. package/out/backend/_core/index.php +0 -148
  13. package/out/backend/_core/init.php +0 -34
  14. package/out/backend/_core/modules/RateLimiter.php +0 -31
  15. package/out/backend/_core/modules/Response.php +0 -49
  16. package/out/backend/_core/vendor/autoload.php +0 -22
  17. package/out/backend/_core/vendor/composer/ClassLoader.php +0 -579
  18. package/out/backend/_core/vendor/composer/InstalledVersions.php +0 -396
  19. package/out/backend/_core/vendor/composer/LICENSE +0 -21
  20. package/out/backend/_core/vendor/composer/autoload_classmap.php +0 -15
  21. package/out/backend/_core/vendor/composer/autoload_files.php +0 -12
  22. package/out/backend/_core/vendor/composer/autoload_namespaces.php +0 -9
  23. package/out/backend/_core/vendor/composer/autoload_psr4.php +0 -15
  24. package/out/backend/_core/vendor/composer/autoload_real.php +0 -50
  25. package/out/backend/_core/vendor/composer/autoload_static.php +0 -81
  26. package/out/backend/_core/vendor/composer/installed.json +0 -497
  27. package/out/backend/_core/vendor/composer/installed.php +0 -77
  28. package/out/backend/_core/vendor/composer/platform_check.php +0 -25
  29. package/out/backend/_core/vendor/graham-campbell/result-type/CHANGELOG.md +0 -53
  30. package/out/backend/_core/vendor/graham-campbell/result-type/LICENSE +0 -21
  31. package/out/backend/_core/vendor/graham-campbell/result-type/README.md +0 -42
  32. package/out/backend/_core/vendor/graham-campbell/result-type/composer.json +0 -33
  33. package/out/backend/_core/vendor/graham-campbell/result-type/phpunit.xml.dist +0 -13
  34. package/out/backend/_core/vendor/graham-campbell/result-type/src/Error.php +0 -121
  35. package/out/backend/_core/vendor/graham-campbell/result-type/src/Result.php +0 -69
  36. package/out/backend/_core/vendor/graham-campbell/result-type/src/Success.php +0 -120
  37. package/out/backend/_core/vendor/graham-campbell/result-type/tests/ResultTest.php +0 -95
  38. package/out/backend/_core/vendor/phpoption/phpoption/LICENSE +0 -201
  39. package/out/backend/_core/vendor/phpoption/phpoption/Makefile +0 -17
  40. package/out/backend/_core/vendor/phpoption/phpoption/README.md +0 -201
  41. package/out/backend/_core/vendor/phpoption/phpoption/composer.json +0 -50
  42. package/out/backend/_core/vendor/phpoption/phpoption/phpstan-baseline.neon +0 -44
  43. package/out/backend/_core/vendor/phpoption/phpoption/phpstan.neon.dist +0 -7
  44. package/out/backend/_core/vendor/phpoption/phpoption/phpunit.xml.dist +0 -13
  45. package/out/backend/_core/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +0 -175
  46. package/out/backend/_core/vendor/phpoption/phpoption/src/PhpOption/None.php +0 -136
  47. package/out/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Option.php +0 -434
  48. package/out/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Some.php +0 -169
  49. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +0 -72
  50. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +0 -357
  51. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +0 -153
  52. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +0 -166
  53. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +0 -194
  54. package/out/backend/_core/vendor/phpoption/phpoption/tests/bootstrap.php +0 -8
  55. package/out/backend/_core/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +0 -8
  56. package/out/backend/_core/vendor/symfony/polyfill-ctype/Ctype.php +0 -232
  57. package/out/backend/_core/vendor/symfony/polyfill-ctype/LICENSE +0 -19
  58. package/out/backend/_core/vendor/symfony/polyfill-ctype/README.md +0 -12
  59. package/out/backend/_core/vendor/symfony/polyfill-ctype/bootstrap.php +0 -50
  60. package/out/backend/_core/vendor/symfony/polyfill-ctype/bootstrap80.php +0 -46
  61. package/out/backend/_core/vendor/symfony/polyfill-ctype/composer.json +0 -38
  62. package/out/backend/_core/vendor/symfony/polyfill-mbstring/LICENSE +0 -19
  63. package/out/backend/_core/vendor/symfony/polyfill-mbstring/Mbstring.php +0 -1077
  64. package/out/backend/_core/vendor/symfony/polyfill-mbstring/README.md +0 -13
  65. package/out/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +0 -119
  66. package/out/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +0 -1397
  67. package/out/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +0 -5
  68. package/out/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +0 -1489
  69. package/out/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap.php +0 -171
  70. package/out/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap80.php +0 -167
  71. package/out/backend/_core/vendor/symfony/polyfill-mbstring/composer.json +0 -39
  72. package/out/backend/_core/vendor/symfony/polyfill-php80/LICENSE +0 -19
  73. package/out/backend/_core/vendor/symfony/polyfill-php80/Php80.php +0 -115
  74. package/out/backend/_core/vendor/symfony/polyfill-php80/PhpToken.php +0 -106
  75. package/out/backend/_core/vendor/symfony/polyfill-php80/README.md +0 -25
  76. package/out/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +0 -31
  77. package/out/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +0 -16
  78. package/out/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +0 -20
  79. package/out/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +0 -16
  80. package/out/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +0 -16
  81. package/out/backend/_core/vendor/symfony/polyfill-php80/bootstrap.php +0 -42
  82. package/out/backend/_core/vendor/symfony/polyfill-php80/composer.json +0 -37
  83. package/out/backend/_core/vendor/vlucas/phpdotenv/.editorconfig +0 -15
  84. package/out/backend/_core/vendor/vlucas/phpdotenv/LICENSE +0 -30
  85. package/out/backend/_core/vendor/vlucas/phpdotenv/Makefile +0 -17
  86. package/out/backend/_core/vendor/vlucas/phpdotenv/README.md +0 -370
  87. package/out/backend/_core/vendor/vlucas/phpdotenv/UPGRADING.md +0 -196
  88. package/out/backend/_core/vendor/vlucas/phpdotenv/composer.json +0 -60
  89. package/out/backend/_core/vendor/vlucas/phpdotenv/phpstan-baseline.neon +0 -157
  90. package/out/backend/_core/vendor/vlucas/phpdotenv/phpstan.neon.dist +0 -7
  91. package/out/backend/_core/vendor/vlucas/phpdotenv/phpunit.xml.dist +0 -13
  92. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Dotenv.php +0 -267
  93. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +0 -12
  94. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +0 -12
  95. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +0 -12
  96. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +0 -12
  97. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +0 -12
  98. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Loader.php +0 -48
  99. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +0 -20
  100. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +0 -65
  101. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Entry.php +0 -59
  102. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +0 -299
  103. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +0 -58
  104. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lines.php +0 -127
  105. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Parser.php +0 -53
  106. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +0 -19
  107. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Value.php +0 -88
  108. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +0 -15
  109. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +0 -89
  110. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +0 -80
  111. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +0 -88
  112. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +0 -85
  113. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +0 -110
  114. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +0 -48
  115. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +0 -64
  116. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +0 -91
  117. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +0 -17
  118. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +0 -104
  119. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +0 -88
  120. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +0 -27
  121. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +0 -107
  122. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +0 -272
  123. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +0 -51
  124. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +0 -44
  125. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +0 -81
  126. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Store/FileStore.php +0 -72
  127. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +0 -141
  128. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +0 -17
  129. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Store/StringStore.php +0 -37
  130. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Util/Regex.php +0 -112
  131. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Util/Str.php +0 -108
  132. package/out/backend/_core/vendor/vlucas/phpdotenv/src/Validator.php +0 -207
  133. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +0 -387
  134. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +0 -86
  135. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +0 -234
  136. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +0 -40
  137. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +0 -53
  138. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +0 -98
  139. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +0 -57
  140. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +0 -75
  141. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +0 -52
  142. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +0 -75
  143. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +0 -305
  144. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +0 -141
  145. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +0 -479
  146. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +0 -5
  147. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +0 -18
  148. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +0 -33
  149. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +0 -15
  150. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +0 -1
  151. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +0 -1
  152. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +0 -7
  153. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +0 -1
  154. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +0 -17
  155. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +0 -2
  156. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +0 -3
  157. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +0 -14
  158. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +0 -4
  159. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +0 -1
  160. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +0 -15
  161. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +0 -11
  162. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +0 -8
  163. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +0 -2
  164. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +0 -3
  165. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +0 -1
  166. package/out/backend/_core/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +0 -15
  167. package/out/backend/api/protected/example-protected.php +0 -17
  168. package/out/backend/api/public/example-public.php +0 -17
  169. package/out/backend/database/Database.php +0 -24
  170. package/out/backend/database/migrations/create_example_db.sql +0 -1
  171. package/out/backend/web.config +0 -17
  172. package/out/css/fonts/bootstrap-icons.woff +0 -0
  173. package/out/css/fonts/bootstrap-icons.woff2 +0 -0
  174. package/out/css/github-markdown-dark.css +0 -1124
  175. package/out/css/github-markdown-light.css +0 -1124
  176. package/out/css/pages/404.css +0 -21517
  177. package/out/css/pages/homepage.css +0 -21508
  178. package/out/data/site.json +0 -44
  179. package/out/index.html +0 -1147
  180. package/out/js/bootstrap.bundle.min.js +0 -7
  181. package/out/js/pages/js/pages/404.js +0 -6
  182. package/out/js/pages/js/pages/homepage.js +0 -6
  183. package/out/js/pages/ts/pages/404.js +0 -6
  184. package/out/js/pages/ts/pages/homepage.js +0 -6
  185. package/out/llms.txt +0 -14
  186. package/out/robots.txt +0 -4
  187. package/out/sitemap.xml +0 -15
  188. package/out/web.config +0 -27
@@ -1,42 +0,0 @@
1
- Result Type
2
- ===========
3
-
4
- Result Type was created by, and is maintained by [Graham Campbell](https://github.com/GrahamCampbell), and is an implementation of the result type. Feel free to check out the [change log](CHANGELOG.md), [releases](https://github.com/GrahamCampbell/Result-Type/releases), [security policy](https://github.com/GrahamCampbell/Result-Type/security/policy), [license](LICENSE), [code of conduct](.github/CODE_OF_CONDUCT.md), and [contribution guidelines](.github/CONTRIBUTING.md).
5
-
6
- ![Banner](https://user-images.githubusercontent.com/2829600/77233209-f86aae80-6b9d-11ea-9cef-81501c9e858d.png)
7
-
8
- <p align="center">
9
- <a href="https://github.com/GrahamCampbell/Result-Type/actions?query=workflow%3ATests"><img src="https://img.shields.io/github/actions/workflow/status/GrahamCampbell/Result-Type/tests.yml?label=Tests&style=flat-square" alt="Build Status"></img></a>
10
- <a href="https://github.styleci.io/repos/249026522"><img src="https://github.styleci.io/repos/249026522/shield" alt="StyleCI Status"></img></a>
11
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-brightgreen?style=flat-square" alt="Software License"></img></a>
12
- <a href="https://packagist.org/packages/graham-campbell/result-type"><img src="https://img.shields.io/packagist/dt/graham-campbell/result-type?style=flat-square" alt="Packagist Downloads"></img></a>
13
- <a href="https://github.com/GrahamCampbell/Result-Type/releases"><img src="https://img.shields.io/github/release/GrahamCampbell/Result-Type?style=flat-square" alt="Latest Version"></img></a>
14
- </p>
15
-
16
-
17
- ## Installation
18
-
19
- This version requires [PHP](https://www.php.net/) 7.2.5-8.5.
20
-
21
- To get the latest version, simply require the project using [Composer](https://getcomposer.org/):
22
-
23
- ```bash
24
- $ composer require "graham-campbell/result-type:^1.1"
25
- ```
26
-
27
-
28
- ## Security
29
-
30
- If you discover a security vulnerability within this package, please send an email to security@tidelift.com. All security vulnerabilities will be promptly addressed. You may view our full security policy [here](https://github.com/GrahamCampbell/Result-Type/security/policy).
31
-
32
-
33
- ## License
34
-
35
- Result Type is licensed under [The MIT License (MIT)](LICENSE).
36
-
37
-
38
- ## For Enterprise
39
-
40
- Available as part of the Tidelift Subscription
41
-
42
- The maintainers of `graham-campbell/result-type` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/packagist-graham-campbell-result-type?utm_source=packagist-graham-campbell-result-type&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
@@ -1,33 +0,0 @@
1
- {
2
- "name": "graham-campbell/result-type",
3
- "description": "An Implementation Of The Result Type",
4
- "keywords": ["result", "result-type", "Result", "Result Type", "Result-Type", "Graham Campbell", "GrahamCampbell"],
5
- "license": "MIT",
6
- "authors": [
7
- {
8
- "name": "Graham Campbell",
9
- "email": "hello@gjcampbell.co.uk",
10
- "homepage": "https://github.com/GrahamCampbell"
11
- }
12
- ],
13
- "require": {
14
- "php": "^7.2.5 || ^8.0",
15
- "phpoption/phpoption": "^1.9.5"
16
- },
17
- "require-dev": {
18
- "phpunit/phpunit": "^8.5.41 || ^9.6.22 || ^10.5.45 || ^11.5.7"
19
- },
20
- "autoload": {
21
- "psr-4": {
22
- "GrahamCampbell\\ResultType\\": "src/"
23
- }
24
- },
25
- "autoload-dev": {
26
- "psr-4": {
27
- "GrahamCampbell\\Tests\\ResultType\\": "tests/"
28
- }
29
- },
30
- "config": {
31
- "preferred-install": "dist"
32
- }
33
- }
@@ -1,13 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="false" beStrictAboutTestsThatDoNotTestAnything="true" beStrictAboutOutputDuringTests="true" bootstrap="vendor/autoload.php" colors="true" failOnRisky="true" failOnWarning="true" processIsolation="false" stopOnError="false" stopOnFailure="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.4/phpunit.xsd">
3
- <testsuites>
4
- <testsuite name="Result Type Test Suite">
5
- <directory suffix="Test.php">./tests</directory>
6
- </testsuite>
7
- </testsuites>
8
- <source>
9
- <include>
10
- <directory suffix=".php">./src</directory>
11
- </include>
12
- </source>
13
- </phpunit>
@@ -1,121 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- /*
6
- * This file is part of Result Type.
7
- *
8
- * (c) Graham Campbell <hello@gjcampbell.co.uk>
9
- *
10
- * For the full copyright and license information, please view the LICENSE
11
- * file that was distributed with this source code.
12
- */
13
-
14
- namespace GrahamCampbell\ResultType;
15
-
16
- use PhpOption\None;
17
- use PhpOption\Some;
18
-
19
- /**
20
- * @template T
21
- * @template E
22
- *
23
- * @extends \GrahamCampbell\ResultType\Result<T,E>
24
- */
25
- final class Error extends Result
26
- {
27
- /**
28
- * @var E
29
- */
30
- private $value;
31
-
32
- /**
33
- * Internal constructor for an error value.
34
- *
35
- * @param E $value
36
- *
37
- * @return void
38
- */
39
- private function __construct($value)
40
- {
41
- $this->value = $value;
42
- }
43
-
44
- /**
45
- * Create a new error value.
46
- *
47
- * @template F
48
- *
49
- * @param F $value
50
- *
51
- * @return \GrahamCampbell\ResultType\Result<T,F>
52
- */
53
- public static function create($value)
54
- {
55
- return new self($value);
56
- }
57
-
58
- /**
59
- * Get the success option value.
60
- *
61
- * @return \PhpOption\Option<T>
62
- */
63
- public function success()
64
- {
65
- return None::create();
66
- }
67
-
68
- /**
69
- * Map over the success value.
70
- *
71
- * @template S
72
- *
73
- * @param callable(T):S $f
74
- *
75
- * @return \GrahamCampbell\ResultType\Result<S,E>
76
- */
77
- public function map(callable $f)
78
- {
79
- return self::create($this->value);
80
- }
81
-
82
- /**
83
- * Flat map over the success value.
84
- *
85
- * @template S
86
- * @template F
87
- *
88
- * @param callable(T):\GrahamCampbell\ResultType\Result<S,F> $f
89
- *
90
- * @return \GrahamCampbell\ResultType\Result<S,F>
91
- */
92
- public function flatMap(callable $f)
93
- {
94
- /** @var \GrahamCampbell\ResultType\Result<S,F> */
95
- return self::create($this->value);
96
- }
97
-
98
- /**
99
- * Get the error option value.
100
- *
101
- * @return \PhpOption\Option<E>
102
- */
103
- public function error()
104
- {
105
- return Some::create($this->value);
106
- }
107
-
108
- /**
109
- * Map over the error value.
110
- *
111
- * @template F
112
- *
113
- * @param callable(E):F $f
114
- *
115
- * @return \GrahamCampbell\ResultType\Result<T,F>
116
- */
117
- public function mapError(callable $f)
118
- {
119
- return self::create($f($this->value));
120
- }
121
- }
@@ -1,69 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- /*
6
- * This file is part of Result Type.
7
- *
8
- * (c) Graham Campbell <hello@gjcampbell.co.uk>
9
- *
10
- * For the full copyright and license information, please view the LICENSE
11
- * file that was distributed with this source code.
12
- */
13
-
14
- namespace GrahamCampbell\ResultType;
15
-
16
- /**
17
- * @template T
18
- * @template E
19
- */
20
- abstract class Result
21
- {
22
- /**
23
- * Get the success option value.
24
- *
25
- * @return \PhpOption\Option<T>
26
- */
27
- abstract public function success();
28
-
29
- /**
30
- * Map over the success value.
31
- *
32
- * @template S
33
- *
34
- * @param callable(T):S $f
35
- *
36
- * @return \GrahamCampbell\ResultType\Result<S,E>
37
- */
38
- abstract public function map(callable $f);
39
-
40
- /**
41
- * Flat map over the success value.
42
- *
43
- * @template S
44
- * @template F
45
- *
46
- * @param callable(T):\GrahamCampbell\ResultType\Result<S,F> $f
47
- *
48
- * @return \GrahamCampbell\ResultType\Result<S,F>
49
- */
50
- abstract public function flatMap(callable $f);
51
-
52
- /**
53
- * Get the error option value.
54
- *
55
- * @return \PhpOption\Option<E>
56
- */
57
- abstract public function error();
58
-
59
- /**
60
- * Map over the error value.
61
- *
62
- * @template F
63
- *
64
- * @param callable(E):F $f
65
- *
66
- * @return \GrahamCampbell\ResultType\Result<T,F>
67
- */
68
- abstract public function mapError(callable $f);
69
- }
@@ -1,120 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- /*
6
- * This file is part of Result Type.
7
- *
8
- * (c) Graham Campbell <hello@gjcampbell.co.uk>
9
- *
10
- * For the full copyright and license information, please view the LICENSE
11
- * file that was distributed with this source code.
12
- */
13
-
14
- namespace GrahamCampbell\ResultType;
15
-
16
- use PhpOption\None;
17
- use PhpOption\Some;
18
-
19
- /**
20
- * @template T
21
- * @template E
22
- *
23
- * @extends \GrahamCampbell\ResultType\Result<T,E>
24
- */
25
- final class Success extends Result
26
- {
27
- /**
28
- * @var T
29
- */
30
- private $value;
31
-
32
- /**
33
- * Internal constructor for a success value.
34
- *
35
- * @param T $value
36
- *
37
- * @return void
38
- */
39
- private function __construct($value)
40
- {
41
- $this->value = $value;
42
- }
43
-
44
- /**
45
- * Create a new error value.
46
- *
47
- * @template S
48
- *
49
- * @param S $value
50
- *
51
- * @return \GrahamCampbell\ResultType\Result<S,E>
52
- */
53
- public static function create($value)
54
- {
55
- return new self($value);
56
- }
57
-
58
- /**
59
- * Get the success option value.
60
- *
61
- * @return \PhpOption\Option<T>
62
- */
63
- public function success()
64
- {
65
- return Some::create($this->value);
66
- }
67
-
68
- /**
69
- * Map over the success value.
70
- *
71
- * @template S
72
- *
73
- * @param callable(T):S $f
74
- *
75
- * @return \GrahamCampbell\ResultType\Result<S,E>
76
- */
77
- public function map(callable $f)
78
- {
79
- return self::create($f($this->value));
80
- }
81
-
82
- /**
83
- * Flat map over the success value.
84
- *
85
- * @template S
86
- * @template F
87
- *
88
- * @param callable(T):\GrahamCampbell\ResultType\Result<S,F> $f
89
- *
90
- * @return \GrahamCampbell\ResultType\Result<S,F>
91
- */
92
- public function flatMap(callable $f)
93
- {
94
- return $f($this->value);
95
- }
96
-
97
- /**
98
- * Get the error option value.
99
- *
100
- * @return \PhpOption\Option<E>
101
- */
102
- public function error()
103
- {
104
- return None::create();
105
- }
106
-
107
- /**
108
- * Map over the error value.
109
- *
110
- * @template F
111
- *
112
- * @param callable(E):F $f
113
- *
114
- * @return \GrahamCampbell\ResultType\Result<T,F>
115
- */
116
- public function mapError(callable $f)
117
- {
118
- return self::create($this->value);
119
- }
120
- }
@@ -1,95 +0,0 @@
1
- <?php
2
-
3
- declare(strict_types=1);
4
-
5
- /*
6
- * This file is part of Result Type.
7
- *
8
- * (c) Graham Campbell <hello@gjcampbell.co.uk>
9
- *
10
- * For the full copyright and license information, please view the LICENSE
11
- * file that was distributed with this source code.
12
- */
13
-
14
- namespace GrahamCampbell\Tests\ResultType;
15
-
16
- use GrahamCampbell\ResultType\Error;
17
- use GrahamCampbell\ResultType\Success;
18
- use PHPUnit\Framework\TestCase;
19
- use RuntimeException;
20
-
21
- class ResultTest extends TestCase
22
- {
23
- public function testSuccessValue(): void
24
- {
25
- self::assertTrue(Success::create('foo')->error()->isEmpty());
26
- self::assertTrue(Success::create('foo')->success()->isDefined());
27
- self::assertSame('foo', Success::create('foo')->success()->get());
28
- }
29
-
30
- public function testSuccessMapping(): void
31
- {
32
- $r = Success::create('foo')
33
- ->map('strtoupper')
34
- ->mapError('ucfirst');
35
-
36
- self::assertTrue($r->success()->isDefined());
37
- self::assertSame('FOO', $r->success()->get());
38
- }
39
-
40
- public function testSuccessFlatMappingSuccess(): void
41
- {
42
- $r = Success::create('foo')->flatMap(function (string $data): Success {
43
- return Success::create('OH YES');
44
- });
45
-
46
- self::assertTrue($r->success()->isDefined());
47
- self::assertSame('OH YES', $r->success()->get());
48
- }
49
-
50
- public function testSuccessFlatMappingError(): void
51
- {
52
- $r = Success::create('foo')->flatMap(function (string $data): Error {
53
- return Error::create('OH NO');
54
- });
55
-
56
- self::assertTrue($r->error()->isDefined());
57
- self::assertSame('OH NO', $r->error()->get());
58
- }
59
-
60
- public function testSuccessFail(): void
61
- {
62
- $result = Success::create('foo');
63
-
64
- $this->expectException(RuntimeException::class);
65
- $this->expectExceptionMessage('None has no value.');
66
-
67
- $result->error()->get();
68
- }
69
-
70
- public function testErrorValue(): void
71
- {
72
- self::assertTrue(Error::create('foo')->error()->isDefined());
73
- self::assertTrue(Error::create('foo')->success()->isEmpty());
74
- self::assertSame('foo', Error::create('foo')->error()->get());
75
- }
76
-
77
- public function testErrorMapping(): void
78
- {
79
- $r = Error::create('foo')
80
- ->map('strtoupper')
81
- ->mapError('ucfirst');
82
-
83
- self::assertSame('Foo', $r->error()->get());
84
- }
85
-
86
- public function testErrorFail(): void
87
- {
88
- $result = Error::create('foo');
89
-
90
- $this->expectException(RuntimeException::class);
91
- $this->expectExceptionMessage('None has no value.');
92
-
93
- $result->success()->get();
94
- }
95
- }