PluginProbe
WCPOS – Point of Sale (POS) plugin for WooCommerce / 1.10.3
WCPOS – Point of Sale (POS) plugin for WooCommerce v1.10.3
1.10.19 1.10.18 1.10.17 1.10.16 1.10.15 1.10.13 1.10.14 1.10.12 1.10.11 1.10.10 1.10.9 1.10.8 untagged-3d9b7ccddc54df87c672 1.10.7 1.10.6 1.10.5 1.10.3 1.10.4 1.10.2 1.10.1 1.10.0 1.9.17 1.9.15 1.9.16 1.9.14 All 163 releases
woocommerce-pos / vendor / symfony / polyfill-php80 / Php80.php

Php80.php in WCPOS – Point of Sale (POS) plugin for WooCommerce 1.10.3, at vendor/symfony/polyfill-php80/Php80.php

116 lines 3.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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 }
116