create-berna-stencil 2.6.0 → 2.6.2

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 (199) hide show
  1. package/README.md +1 -1
  2. package/_tools/assistant.js +92 -88
  3. package/_tools/modules/constants.js +23 -0
  4. package/_tools/modules/pageComponents.js +77 -0
  5. package/_tools/modules/updateData.js +25 -44
  6. package/_tools/modules/updateOutputPath.js +59 -63
  7. package/_tools/modules/updatePage.js +131 -104
  8. package/_tools/modules/utils.js +16 -19
  9. package/_tools/modules/validation.js +20 -0
  10. package/bin/create.js +74 -12
  11. package/out/.htaccess +16 -0
  12. package/out/404.html +163 -0
  13. package/out/assets/brand/favicon.svg +37 -0
  14. package/out/assets/brand/logo.svg +37 -0
  15. package/out/backend/.htaccess +7 -0
  16. package/out/backend/_core/composer.json +5 -0
  17. package/out/backend/_core/composer.lock +492 -0
  18. package/out/backend/_core/index.php +148 -0
  19. package/out/backend/_core/init.php +34 -0
  20. package/out/backend/_core/modules/RateLimiter.php +31 -0
  21. package/out/backend/_core/modules/Response.php +49 -0
  22. package/{src → out}/backend/_core/vendor/composer/autoload_static.php +10 -10
  23. package/{src → out}/backend/_core/vendor/composer/installed.json +6 -6
  24. package/{src → out}/backend/_core/vendor/composer/installed.php +2 -2
  25. package/out/backend/_core/vendor/graham-campbell/result-type/CHANGELOG.md +53 -0
  26. package/{src → out}/backend/_core/vendor/graham-campbell/result-type/LICENSE +21 -21
  27. package/out/backend/_core/vendor/graham-campbell/result-type/README.md +42 -0
  28. package/{src → out}/backend/_core/vendor/graham-campbell/result-type/composer.json +33 -33
  29. package/out/backend/_core/vendor/graham-campbell/result-type/phpunit.xml.dist +13 -0
  30. package/{src → out}/backend/_core/vendor/graham-campbell/result-type/src/Error.php +121 -121
  31. package/{src → out}/backend/_core/vendor/graham-campbell/result-type/src/Result.php +69 -69
  32. package/{src → out}/backend/_core/vendor/graham-campbell/result-type/src/Success.php +120 -120
  33. package/out/backend/_core/vendor/graham-campbell/result-type/tests/ResultTest.php +95 -0
  34. package/{src → out}/backend/_core/vendor/phpoption/phpoption/LICENSE +200 -200
  35. package/out/backend/_core/vendor/phpoption/phpoption/Makefile +17 -0
  36. package/out/backend/_core/vendor/phpoption/phpoption/README.md +201 -0
  37. package/{src → out}/backend/_core/vendor/phpoption/phpoption/composer.json +50 -50
  38. package/out/backend/_core/vendor/phpoption/phpoption/phpstan-baseline.neon +44 -0
  39. package/out/backend/_core/vendor/phpoption/phpoption/phpstan.neon.dist +7 -0
  40. package/out/backend/_core/vendor/phpoption/phpoption/phpunit.xml.dist +13 -0
  41. package/{src → out}/backend/_core/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +175 -175
  42. package/{src → out}/backend/_core/vendor/phpoption/phpoption/src/PhpOption/None.php +136 -136
  43. package/{src → out}/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Option.php +434 -434
  44. package/{src → out}/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Some.php +169 -169
  45. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +72 -0
  46. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +357 -0
  47. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +153 -0
  48. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +166 -0
  49. package/out/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +194 -0
  50. package/out/backend/_core/vendor/phpoption/phpoption/tests/bootstrap.php +8 -0
  51. package/out/backend/_core/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +8 -0
  52. package/{src → out}/backend/_core/vendor/symfony/polyfill-ctype/Ctype.php +232 -232
  53. package/{src → out}/backend/_core/vendor/symfony/polyfill-ctype/LICENSE +19 -19
  54. package/{src → out}/backend/_core/vendor/symfony/polyfill-ctype/README.md +12 -12
  55. package/{src → out}/backend/_core/vendor/symfony/polyfill-ctype/bootstrap.php +50 -50
  56. package/{src → out}/backend/_core/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -46
  57. package/{src → out}/backend/_core/vendor/symfony/polyfill-ctype/composer.json +38 -38
  58. package/{src → out}/backend/_core/vendor/symfony/polyfill-mbstring/LICENSE +19 -19
  59. package/{src → out}/backend/_core/vendor/symfony/polyfill-mbstring/Mbstring.php +1077 -1077
  60. package/{src → out}/backend/_core/vendor/symfony/polyfill-mbstring/README.md +13 -13
  61. package/{src → out}/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -119
  62. package/{src → out}/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -1397
  63. package/{src → out}/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -5
  64. package/{src → out}/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -1489
  65. package/{src → out}/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap.php +171 -171
  66. package/{src → out}/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -167
  67. package/{src → out}/backend/_core/vendor/symfony/polyfill-mbstring/composer.json +39 -39
  68. package/{src → out}/backend/_core/vendor/symfony/polyfill-php80/LICENSE +19 -19
  69. package/{src → out}/backend/_core/vendor/symfony/polyfill-php80/Php80.php +115 -115
  70. package/{src → out}/backend/_core/vendor/symfony/polyfill-php80/PhpToken.php +106 -106
  71. package/{src → out}/backend/_core/vendor/symfony/polyfill-php80/README.md +25 -25
  72. package/{src → out}/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -31
  73. package/{src → out}/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -16
  74. package/{src → out}/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -20
  75. package/{src → out}/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -16
  76. package/{src → out}/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -16
  77. package/{src → out}/backend/_core/vendor/symfony/polyfill-php80/bootstrap.php +42 -42
  78. package/{src → out}/backend/_core/vendor/symfony/polyfill-php80/composer.json +37 -37
  79. package/out/backend/_core/vendor/vlucas/phpdotenv/.editorconfig +15 -0
  80. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/LICENSE +30 -30
  81. package/out/backend/_core/vendor/vlucas/phpdotenv/Makefile +17 -0
  82. package/out/backend/_core/vendor/vlucas/phpdotenv/README.md +370 -0
  83. package/out/backend/_core/vendor/vlucas/phpdotenv/UPGRADING.md +196 -0
  84. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/composer.json +60 -60
  85. package/out/backend/_core/vendor/vlucas/phpdotenv/phpstan-baseline.neon +157 -0
  86. package/out/backend/_core/vendor/vlucas/phpdotenv/phpstan.neon.dist +7 -0
  87. package/out/backend/_core/vendor/vlucas/phpdotenv/phpunit.xml.dist +13 -0
  88. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Dotenv.php +267 -267
  89. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +12 -12
  90. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +12 -12
  91. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +12 -12
  92. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +12 -12
  93. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +12 -12
  94. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Loader.php +48 -48
  95. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +20 -20
  96. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +65 -65
  97. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Entry.php +59 -59
  98. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +299 -299
  99. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +58 -58
  100. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lines.php +127 -127
  101. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Parser.php +53 -53
  102. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +19 -19
  103. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Value.php +88 -88
  104. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +15 -15
  105. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +89 -89
  106. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +80 -80
  107. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +88 -88
  108. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +85 -85
  109. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +110 -110
  110. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +48 -48
  111. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +64 -64
  112. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +91 -91
  113. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +17 -17
  114. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +104 -104
  115. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +88 -88
  116. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +27 -27
  117. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +107 -107
  118. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +272 -272
  119. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +51 -51
  120. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +44 -44
  121. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +81 -81
  122. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Store/FileStore.php +72 -72
  123. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +141 -141
  124. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +17 -17
  125. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Store/StringStore.php +37 -37
  126. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Util/Regex.php +112 -112
  127. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Util/Str.php +108 -108
  128. package/{src → out}/backend/_core/vendor/vlucas/phpdotenv/src/Validator.php +207 -207
  129. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +387 -0
  130. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +86 -0
  131. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +234 -0
  132. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +40 -0
  133. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +53 -0
  134. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +98 -0
  135. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +57 -0
  136. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +75 -0
  137. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +52 -0
  138. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +75 -0
  139. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +305 -0
  140. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +141 -0
  141. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +479 -0
  142. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +5 -0
  143. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +18 -0
  144. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +33 -0
  145. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +15 -0
  146. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +1 -0
  147. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +1 -0
  148. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +7 -0
  149. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +1 -0
  150. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +17 -0
  151. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +2 -0
  152. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +3 -0
  153. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +14 -0
  154. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +4 -0
  155. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +1 -0
  156. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +15 -0
  157. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +11 -0
  158. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +8 -0
  159. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +2 -0
  160. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +3 -0
  161. package/out/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +1 -0
  162. package/out/backend/_core/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +15 -0
  163. package/out/backend/api/protected/example-protected.php +17 -0
  164. package/out/backend/api/public/example-public.php +17 -0
  165. package/out/backend/database/Database.php +24 -0
  166. package/out/backend/database/migrations/create_example_db.sql +1 -0
  167. package/out/backend/web.config +17 -0
  168. package/out/css/fonts/bootstrap-icons.woff +0 -0
  169. package/out/css/fonts/bootstrap-icons.woff2 +0 -0
  170. package/out/css/github-markdown-dark.css +1124 -0
  171. package/out/css/github-markdown-light.css +1124 -0
  172. package/out/css/pages/404.css +21517 -0
  173. package/out/css/pages/homepage.css +21508 -0
  174. package/out/data/site.json +44 -0
  175. package/out/index.html +1147 -0
  176. package/out/js/bootstrap.bundle.min.js +7 -0
  177. package/out/js/pages/js/pages/404.js +6 -0
  178. package/out/js/pages/js/pages/homepage.js +6 -0
  179. package/out/js/pages/ts/pages/404.js +6 -0
  180. package/out/js/pages/ts/pages/homepage.js +6 -0
  181. package/out/llms.txt +14 -0
  182. package/out/robots.txt +4 -0
  183. package/out/sitemap.xml +15 -0
  184. package/out/web.config +27 -0
  185. package/package.json +14 -47
  186. package/src/frontend/data/site.json +1 -1
  187. package/.gitignore +0 -4
  188. package/_tools/modules/updateIncludes.js +0 -81
  189. package/src/backend/config.example.php +0 -28
  190. /package/{src → out}/backend/_core/vendor/autoload.php +0 -0
  191. /package/{src → out}/backend/_core/vendor/composer/ClassLoader.php +0 -0
  192. /package/{src → out}/backend/_core/vendor/composer/InstalledVersions.php +0 -0
  193. /package/{src → out}/backend/_core/vendor/composer/LICENSE +0 -0
  194. /package/{src → out}/backend/_core/vendor/composer/autoload_classmap.php +0 -0
  195. /package/{src → out}/backend/_core/vendor/composer/autoload_files.php +0 -0
  196. /package/{src → out}/backend/_core/vendor/composer/autoload_namespaces.php +0 -0
  197. /package/{src → out}/backend/_core/vendor/composer/autoload_psr4.php +0 -0
  198. /package/{src → out}/backend/_core/vendor/composer/autoload_real.php +0 -0
  199. /package/{src → out}/backend/_core/vendor/composer/platform_check.php +0 -0
@@ -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
+ }
@@ -1,120 +1,120 @@
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
+ <?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
+ }