create-berna-stencil 2.0.15 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/.eleventy.js +5 -27
  2. package/README.md +1 -1
  3. package/_tools/buildJs.js +28 -0
  4. package/_tools/cleanOutput.js +9 -13
  5. package/_tools/modules/updateOutputPath.js +36 -14
  6. package/_tools/modules/updatePage.js +31 -11
  7. package/_tools/res/templates/template.js +3 -11
  8. package/_tools/res/templates/template.ts +13 -0
  9. package/bin/create.js +161 -111
  10. package/docs/Assistant CLI.md +2 -0
  11. package/docs/Creating pages.md +2 -0
  12. package/docs/Javascript.md +30 -37
  13. package/package.json +64 -63
  14. package/src/backend/_core/index.php +10 -1
  15. package/src/backend/_core/init.php +4 -3
  16. package/src/backend/_core/modules/RateLimiter.php +31 -0
  17. package/src/backend/_core/vendor/composer/autoload_static.php +10 -10
  18. package/src/backend/_core/vendor/composer/installed.json +6 -6
  19. package/src/backend/_core/vendor/composer/installed.php +2 -2
  20. package/src/backend/_core/vendor/graham-campbell/result-type/.gitattributes +9 -0
  21. package/src/backend/_core/vendor/graham-campbell/result-type/.github/CODE_OF_CONDUCT.md +132 -0
  22. package/src/backend/_core/vendor/graham-campbell/result-type/.github/CONTRIBUTING.md +31 -0
  23. package/src/backend/_core/vendor/graham-campbell/result-type/.github/FUNDING.yml +2 -0
  24. package/src/backend/_core/vendor/graham-campbell/result-type/.github/SECURITY.md +14 -0
  25. package/src/backend/_core/vendor/graham-campbell/result-type/.github/workflows/stale.yml +11 -0
  26. package/src/backend/_core/vendor/graham-campbell/result-type/.github/workflows/tests.yml +40 -0
  27. package/src/backend/_core/vendor/graham-campbell/result-type/CHANGELOG.md +53 -0
  28. package/src/backend/_core/vendor/graham-campbell/result-type/LICENSE +21 -21
  29. package/src/backend/_core/vendor/graham-campbell/result-type/README.md +42 -0
  30. package/src/backend/_core/vendor/graham-campbell/result-type/composer.json +33 -33
  31. package/src/backend/_core/vendor/graham-campbell/result-type/phpunit.xml.dist +13 -0
  32. package/src/backend/_core/vendor/graham-campbell/result-type/src/Error.php +121 -121
  33. package/src/backend/_core/vendor/graham-campbell/result-type/src/Result.php +69 -69
  34. package/src/backend/_core/vendor/graham-campbell/result-type/src/Success.php +120 -120
  35. package/src/backend/_core/vendor/graham-campbell/result-type/tests/ResultTest.php +95 -0
  36. package/src/backend/_core/vendor/phpoption/phpoption/.gitattributes +13 -0
  37. package/src/backend/_core/vendor/phpoption/phpoption/.github/CODE_OF_CONDUCT.md +132 -0
  38. package/src/backend/_core/vendor/phpoption/phpoption/.github/CONTRIBUTING.md +30 -0
  39. package/src/backend/_core/vendor/phpoption/phpoption/.github/FUNDING.yml +2 -0
  40. package/src/backend/_core/vendor/phpoption/phpoption/.github/SECURITY.md +14 -0
  41. package/src/backend/_core/vendor/phpoption/phpoption/.github/workflows/static.yml +40 -0
  42. package/src/backend/_core/vendor/phpoption/phpoption/.github/workflows/tests.yml +40 -0
  43. package/src/backend/_core/vendor/phpoption/phpoption/LICENSE +200 -200
  44. package/src/backend/_core/vendor/phpoption/phpoption/Makefile +17 -0
  45. package/src/backend/_core/vendor/phpoption/phpoption/README.md +201 -0
  46. package/src/backend/_core/vendor/phpoption/phpoption/composer.json +50 -50
  47. package/src/backend/_core/vendor/phpoption/phpoption/phpstan-baseline.neon +44 -0
  48. package/src/backend/_core/vendor/phpoption/phpoption/phpstan.neon.dist +7 -0
  49. package/src/backend/_core/vendor/phpoption/phpoption/phpunit.xml.dist +13 -0
  50. package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +175 -175
  51. package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/None.php +136 -136
  52. package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Option.php +434 -434
  53. package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Some.php +169 -169
  54. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +72 -0
  55. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +357 -0
  56. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +153 -0
  57. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +166 -0
  58. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +194 -0
  59. package/src/backend/_core/vendor/phpoption/phpoption/tests/bootstrap.php +8 -0
  60. package/src/backend/_core/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +8 -0
  61. package/src/backend/_core/vendor/symfony/polyfill-ctype/Ctype.php +232 -232
  62. package/src/backend/_core/vendor/symfony/polyfill-ctype/LICENSE +19 -19
  63. package/src/backend/_core/vendor/symfony/polyfill-ctype/README.md +12 -12
  64. package/src/backend/_core/vendor/symfony/polyfill-ctype/bootstrap.php +50 -50
  65. package/src/backend/_core/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -46
  66. package/src/backend/_core/vendor/symfony/polyfill-ctype/composer.json +38 -38
  67. package/src/backend/_core/vendor/symfony/polyfill-mbstring/LICENSE +19 -19
  68. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Mbstring.php +1077 -1077
  69. package/src/backend/_core/vendor/symfony/polyfill-mbstring/README.md +13 -13
  70. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -119
  71. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -1397
  72. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -5
  73. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -1489
  74. package/src/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap.php +171 -171
  75. package/src/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -167
  76. package/src/backend/_core/vendor/symfony/polyfill-mbstring/composer.json +39 -39
  77. package/src/backend/_core/vendor/symfony/polyfill-php80/LICENSE +19 -19
  78. package/src/backend/_core/vendor/symfony/polyfill-php80/Php80.php +115 -115
  79. package/src/backend/_core/vendor/symfony/polyfill-php80/PhpToken.php +106 -106
  80. package/src/backend/_core/vendor/symfony/polyfill-php80/README.md +25 -25
  81. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -31
  82. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -16
  83. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -20
  84. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -16
  85. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -16
  86. package/src/backend/_core/vendor/symfony/polyfill-php80/bootstrap.php +42 -42
  87. package/src/backend/_core/vendor/symfony/polyfill-php80/composer.json +37 -37
  88. package/src/backend/_core/vendor/vlucas/phpdotenv/.editorconfig +15 -0
  89. package/src/backend/_core/vendor/vlucas/phpdotenv/.gitattributes +15 -0
  90. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/CODE_OF_CONDUCT.md +132 -0
  91. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/CONTRIBUTING.md +30 -0
  92. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/FUNDING.yml +2 -0
  93. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/SECURITY.md +14 -0
  94. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/workflows/static.yml +40 -0
  95. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/workflows/tests.yml +70 -0
  96. package/src/backend/_core/vendor/vlucas/phpdotenv/LICENSE +30 -30
  97. package/src/backend/_core/vendor/vlucas/phpdotenv/Makefile +17 -0
  98. package/src/backend/_core/vendor/vlucas/phpdotenv/README.md +370 -0
  99. package/src/backend/_core/vendor/vlucas/phpdotenv/UPGRADING.md +196 -0
  100. package/src/backend/_core/vendor/vlucas/phpdotenv/composer.json +60 -60
  101. package/src/backend/_core/vendor/vlucas/phpdotenv/phpstan-baseline.neon +157 -0
  102. package/src/backend/_core/vendor/vlucas/phpdotenv/phpstan.neon.dist +7 -0
  103. package/src/backend/_core/vendor/vlucas/phpdotenv/phpunit.xml.dist +13 -0
  104. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Dotenv.php +267 -267
  105. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +12 -12
  106. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +12 -12
  107. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +12 -12
  108. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +12 -12
  109. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +12 -12
  110. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Loader.php +48 -48
  111. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +20 -20
  112. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +65 -65
  113. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Entry.php +59 -59
  114. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +299 -299
  115. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +58 -58
  116. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lines.php +127 -127
  117. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Parser.php +53 -53
  118. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +19 -19
  119. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Value.php +88 -88
  120. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +15 -15
  121. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +89 -89
  122. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +80 -80
  123. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +88 -88
  124. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +85 -85
  125. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +110 -110
  126. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +48 -48
  127. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +64 -64
  128. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +91 -91
  129. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +17 -17
  130. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +104 -104
  131. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +88 -88
  132. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +27 -27
  133. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +107 -107
  134. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +272 -272
  135. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +51 -51
  136. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +44 -44
  137. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +81 -81
  138. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/FileStore.php +72 -72
  139. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +141 -141
  140. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +17 -17
  141. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/StringStore.php +37 -37
  142. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Util/Regex.php +112 -112
  143. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Util/Str.php +108 -108
  144. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Validator.php +207 -207
  145. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +387 -0
  146. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +86 -0
  147. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +234 -0
  148. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +40 -0
  149. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +53 -0
  150. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +98 -0
  151. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +57 -0
  152. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +75 -0
  153. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +52 -0
  154. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +75 -0
  155. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +305 -0
  156. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +141 -0
  157. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +479 -0
  158. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +5 -0
  159. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +18 -0
  160. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +33 -0
  161. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +15 -0
  162. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +1 -0
  163. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +1 -0
  164. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +7 -0
  165. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +1 -0
  166. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +17 -0
  167. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +2 -0
  168. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +3 -0
  169. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +14 -0
  170. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +4 -0
  171. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +1 -0
  172. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +15 -0
  173. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +11 -0
  174. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +8 -0
  175. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +2 -0
  176. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +3 -0
  177. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +1 -0
  178. package/src/backend/_core/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +15 -0
  179. package/src/backend/api/protected/example-protected.php +1 -1
  180. package/src/backend/api/public/example-public.php +1 -1
  181. package/src/backend/config.php +19 -0
  182. package/src/backend/web.config +2 -5
  183. package/src/frontend/.htaccess +4 -1
  184. package/src/frontend/js/modules/exampleModule.js +7 -0
  185. package/src/frontend/js/pages/404.js +3 -11
  186. package/src/frontend/js/pages/homepage.js +3 -11
  187. package/src/frontend/ts/modules/exampleModule.ts +3 -0
  188. package/src/frontend/ts/pages/404.ts +13 -0
  189. package/src/frontend/ts/pages/homepage.ts +13 -0
  190. package/src/frontend/web.config +21 -30
  191. package/src/frontend/js/modules/forms/normalizePhoneNumber.js +0 -42
  192. package/src/frontend/js/modules/forms/textAreaAutoExpand.js +0 -38
  193. package/src/frontend/js/modules/notification.js +0 -39
@@ -1,33 +1,33 @@
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
+ {
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
+ }
@@ -0,0 +1,13 @@
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 +1,121 @@
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
+ <?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 +1,69 @@
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
+ <?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
+ }