create-berna-stencil 2.0.7 → 2.0.9

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 (180) hide show
  1. package/.eleventy.js +38 -19
  2. package/README.md +2 -1
  3. package/bin/create.js +2 -2
  4. package/docs/Components.md +12 -0
  5. package/docs/Creating pages.md +3 -4
  6. package/docs/Head and SEO.md +7 -7
  7. package/package.json +63 -61
  8. package/src/backend/_core/vendor/composer/autoload_static.php +10 -10
  9. package/src/backend/_core/vendor/composer/installed.json +6 -6
  10. package/src/backend/_core/vendor/composer/installed.php +2 -2
  11. package/src/backend/_core/vendor/graham-campbell/result-type/LICENSE +21 -21
  12. package/src/backend/_core/vendor/graham-campbell/result-type/composer.json +33 -33
  13. package/src/backend/_core/vendor/graham-campbell/result-type/src/Error.php +121 -121
  14. package/src/backend/_core/vendor/graham-campbell/result-type/src/Result.php +69 -69
  15. package/src/backend/_core/vendor/graham-campbell/result-type/src/Success.php +120 -120
  16. package/src/backend/_core/vendor/phpoption/phpoption/LICENSE +200 -200
  17. package/src/backend/_core/vendor/phpoption/phpoption/composer.json +50 -50
  18. package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +175 -175
  19. package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/None.php +136 -136
  20. package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Option.php +434 -434
  21. package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Some.php +169 -169
  22. package/src/backend/_core/vendor/symfony/polyfill-ctype/Ctype.php +232 -232
  23. package/src/backend/_core/vendor/symfony/polyfill-ctype/LICENSE +19 -19
  24. package/src/backend/_core/vendor/symfony/polyfill-ctype/README.md +12 -12
  25. package/src/backend/_core/vendor/symfony/polyfill-ctype/bootstrap.php +50 -50
  26. package/src/backend/_core/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -46
  27. package/src/backend/_core/vendor/symfony/polyfill-ctype/composer.json +38 -38
  28. package/src/backend/_core/vendor/symfony/polyfill-mbstring/LICENSE +19 -19
  29. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Mbstring.php +1077 -1077
  30. package/src/backend/_core/vendor/symfony/polyfill-mbstring/README.md +13 -13
  31. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -119
  32. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -1397
  33. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -5
  34. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -1489
  35. package/src/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap.php +171 -171
  36. package/src/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -167
  37. package/src/backend/_core/vendor/symfony/polyfill-mbstring/composer.json +39 -39
  38. package/src/backend/_core/vendor/symfony/polyfill-php80/LICENSE +19 -19
  39. package/src/backend/_core/vendor/symfony/polyfill-php80/Php80.php +115 -115
  40. package/src/backend/_core/vendor/symfony/polyfill-php80/PhpToken.php +106 -106
  41. package/src/backend/_core/vendor/symfony/polyfill-php80/README.md +25 -25
  42. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -31
  43. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -16
  44. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -20
  45. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -16
  46. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -16
  47. package/src/backend/_core/vendor/symfony/polyfill-php80/bootstrap.php +42 -42
  48. package/src/backend/_core/vendor/symfony/polyfill-php80/composer.json +37 -37
  49. package/src/backend/_core/vendor/vlucas/phpdotenv/LICENSE +30 -30
  50. package/src/backend/_core/vendor/vlucas/phpdotenv/composer.json +60 -60
  51. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Dotenv.php +267 -267
  52. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +12 -12
  53. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +12 -12
  54. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +12 -12
  55. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +12 -12
  56. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +12 -12
  57. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Loader.php +48 -48
  58. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +20 -20
  59. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +65 -65
  60. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Entry.php +59 -59
  61. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +299 -299
  62. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +58 -58
  63. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lines.php +127 -127
  64. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Parser.php +53 -53
  65. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +19 -19
  66. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Value.php +88 -88
  67. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +15 -15
  68. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +89 -89
  69. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +80 -80
  70. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +88 -88
  71. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +85 -85
  72. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +110 -110
  73. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +48 -48
  74. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +64 -64
  75. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +91 -91
  76. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +17 -17
  77. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +104 -104
  78. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +88 -88
  79. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +27 -27
  80. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +107 -107
  81. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +272 -272
  82. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +51 -51
  83. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +44 -44
  84. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +81 -81
  85. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/FileStore.php +72 -72
  86. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +141 -141
  87. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +17 -17
  88. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/StringStore.php +37 -37
  89. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Util/Regex.php +112 -112
  90. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Util/Str.php +108 -108
  91. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Validator.php +207 -207
  92. package/src/frontend/404.njk +2 -1
  93. package/src/frontend/components/global/footer.njk +13 -12
  94. package/src/frontend/components/global/header.njk +0 -4
  95. package/src/frontend/components/layouts/base.njk +47 -34
  96. package/src/frontend/components/welcome.njk +32 -668
  97. package/src/frontend/data/site.json +43 -43
  98. package/src/frontend/scss/modules/_buttons.scss +10 -4
  99. package/src/frontend/scss/modules/_footer.scss +5 -14
  100. package/src/frontend/scss/modules/_global.scss +1 -2
  101. package/src/frontend/scss/pages/404.scss +1 -1
  102. package/src/backend/_core/vendor/graham-campbell/result-type/.gitattributes +0 -9
  103. package/src/backend/_core/vendor/graham-campbell/result-type/.github/CODE_OF_CONDUCT.md +0 -132
  104. package/src/backend/_core/vendor/graham-campbell/result-type/.github/CONTRIBUTING.md +0 -31
  105. package/src/backend/_core/vendor/graham-campbell/result-type/.github/FUNDING.yml +0 -2
  106. package/src/backend/_core/vendor/graham-campbell/result-type/.github/SECURITY.md +0 -14
  107. package/src/backend/_core/vendor/graham-campbell/result-type/.github/workflows/stale.yml +0 -11
  108. package/src/backend/_core/vendor/graham-campbell/result-type/.github/workflows/tests.yml +0 -40
  109. package/src/backend/_core/vendor/graham-campbell/result-type/CHANGELOG.md +0 -53
  110. package/src/backend/_core/vendor/graham-campbell/result-type/README.md +0 -42
  111. package/src/backend/_core/vendor/graham-campbell/result-type/phpunit.xml.dist +0 -13
  112. package/src/backend/_core/vendor/graham-campbell/result-type/tests/ResultTest.php +0 -95
  113. package/src/backend/_core/vendor/phpoption/phpoption/.gitattributes +0 -13
  114. package/src/backend/_core/vendor/phpoption/phpoption/.github/CODE_OF_CONDUCT.md +0 -132
  115. package/src/backend/_core/vendor/phpoption/phpoption/.github/CONTRIBUTING.md +0 -30
  116. package/src/backend/_core/vendor/phpoption/phpoption/.github/FUNDING.yml +0 -2
  117. package/src/backend/_core/vendor/phpoption/phpoption/.github/SECURITY.md +0 -14
  118. package/src/backend/_core/vendor/phpoption/phpoption/.github/workflows/static.yml +0 -40
  119. package/src/backend/_core/vendor/phpoption/phpoption/.github/workflows/tests.yml +0 -40
  120. package/src/backend/_core/vendor/phpoption/phpoption/Makefile +0 -17
  121. package/src/backend/_core/vendor/phpoption/phpoption/README.md +0 -201
  122. package/src/backend/_core/vendor/phpoption/phpoption/phpstan-baseline.neon +0 -44
  123. package/src/backend/_core/vendor/phpoption/phpoption/phpstan.neon.dist +0 -7
  124. package/src/backend/_core/vendor/phpoption/phpoption/phpunit.xml.dist +0 -13
  125. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +0 -72
  126. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +0 -357
  127. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +0 -153
  128. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +0 -166
  129. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +0 -194
  130. package/src/backend/_core/vendor/phpoption/phpoption/tests/bootstrap.php +0 -8
  131. package/src/backend/_core/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +0 -8
  132. package/src/backend/_core/vendor/vlucas/phpdotenv/.editorconfig +0 -15
  133. package/src/backend/_core/vendor/vlucas/phpdotenv/.gitattributes +0 -15
  134. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/CODE_OF_CONDUCT.md +0 -132
  135. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/CONTRIBUTING.md +0 -30
  136. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/FUNDING.yml +0 -2
  137. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/SECURITY.md +0 -14
  138. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/workflows/static.yml +0 -40
  139. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/workflows/tests.yml +0 -70
  140. package/src/backend/_core/vendor/vlucas/phpdotenv/Makefile +0 -17
  141. package/src/backend/_core/vendor/vlucas/phpdotenv/README.md +0 -370
  142. package/src/backend/_core/vendor/vlucas/phpdotenv/UPGRADING.md +0 -196
  143. package/src/backend/_core/vendor/vlucas/phpdotenv/phpstan-baseline.neon +0 -157
  144. package/src/backend/_core/vendor/vlucas/phpdotenv/phpstan.neon.dist +0 -7
  145. package/src/backend/_core/vendor/vlucas/phpdotenv/phpunit.xml.dist +0 -13
  146. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +0 -387
  147. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +0 -86
  148. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +0 -234
  149. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +0 -40
  150. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +0 -53
  151. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +0 -98
  152. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +0 -57
  153. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +0 -75
  154. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +0 -52
  155. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +0 -75
  156. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +0 -305
  157. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +0 -141
  158. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +0 -479
  159. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +0 -5
  160. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +0 -18
  161. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +0 -33
  162. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +0 -15
  163. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +0 -1
  164. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +0 -1
  165. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +0 -7
  166. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +0 -1
  167. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +0 -17
  168. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +0 -2
  169. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +0 -3
  170. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +0 -14
  171. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +0 -4
  172. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +0 -1
  173. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +0 -15
  174. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +0 -11
  175. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +0 -8
  176. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +0 -2
  177. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +0 -3
  178. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +0 -1
  179. package/src/backend/_core/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +0 -15
  180. package/src/backend/config.php +0 -19
@@ -1,115 +1,115 @@
1
- <?php
2
-
3
- /*
4
- * This file is part of the Symfony package.
5
- *
6
- * (c) Fabien Potencier <fabien@symfony.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
-
12
- namespace Symfony\Polyfill\Php80;
13
-
14
- /**
15
- * @author Ion Bazan <ion.bazan@gmail.com>
16
- * @author Nico Oelgart <nicoswd@gmail.com>
17
- * @author Nicolas Grekas <p@tchwork.com>
18
- *
19
- * @internal
20
- */
21
- final class Php80
22
- {
23
- public static function fdiv(float $dividend, float $divisor): float
24
- {
25
- return @($dividend / $divisor);
26
- }
27
-
28
- public static function get_debug_type($value): string
29
- {
30
- switch (true) {
31
- case null === $value: return 'null';
32
- case \is_bool($value): return 'bool';
33
- case \is_string($value): return 'string';
34
- case \is_array($value): return 'array';
35
- case \is_int($value): return 'int';
36
- case \is_float($value): return 'float';
37
- case \is_object($value): break;
38
- case $value instanceof \__PHP_Incomplete_Class: return '__PHP_Incomplete_Class';
39
- default:
40
- if (null === $type = @get_resource_type($value)) {
41
- return 'unknown';
42
- }
43
-
44
- if ('Unknown' === $type) {
45
- $type = 'closed';
46
- }
47
-
48
- return "resource ($type)";
49
- }
50
-
51
- $class = \get_class($value);
52
-
53
- if (false === strpos($class, '@')) {
54
- return $class;
55
- }
56
-
57
- return (get_parent_class($class) ?: key(class_implements($class)) ?: 'class').'@anonymous';
58
- }
59
-
60
- public static function get_resource_id($res): int
61
- {
62
- if (!\is_resource($res) && null === @get_resource_type($res)) {
63
- throw new \TypeError(\sprintf('Argument 1 passed to get_resource_id() must be of the type resource, %s given', get_debug_type($res)));
64
- }
65
-
66
- return (int) $res;
67
- }
68
-
69
- public static function preg_last_error_msg(): string
70
- {
71
- switch (preg_last_error()) {
72
- case \PREG_INTERNAL_ERROR:
73
- return 'Internal error';
74
- case \PREG_BAD_UTF8_ERROR:
75
- return 'Malformed UTF-8 characters, possibly incorrectly encoded';
76
- case \PREG_BAD_UTF8_OFFSET_ERROR:
77
- return 'The offset did not correspond to the beginning of a valid UTF-8 code point';
78
- case \PREG_BACKTRACK_LIMIT_ERROR:
79
- return 'Backtrack limit exhausted';
80
- case \PREG_RECURSION_LIMIT_ERROR:
81
- return 'Recursion limit exhausted';
82
- case \PREG_JIT_STACKLIMIT_ERROR:
83
- return 'JIT stack limit exhausted';
84
- case \PREG_NO_ERROR:
85
- return 'No error';
86
- default:
87
- return 'Unknown error';
88
- }
89
- }
90
-
91
- public static function str_contains(string $haystack, string $needle): bool
92
- {
93
- return '' === $needle || false !== strpos($haystack, $needle);
94
- }
95
-
96
- public static function str_starts_with(string $haystack, string $needle): bool
97
- {
98
- return 0 === strncmp($haystack, $needle, \strlen($needle));
99
- }
100
-
101
- public static function str_ends_with(string $haystack, string $needle): bool
102
- {
103
- if ('' === $needle || $needle === $haystack) {
104
- return true;
105
- }
106
-
107
- if ('' === $haystack) {
108
- return false;
109
- }
110
-
111
- $needleLength = \strlen($needle);
112
-
113
- return $needleLength <= \strlen($haystack) && 0 === substr_compare($haystack, $needle, -$needleLength);
114
- }
115
- }
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ namespace Symfony\Polyfill\Php80;
13
+
14
+ /**
15
+ * @author Ion Bazan <ion.bazan@gmail.com>
16
+ * @author Nico Oelgart <nicoswd@gmail.com>
17
+ * @author Nicolas Grekas <p@tchwork.com>
18
+ *
19
+ * @internal
20
+ */
21
+ final class Php80
22
+ {
23
+ public static function fdiv(float $dividend, float $divisor): float
24
+ {
25
+ return @($dividend / $divisor);
26
+ }
27
+
28
+ public static function get_debug_type($value): string
29
+ {
30
+ switch (true) {
31
+ case null === $value: return 'null';
32
+ case \is_bool($value): return 'bool';
33
+ case \is_string($value): return 'string';
34
+ case \is_array($value): return 'array';
35
+ case \is_int($value): return 'int';
36
+ case \is_float($value): return 'float';
37
+ case \is_object($value): break;
38
+ case $value instanceof \__PHP_Incomplete_Class: return '__PHP_Incomplete_Class';
39
+ default:
40
+ if (null === $type = @get_resource_type($value)) {
41
+ return 'unknown';
42
+ }
43
+
44
+ if ('Unknown' === $type) {
45
+ $type = 'closed';
46
+ }
47
+
48
+ return "resource ($type)";
49
+ }
50
+
51
+ $class = \get_class($value);
52
+
53
+ if (false === strpos($class, '@')) {
54
+ return $class;
55
+ }
56
+
57
+ return (get_parent_class($class) ?: key(class_implements($class)) ?: 'class').'@anonymous';
58
+ }
59
+
60
+ public static function get_resource_id($res): int
61
+ {
62
+ if (!\is_resource($res) && null === @get_resource_type($res)) {
63
+ throw new \TypeError(\sprintf('Argument 1 passed to get_resource_id() must be of the type resource, %s given', get_debug_type($res)));
64
+ }
65
+
66
+ return (int) $res;
67
+ }
68
+
69
+ public static function preg_last_error_msg(): string
70
+ {
71
+ switch (preg_last_error()) {
72
+ case \PREG_INTERNAL_ERROR:
73
+ return 'Internal error';
74
+ case \PREG_BAD_UTF8_ERROR:
75
+ return 'Malformed UTF-8 characters, possibly incorrectly encoded';
76
+ case \PREG_BAD_UTF8_OFFSET_ERROR:
77
+ return 'The offset did not correspond to the beginning of a valid UTF-8 code point';
78
+ case \PREG_BACKTRACK_LIMIT_ERROR:
79
+ return 'Backtrack limit exhausted';
80
+ case \PREG_RECURSION_LIMIT_ERROR:
81
+ return 'Recursion limit exhausted';
82
+ case \PREG_JIT_STACKLIMIT_ERROR:
83
+ return 'JIT stack limit exhausted';
84
+ case \PREG_NO_ERROR:
85
+ return 'No error';
86
+ default:
87
+ return 'Unknown error';
88
+ }
89
+ }
90
+
91
+ public static function str_contains(string $haystack, string $needle): bool
92
+ {
93
+ return '' === $needle || false !== strpos($haystack, $needle);
94
+ }
95
+
96
+ public static function str_starts_with(string $haystack, string $needle): bool
97
+ {
98
+ return 0 === strncmp($haystack, $needle, \strlen($needle));
99
+ }
100
+
101
+ public static function str_ends_with(string $haystack, string $needle): bool
102
+ {
103
+ if ('' === $needle || $needle === $haystack) {
104
+ return true;
105
+ }
106
+
107
+ if ('' === $haystack) {
108
+ return false;
109
+ }
110
+
111
+ $needleLength = \strlen($needle);
112
+
113
+ return $needleLength <= \strlen($haystack) && 0 === substr_compare($haystack, $needle, -$needleLength);
114
+ }
115
+ }
@@ -1,106 +1,106 @@
1
- <?php
2
-
3
- /*
4
- * This file is part of the Symfony package.
5
- *
6
- * (c) Fabien Potencier <fabien@symfony.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
-
12
- namespace Symfony\Polyfill\Php80;
13
-
14
- /**
15
- * @author Fedonyuk Anton <info@ensostudio.ru>
16
- *
17
- * @internal
18
- */
19
- class PhpToken implements \Stringable
20
- {
21
- /**
22
- * @var int
23
- */
24
- public $id;
25
-
26
- /**
27
- * @var string
28
- */
29
- public $text;
30
-
31
- /**
32
- * @var -1|positive-int
33
- */
34
- public $line;
35
-
36
- /**
37
- * @var int
38
- */
39
- public $pos;
40
-
41
- /**
42
- * @param -1|positive-int $line
43
- */
44
- public function __construct(int $id, string $text, int $line = -1, int $position = -1)
45
- {
46
- $this->id = $id;
47
- $this->text = $text;
48
- $this->line = $line;
49
- $this->pos = $position;
50
- }
51
-
52
- public function getTokenName(): ?string
53
- {
54
- if ('UNKNOWN' === $name = token_name($this->id)) {
55
- $name = \strlen($this->text) > 1 || \ord($this->text) < 32 ? null : $this->text;
56
- }
57
-
58
- return $name;
59
- }
60
-
61
- /**
62
- * @param int|string|array $kind
63
- */
64
- public function is($kind): bool
65
- {
66
- foreach ((array) $kind as $value) {
67
- if (\in_array($value, [$this->id, $this->text], true)) {
68
- return true;
69
- }
70
- }
71
-
72
- return false;
73
- }
74
-
75
- public function isIgnorable(): bool
76
- {
77
- return \in_array($this->id, [\T_WHITESPACE, \T_COMMENT, \T_DOC_COMMENT, \T_OPEN_TAG], true);
78
- }
79
-
80
- public function __toString(): string
81
- {
82
- return (string) $this->text;
83
- }
84
-
85
- /**
86
- * @return list<static>
87
- */
88
- public static function tokenize(string $code, int $flags = 0): array
89
- {
90
- $line = 1;
91
- $position = 0;
92
- $tokens = token_get_all($code, $flags);
93
- foreach ($tokens as $index => $token) {
94
- if (\is_string($token)) {
95
- $id = \ord($token);
96
- $text = $token;
97
- } else {
98
- [$id, $text, $line] = $token;
99
- }
100
- $tokens[$index] = new static($id, $text, $line, $position);
101
- $position += \strlen($text);
102
- }
103
-
104
- return $tokens;
105
- }
106
- }
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ namespace Symfony\Polyfill\Php80;
13
+
14
+ /**
15
+ * @author Fedonyuk Anton <info@ensostudio.ru>
16
+ *
17
+ * @internal
18
+ */
19
+ class PhpToken implements \Stringable
20
+ {
21
+ /**
22
+ * @var int
23
+ */
24
+ public $id;
25
+
26
+ /**
27
+ * @var string
28
+ */
29
+ public $text;
30
+
31
+ /**
32
+ * @var -1|positive-int
33
+ */
34
+ public $line;
35
+
36
+ /**
37
+ * @var int
38
+ */
39
+ public $pos;
40
+
41
+ /**
42
+ * @param -1|positive-int $line
43
+ */
44
+ public function __construct(int $id, string $text, int $line = -1, int $position = -1)
45
+ {
46
+ $this->id = $id;
47
+ $this->text = $text;
48
+ $this->line = $line;
49
+ $this->pos = $position;
50
+ }
51
+
52
+ public function getTokenName(): ?string
53
+ {
54
+ if ('UNKNOWN' === $name = token_name($this->id)) {
55
+ $name = \strlen($this->text) > 1 || \ord($this->text) < 32 ? null : $this->text;
56
+ }
57
+
58
+ return $name;
59
+ }
60
+
61
+ /**
62
+ * @param int|string|array $kind
63
+ */
64
+ public function is($kind): bool
65
+ {
66
+ foreach ((array) $kind as $value) {
67
+ if (\in_array($value, [$this->id, $this->text], true)) {
68
+ return true;
69
+ }
70
+ }
71
+
72
+ return false;
73
+ }
74
+
75
+ public function isIgnorable(): bool
76
+ {
77
+ return \in_array($this->id, [\T_WHITESPACE, \T_COMMENT, \T_DOC_COMMENT, \T_OPEN_TAG], true);
78
+ }
79
+
80
+ public function __toString(): string
81
+ {
82
+ return (string) $this->text;
83
+ }
84
+
85
+ /**
86
+ * @return list<static>
87
+ */
88
+ public static function tokenize(string $code, int $flags = 0): array
89
+ {
90
+ $line = 1;
91
+ $position = 0;
92
+ $tokens = token_get_all($code, $flags);
93
+ foreach ($tokens as $index => $token) {
94
+ if (\is_string($token)) {
95
+ $id = \ord($token);
96
+ $text = $token;
97
+ } else {
98
+ [$id, $text, $line] = $token;
99
+ }
100
+ $tokens[$index] = new static($id, $text, $line, $position);
101
+ $position += \strlen($text);
102
+ }
103
+
104
+ return $tokens;
105
+ }
106
+ }
@@ -1,25 +1,25 @@
1
- Symfony Polyfill / Php80
2
- ========================
3
-
4
- This component provides features added to PHP 8.0 core:
5
-
6
- - [`Stringable`](https://php.net/stringable) interface
7
- - [`fdiv`](https://php.net/fdiv)
8
- - [`ValueError`](https://php.net/valueerror) class
9
- - [`UnhandledMatchError`](https://php.net/unhandledmatcherror) class
10
- - `FILTER_VALIDATE_BOOL` constant
11
- - [`get_debug_type`](https://php.net/get_debug_type)
12
- - [`PhpToken`](https://php.net/phptoken) class
13
- - [`preg_last_error_msg`](https://php.net/preg_last_error_msg)
14
- - [`str_contains`](https://php.net/str_contains)
15
- - [`str_starts_with`](https://php.net/str_starts_with)
16
- - [`str_ends_with`](https://php.net/str_ends_with)
17
- - [`get_resource_id`](https://php.net/get_resource_id)
18
-
19
- More information can be found in the
20
- [main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md).
21
-
22
- License
23
- =======
24
-
25
- This library is released under the [MIT license](LICENSE).
1
+ Symfony Polyfill / Php80
2
+ ========================
3
+
4
+ This component provides features added to PHP 8.0 core:
5
+
6
+ - [`Stringable`](https://php.net/stringable) interface
7
+ - [`fdiv`](https://php.net/fdiv)
8
+ - [`ValueError`](https://php.net/valueerror) class
9
+ - [`UnhandledMatchError`](https://php.net/unhandledmatcherror) class
10
+ - `FILTER_VALIDATE_BOOL` constant
11
+ - [`get_debug_type`](https://php.net/get_debug_type)
12
+ - [`PhpToken`](https://php.net/phptoken) class
13
+ - [`preg_last_error_msg`](https://php.net/preg_last_error_msg)
14
+ - [`str_contains`](https://php.net/str_contains)
15
+ - [`str_starts_with`](https://php.net/str_starts_with)
16
+ - [`str_ends_with`](https://php.net/str_ends_with)
17
+ - [`get_resource_id`](https://php.net/get_resource_id)
18
+
19
+ More information can be found in the
20
+ [main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md).
21
+
22
+ License
23
+ =======
24
+
25
+ This library is released under the [MIT license](LICENSE).
@@ -1,31 +1,31 @@
1
- <?php
2
-
3
- /*
4
- * This file is part of the Symfony package.
5
- *
6
- * (c) Fabien Potencier <fabien@symfony.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
-
12
- #[Attribute(Attribute::TARGET_CLASS)]
13
- final class Attribute
14
- {
15
- public const TARGET_CLASS = 1;
16
- public const TARGET_FUNCTION = 2;
17
- public const TARGET_METHOD = 4;
18
- public const TARGET_PROPERTY = 8;
19
- public const TARGET_CLASS_CONSTANT = 16;
20
- public const TARGET_PARAMETER = 32;
21
- public const TARGET_ALL = 63;
22
- public const IS_REPEATABLE = 64;
23
-
24
- /** @var int */
25
- public $flags;
26
-
27
- public function __construct(int $flags = self::TARGET_ALL)
28
- {
29
- $this->flags = $flags;
30
- }
31
- }
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ #[Attribute(Attribute::TARGET_CLASS)]
13
+ final class Attribute
14
+ {
15
+ public const TARGET_CLASS = 1;
16
+ public const TARGET_FUNCTION = 2;
17
+ public const TARGET_METHOD = 4;
18
+ public const TARGET_PROPERTY = 8;
19
+ public const TARGET_CLASS_CONSTANT = 16;
20
+ public const TARGET_PARAMETER = 32;
21
+ public const TARGET_ALL = 63;
22
+ public const IS_REPEATABLE = 64;
23
+
24
+ /** @var int */
25
+ public $flags;
26
+
27
+ public function __construct(int $flags = self::TARGET_ALL)
28
+ {
29
+ $this->flags = $flags;
30
+ }
31
+ }
@@ -1,16 +1,16 @@
1
- <?php
2
-
3
- /*
4
- * This file is part of the Symfony package.
5
- *
6
- * (c) Fabien Potencier <fabien@symfony.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
-
12
- if (\PHP_VERSION_ID < 80000 && extension_loaded('tokenizer')) {
13
- class PhpToken extends Symfony\Polyfill\Php80\PhpToken
14
- {
15
- }
16
- }
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ if (\PHP_VERSION_ID < 80000 && extension_loaded('tokenizer')) {
13
+ class PhpToken extends Symfony\Polyfill\Php80\PhpToken
14
+ {
15
+ }
16
+ }
@@ -1,20 +1,20 @@
1
- <?php
2
-
3
- /*
4
- * This file is part of the Symfony package.
5
- *
6
- * (c) Fabien Potencier <fabien@symfony.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
-
12
- if (\PHP_VERSION_ID < 80000) {
13
- interface Stringable
14
- {
15
- /**
16
- * @return string
17
- */
18
- public function __toString();
19
- }
20
- }
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ if (\PHP_VERSION_ID < 80000) {
13
+ interface Stringable
14
+ {
15
+ /**
16
+ * @return string
17
+ */
18
+ public function __toString();
19
+ }
20
+ }
@@ -1,16 +1,16 @@
1
- <?php
2
-
3
- /*
4
- * This file is part of the Symfony package.
5
- *
6
- * (c) Fabien Potencier <fabien@symfony.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
-
12
- if (\PHP_VERSION_ID < 80000) {
13
- class UnhandledMatchError extends Error
14
- {
15
- }
16
- }
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ if (\PHP_VERSION_ID < 80000) {
13
+ class UnhandledMatchError extends Error
14
+ {
15
+ }
16
+ }