create-berna-stencil 1.0.49 → 1.0.51

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 (177) hide show
  1. package/_tools/modules/updateIncludes.js +1 -1
  2. package/bin/create.js +2 -2
  3. package/docs/Components.md +54 -33
  4. package/docs/Head and SEO.md +33 -6
  5. package/docs/Styling with SCSS.md +8 -6
  6. package/package.json +58 -62
  7. package/src/backend/_core/vendor/composer/autoload_static.php +10 -10
  8. package/src/backend/_core/vendor/composer/installed.json +6 -6
  9. package/src/backend/_core/vendor/composer/installed.php +2 -2
  10. package/src/backend/_core/vendor/graham-campbell/result-type/.gitattributes +9 -0
  11. package/src/backend/_core/vendor/graham-campbell/result-type/.github/CODE_OF_CONDUCT.md +132 -0
  12. package/src/backend/_core/vendor/graham-campbell/result-type/.github/CONTRIBUTING.md +31 -0
  13. package/src/backend/_core/vendor/graham-campbell/result-type/.github/FUNDING.yml +2 -0
  14. package/src/backend/_core/vendor/graham-campbell/result-type/.github/SECURITY.md +14 -0
  15. package/src/backend/_core/vendor/graham-campbell/result-type/.github/workflows/stale.yml +11 -0
  16. package/src/backend/_core/vendor/graham-campbell/result-type/.github/workflows/tests.yml +40 -0
  17. package/src/backend/_core/vendor/graham-campbell/result-type/CHANGELOG.md +53 -0
  18. package/src/backend/_core/vendor/graham-campbell/result-type/LICENSE +21 -21
  19. package/src/backend/_core/vendor/graham-campbell/result-type/README.md +42 -0
  20. package/src/backend/_core/vendor/graham-campbell/result-type/composer.json +33 -33
  21. package/src/backend/_core/vendor/graham-campbell/result-type/phpunit.xml.dist +13 -0
  22. package/src/backend/_core/vendor/graham-campbell/result-type/src/Error.php +121 -121
  23. package/src/backend/_core/vendor/graham-campbell/result-type/src/Result.php +69 -69
  24. package/src/backend/_core/vendor/graham-campbell/result-type/src/Success.php +120 -120
  25. package/src/backend/_core/vendor/graham-campbell/result-type/tests/ResultTest.php +95 -0
  26. package/src/backend/_core/vendor/phpoption/phpoption/.gitattributes +13 -0
  27. package/src/backend/_core/vendor/phpoption/phpoption/.github/CODE_OF_CONDUCT.md +132 -0
  28. package/src/backend/_core/vendor/phpoption/phpoption/.github/CONTRIBUTING.md +30 -0
  29. package/src/backend/_core/vendor/phpoption/phpoption/.github/FUNDING.yml +2 -0
  30. package/src/backend/_core/vendor/phpoption/phpoption/.github/SECURITY.md +14 -0
  31. package/src/backend/_core/vendor/phpoption/phpoption/.github/workflows/static.yml +40 -0
  32. package/src/backend/_core/vendor/phpoption/phpoption/.github/workflows/tests.yml +40 -0
  33. package/src/backend/_core/vendor/phpoption/phpoption/LICENSE +200 -200
  34. package/src/backend/_core/vendor/phpoption/phpoption/Makefile +17 -0
  35. package/src/backend/_core/vendor/phpoption/phpoption/README.md +201 -0
  36. package/src/backend/_core/vendor/phpoption/phpoption/composer.json +50 -50
  37. package/src/backend/_core/vendor/phpoption/phpoption/phpstan-baseline.neon +44 -0
  38. package/src/backend/_core/vendor/phpoption/phpoption/phpstan.neon.dist +7 -0
  39. package/src/backend/_core/vendor/phpoption/phpoption/phpunit.xml.dist +13 -0
  40. package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +175 -175
  41. package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/None.php +136 -136
  42. package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Option.php +434 -434
  43. package/src/backend/_core/vendor/phpoption/phpoption/src/PhpOption/Some.php +169 -169
  44. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +72 -0
  45. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +357 -0
  46. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +153 -0
  47. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +166 -0
  48. package/src/backend/_core/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +194 -0
  49. package/src/backend/_core/vendor/phpoption/phpoption/tests/bootstrap.php +8 -0
  50. package/src/backend/_core/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +8 -0
  51. package/src/backend/_core/vendor/symfony/polyfill-ctype/Ctype.php +232 -232
  52. package/src/backend/_core/vendor/symfony/polyfill-ctype/LICENSE +19 -19
  53. package/src/backend/_core/vendor/symfony/polyfill-ctype/README.md +12 -12
  54. package/src/backend/_core/vendor/symfony/polyfill-ctype/bootstrap.php +50 -50
  55. package/src/backend/_core/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -46
  56. package/src/backend/_core/vendor/symfony/polyfill-ctype/composer.json +38 -38
  57. package/src/backend/_core/vendor/symfony/polyfill-mbstring/LICENSE +19 -19
  58. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Mbstring.php +1077 -1077
  59. package/src/backend/_core/vendor/symfony/polyfill-mbstring/README.md +13 -13
  60. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -119
  61. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -1397
  62. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -5
  63. package/src/backend/_core/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -1489
  64. package/src/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap.php +171 -171
  65. package/src/backend/_core/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -167
  66. package/src/backend/_core/vendor/symfony/polyfill-mbstring/composer.json +39 -39
  67. package/src/backend/_core/vendor/symfony/polyfill-php80/LICENSE +19 -19
  68. package/src/backend/_core/vendor/symfony/polyfill-php80/Php80.php +115 -115
  69. package/src/backend/_core/vendor/symfony/polyfill-php80/PhpToken.php +106 -106
  70. package/src/backend/_core/vendor/symfony/polyfill-php80/README.md +25 -25
  71. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -31
  72. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -16
  73. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -20
  74. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -16
  75. package/src/backend/_core/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -16
  76. package/src/backend/_core/vendor/symfony/polyfill-php80/bootstrap.php +42 -42
  77. package/src/backend/_core/vendor/symfony/polyfill-php80/composer.json +37 -37
  78. package/src/backend/_core/vendor/vlucas/phpdotenv/.editorconfig +15 -0
  79. package/src/backend/_core/vendor/vlucas/phpdotenv/.gitattributes +15 -0
  80. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/CODE_OF_CONDUCT.md +132 -0
  81. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/CONTRIBUTING.md +30 -0
  82. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/FUNDING.yml +2 -0
  83. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/SECURITY.md +14 -0
  84. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/workflows/static.yml +40 -0
  85. package/src/backend/_core/vendor/vlucas/phpdotenv/.github/workflows/tests.yml +70 -0
  86. package/src/backend/_core/vendor/vlucas/phpdotenv/LICENSE +30 -30
  87. package/src/backend/_core/vendor/vlucas/phpdotenv/Makefile +17 -0
  88. package/src/backend/_core/vendor/vlucas/phpdotenv/README.md +370 -0
  89. package/src/backend/_core/vendor/vlucas/phpdotenv/UPGRADING.md +196 -0
  90. package/src/backend/_core/vendor/vlucas/phpdotenv/composer.json +60 -60
  91. package/src/backend/_core/vendor/vlucas/phpdotenv/phpstan-baseline.neon +157 -0
  92. package/src/backend/_core/vendor/vlucas/phpdotenv/phpstan.neon.dist +7 -0
  93. package/src/backend/_core/vendor/vlucas/phpdotenv/phpunit.xml.dist +13 -0
  94. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Dotenv.php +267 -267
  95. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +12 -12
  96. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +12 -12
  97. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +12 -12
  98. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +12 -12
  99. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +12 -12
  100. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Loader.php +48 -48
  101. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +20 -20
  102. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +65 -65
  103. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Entry.php +59 -59
  104. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +299 -299
  105. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +58 -58
  106. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Lines.php +127 -127
  107. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Parser.php +53 -53
  108. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +19 -19
  109. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Parser/Value.php +88 -88
  110. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +15 -15
  111. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +89 -89
  112. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +80 -80
  113. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +88 -88
  114. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +85 -85
  115. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +110 -110
  116. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +48 -48
  117. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +64 -64
  118. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +91 -91
  119. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +17 -17
  120. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +104 -104
  121. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +88 -88
  122. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +27 -27
  123. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +107 -107
  124. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +272 -272
  125. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +51 -51
  126. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +44 -44
  127. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +81 -81
  128. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/FileStore.php +72 -72
  129. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +141 -141
  130. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +17 -17
  131. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Store/StringStore.php +37 -37
  132. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Util/Regex.php +112 -112
  133. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Util/Str.php +108 -108
  134. package/src/backend/_core/vendor/vlucas/phpdotenv/src/Validator.php +207 -207
  135. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +387 -0
  136. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +86 -0
  137. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +234 -0
  138. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +40 -0
  139. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +53 -0
  140. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +98 -0
  141. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +57 -0
  142. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +75 -0
  143. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +52 -0
  144. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +75 -0
  145. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +305 -0
  146. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +141 -0
  147. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +479 -0
  148. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +5 -0
  149. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +18 -0
  150. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +33 -0
  151. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +15 -0
  152. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +1 -0
  153. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +1 -0
  154. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +7 -0
  155. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +1 -0
  156. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +17 -0
  157. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +2 -0
  158. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +3 -0
  159. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +14 -0
  160. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +4 -0
  161. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +1 -0
  162. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +15 -0
  163. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +11 -0
  164. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +8 -0
  165. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +2 -0
  166. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +3 -0
  167. package/src/backend/_core/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +1 -0
  168. package/src/backend/_core/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +15 -0
  169. package/src/frontend/components/layouts/includes.njk +1 -0
  170. package/src/frontend/data/site.json +43 -43
  171. package/src/frontend/llms.njk +18 -0
  172. package/src/frontend/robots.njk +8 -0
  173. package/src/frontend/scss/modules/frameworks/_bootstrap.scss +63 -63
  174. package/src/frontend/scss/modules/frameworks/_bulma.scss +64 -64
  175. package/src/frontend/scss/modules/frameworks/_foundation.scss +97 -97
  176. package/src/frontend/scss/modules/frameworks/_uikit.scss +78 -78
  177. package/src/frontend/robots.txt +0 -4
@@ -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
+ }