|
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | | -<files psalm-version="5.24.0@462c80e31c34e58cc4f750c656be3927e80e550e"> |
| 2 | +<files psalm-version="5.25.0@01a8eb06b9e9cc6cfb6a320bf9fb14331919d505"> |
3 | 3 | <file src="src/Cache.php"> |
4 | | - <MixedAssignment> |
5 | | - <code><![CDATA[$value]]></code> |
6 | | - </MixedAssignment> |
7 | 4 | <MixedInferredReturnType> |
8 | 5 | <code><![CDATA[bool]]></code> |
9 | 6 | </MixedInferredReturnType> |
10 | 7 | <MixedReturnStatement> |
11 | 8 | <code><![CDATA[$this->cache->flush()]]></code> |
12 | 9 | </MixedReturnStatement> |
13 | 10 | <PossiblyInvalidPropertyAssignmentValue> |
14 | | - <code><![CDATA[$tags ? $cache->tags($tags) : $cache]]></code> |
| 11 | + <code><![CDATA[($tags === [] || !$cache->supportsTags()) ? $cache : $cache->tags($tags)]]></code> |
15 | 12 | </PossiblyInvalidPropertyAssignmentValue> |
16 | 13 | </file> |
17 | 14 | <file src="src/Console/Clear.php"> |
| 15 | + <DeprecatedMethod> |
| 16 | + <code><![CDATA[fire]]></code> |
| 17 | + </DeprecatedMethod> |
18 | 18 | <InvalidReturnStatement> |
19 | 19 | <code><![CDATA[$this->output->error('Default cache system does not support tags')]]></code> |
20 | 20 | </InvalidReturnStatement> |
|
32 | 32 | <code><![CDATA[Clear]]></code> |
33 | 33 | <code><![CDATA[Clear]]></code> |
34 | 34 | </PropertyNotSetInConstructor> |
35 | | - <UndefinedFunction> |
36 | | - <code><![CDATA[config('cache.default')]]></code> |
37 | | - </UndefinedFunction> |
38 | 35 | </file> |
39 | 36 | <file src="src/Console/Update.php"> |
| 37 | + <DeprecatedMethod> |
| 38 | + <code><![CDATA[fire]]></code> |
| 39 | + </DeprecatedMethod> |
40 | 40 | <MixedArgument> |
41 | 41 | <code><![CDATA[$result]]></code> |
42 | 42 | <code><![CDATA[$service]]></code> |
|
58 | 58 | <code><![CDATA[Update]]></code> |
59 | 59 | </PropertyNotSetInConstructor> |
60 | 60 | </file> |
| 61 | + <file src="src/Contracts/ServiceInterface.php"> |
| 62 | + <InvalidParamDefault> |
| 63 | + <code><![CDATA[LocationArray]]></code> |
| 64 | + <code><![CDATA[LocationArray]]></code> |
| 65 | + </InvalidParamDefault> |
| 66 | + </file> |
61 | 67 | <file src="src/GeoIP.php"> |
| 68 | + <DeprecatedConstant> |
| 69 | + <code><![CDATA[Logger::ERROR]]></code> |
| 70 | + </DeprecatedConstant> |
| 71 | + <DeprecatedMethod> |
| 72 | + <code><![CDATA[setPrefix]]></code> |
| 73 | + </DeprecatedMethod> |
| 74 | + <DeprecatedProperty> |
| 75 | + <code><![CDATA[$this->remote_ip]]></code> |
| 76 | + <code><![CDATA[$this->remote_ip]]></code> |
| 77 | + </DeprecatedProperty> |
62 | 78 | <DocblockTypeContradiction> |
63 | 79 | <code><![CDATA[$this->currencies === null]]></code> |
64 | 80 | <code><![CDATA[$this->service === null]]></code> |
65 | 81 | </DocblockTypeContradiction> |
66 | 82 | <InvalidPropertyAssignmentValue> |
67 | | - <code><![CDATA[$this->default_location['ip'] = $this->getClientIP()]]></code> |
68 | 83 | <code><![CDATA[new Cache( |
69 | 84 | $cache, |
70 | 85 | $this->config('cache_tags'), |
|
86 | 101 | <code><![CDATA[$this->config('cache_tags')]]></code> |
87 | 102 | <code><![CDATA[$this->config('default_location', [])]]></code> |
88 | 103 | </MixedArgument> |
| 104 | + <MixedArgumentTypeCoercion> |
| 105 | + <code><![CDATA[$this->default_location]]></code> |
| 106 | + </MixedArgumentTypeCoercion> |
89 | 107 | <MixedAssignment> |
90 | 108 | <code><![CDATA[$class]]></code> |
91 | 109 | <code><![CDATA[$config]]></code> |
92 | | - <code><![CDATA[$log]]></code> |
93 | 110 | </MixedAssignment> |
94 | 111 | <MixedInferredReturnType> |
95 | 112 | <code><![CDATA[string]]></code> |
96 | 113 | </MixedInferredReturnType> |
97 | 114 | <MixedMethodCall> |
98 | | - <code><![CDATA[error]]></code> |
99 | 115 | <code><![CDATA[new $class($config)]]></code> |
100 | | - <code><![CDATA[pushHandler]]></code> |
101 | 116 | </MixedMethodCall> |
102 | 117 | <MixedOperand> |
103 | 118 | <code><![CDATA[$this->config('service')]]></code> |
|
108 | 123 | <MoreSpecificReturnType> |
109 | 124 | <code><![CDATA[\InteractionDesignFoundation\GeoIP\Contracts\ServiceInterface]]></code> |
110 | 125 | </MoreSpecificReturnType> |
111 | | - <PossiblyInvalidArgument> |
112 | | - <code><![CDATA[$ip]]></code> |
113 | | - <code><![CDATA[$ip]]></code> |
114 | | - <code><![CDATA[$ip]]></code> |
115 | | - </PossiblyInvalidArgument> |
116 | 126 | <PossiblyNullArgument> |
117 | 127 | <code><![CDATA[$ip]]></code> |
118 | 128 | <code><![CDATA[$location->iso_code]]></code> |
119 | 129 | </PossiblyNullArgument> |
120 | 130 | <PossiblyNullPropertyAssignmentValue> |
121 | 131 | <code><![CDATA[null]]></code> |
122 | 132 | <code><![CDATA[null]]></code> |
123 | | - <code><![CDATA[null]]></code> |
124 | 133 | </PossiblyNullPropertyAssignmentValue> |
125 | 134 | <PropertyNotSetInConstructor> |
126 | 135 | <code><![CDATA[$service]]></code> |
127 | 136 | </PropertyNotSetInConstructor> |
128 | 137 | <PropertyTypeCoercion> |
129 | 138 | <code><![CDATA[new $class($config)]]></code> |
130 | 139 | </PropertyTypeCoercion> |
131 | | - <RedundantCondition> |
132 | | - <code><![CDATA['some']]></code> |
133 | | - </RedundantCondition> |
134 | | - <UndefinedClass> |
135 | | - <code><![CDATA[Logger]]></code> |
136 | | - <code><![CDATA[Logger]]></code> |
137 | | - <code><![CDATA[StreamHandler]]></code> |
138 | | - </UndefinedClass> |
| 140 | + <RiskyTruthyFalsyComparison> |
| 141 | + <code><![CDATA[! $location->currency]]></code> |
| 142 | + <code><![CDATA[$address = getenv($key)]]></code> |
| 143 | + <code><![CDATA[$ip]]></code> |
| 144 | + </RiskyTruthyFalsyComparison> |
139 | 145 | </file> |
140 | 146 | <file src="src/GeoIPServiceProvider.php"> |
141 | 147 | <MissingClosureParamType> |
|
154 | 160 | <MixedPropertyFetch> |
155 | 161 | <code><![CDATA[$app->config]]></code> |
156 | 162 | </MixedPropertyFetch> |
157 | | - <UndefinedFunction> |
158 | | - <code><![CDATA[config_path('geoip.php')]]></code> |
159 | | - </UndefinedFunction> |
160 | 163 | </file> |
161 | 164 | <file src="src/Location.php"> |
| 165 | + <InvalidParamDefault> |
| 166 | + <code><![CDATA[LocationArray]]></code> |
| 167 | + </InvalidParamDefault> |
162 | 168 | <MissingParamType> |
163 | 169 | <code><![CDATA[$key]]></code> |
164 | 170 | <code><![CDATA[$value]]></code> |
|
189 | 195 | <code><![CDATA[$this->config('continent_path')]]></code> |
190 | 196 | <code><![CDATA[$this->config('continent_path')]]></code> |
191 | 197 | </MixedArgument> |
| 198 | + <MixedArgumentTypeCoercion> |
| 199 | + <code><![CDATA[[ |
| 200 | + 'ip' => $ip, |
| 201 | + 'iso_code' => $json->countryCode, |
| 202 | + 'country' => $json->country, |
| 203 | + 'city' => $json->city, |
| 204 | + 'state' => $json->region, |
| 205 | + 'state_name' => $json->regionName, |
| 206 | + 'postal_code' => $json->zip, |
| 207 | + 'lat' => $json->lat, |
| 208 | + 'lon' => $json->lon, |
| 209 | + 'timezone' => $json->timezone, |
| 210 | + 'continent' => $this->getContinent($json->countryCode), |
| 211 | + ]]]></code> |
| 212 | + </MixedArgumentTypeCoercion> |
192 | 213 | <MixedAssignment> |
193 | 214 | <code><![CDATA[$base['query']['key']]]></code> |
194 | | - <code><![CDATA[$json]]></code> |
195 | 215 | <code><![CDATA[$path]]></code> |
196 | 216 | <code><![CDATA[$this->continents]]></code> |
197 | 217 | </MixedAssignment> |
198 | 218 | <MixedInferredReturnType> |
199 | 219 | <code><![CDATA[string]]></code> |
200 | 220 | </MixedInferredReturnType> |
201 | | - <MixedOperand> |
202 | | - <code><![CDATA[$json->message]]></code> |
203 | | - </MixedOperand> |
204 | 221 | <MixedPropertyFetch> |
205 | | - <code><![CDATA[$json->city]]></code> |
206 | | - <code><![CDATA[$json->country]]></code> |
207 | | - <code><![CDATA[$json->countryCode]]></code> |
208 | | - <code><![CDATA[$json->lat]]></code> |
209 | | - <code><![CDATA[$json->lon]]></code> |
210 | 222 | <code><![CDATA[$json->message]]></code> |
211 | | - <code><![CDATA[$json->region]]></code> |
212 | | - <code><![CDATA[$json->regionName]]></code> |
213 | | - <code><![CDATA[$json->status]]></code> |
214 | | - <code><![CDATA[$json->timezone]]></code> |
215 | | - <code><![CDATA[$json->zip]]></code> |
216 | 223 | </MixedPropertyFetch> |
217 | 224 | <MixedReturnStatement> |
218 | 225 | <code><![CDATA[Arr::get($this->continents, $code, 'Unknown')]]></code> |
|
235 | 242 | <code><![CDATA[$json]]></code> |
236 | 243 | <code><![CDATA[$json]]></code> |
237 | 244 | </MixedArgument> |
| 245 | + <MixedArgumentTypeCoercion> |
| 246 | + <code><![CDATA[[ |
| 247 | + 'ip' => $ip, |
| 248 | + 'iso_code' => $json['country_code'], |
| 249 | + 'country' => $json['country_name'], |
| 250 | + 'city' => $json['city'], |
| 251 | + 'state' => $json['region_code'], |
| 252 | + 'state_name' => $json['region'], |
| 253 | + 'postal_code' => $json['postal'], |
| 254 | + 'lat' => $json['latitude'], |
| 255 | + 'lon' => $json['longitude'], |
| 256 | + 'timezone' => Arr::get($json, 'time_zone.name'), |
| 257 | + 'continent' => Arr::get($json, 'continent_code'), |
| 258 | + 'currency' => Arr::get($json, 'currency.code'), |
| 259 | + ]]]></code> |
| 260 | + </MixedArgumentTypeCoercion> |
238 | 261 | <MixedArrayAccess> |
239 | 262 | <code><![CDATA[$json['city']]]></code> |
240 | 263 | <code><![CDATA[$json['country_code']]]></code> |
|
280 | 303 | </RedundantConditionGivenDocblockType> |
281 | 304 | </file> |
282 | 305 | <file src="src/Services/MaxMindDatabase.php"> |
283 | | - <ImplicitToStringCast> |
284 | | - <code><![CDATA[$file]]></code> |
285 | | - </ImplicitToStringCast> |
286 | | - <MissingClosureParamType> |
287 | | - <code><![CDATA[$directory]]></code> |
288 | | - </MissingClosureParamType> |
| 306 | + <InvalidReturnStatement> |
| 307 | + <code><![CDATA[$localizations]]></code> |
| 308 | + </InvalidReturnStatement> |
| 309 | + <InvalidReturnType> |
| 310 | + <code><![CDATA[array<string, string|null>]]></code> |
| 311 | + </InvalidReturnType> |
289 | 312 | <MixedArgument> |
290 | | - <code><![CDATA[$directory]]></code> |
291 | | - <code><![CDATA[$directory]]></code> |
292 | | - <code><![CDATA[$path]]></code> |
293 | | - <code><![CDATA[$path]]></code> |
294 | | - <code><![CDATA[$path]]></code> |
295 | | - <code><![CDATA[$path]]></code> |
| 313 | + <code><![CDATA[$lang]]></code> |
| 314 | + <code><![CDATA[$lang]]></code> |
| 315 | + <code><![CDATA[$lang]]></code> |
296 | 316 | <code><![CDATA[$this->config('database_path')]]></code> |
297 | 317 | <code><![CDATA[$this->config('locales', ['en'])]]></code> |
298 | 318 | <code><![CDATA[$this->config('update_url')]]></code> |
299 | 319 | </MixedArgument> |
| 320 | + <MixedArrayOffset> |
| 321 | + <code><![CDATA[$localizations[$lang]]]></code> |
| 322 | + <code><![CDATA[$localizations[$lang]]]></code> |
| 323 | + <code><![CDATA[$localizations[$lang]]]></code> |
| 324 | + </MixedArrayOffset> |
300 | 325 | <MixedAssignment> |
301 | | - <code><![CDATA[$file]]></code> |
302 | | - <code><![CDATA[$path]]></code> |
| 326 | + <code><![CDATA[$lang]]></code> |
| 327 | + <code><![CDATA[$localizations[$lang]['city']]]></code> |
| 328 | + <code><![CDATA[$localizations[$lang]['country']]]></code> |
| 329 | + <code><![CDATA[$localizations[$lang]['state_name']]]></code> |
303 | 330 | </MixedAssignment> |
304 | | - <MixedMethodCall> |
305 | | - <code><![CDATA[getFilename]]></code> |
306 | | - </MixedMethodCall> |
307 | | - <PossiblyInvalidMethodCall> |
308 | | - <code><![CDATA[getPathName]]></code> |
309 | | - <code><![CDATA[isDir]]></code> |
310 | | - </PossiblyInvalidMethodCall> |
311 | 331 | </file> |
312 | 332 | <file src="src/Services/MaxMindWebService.php"> |
| 333 | + <InvalidReturnStatement> |
| 334 | + <code><![CDATA[$localizations]]></code> |
| 335 | + </InvalidReturnStatement> |
| 336 | + <InvalidReturnType> |
| 337 | + <code><![CDATA[array<string, string|null>]]></code> |
| 338 | + </InvalidReturnType> |
313 | 339 | <MixedArgument> |
| 340 | + <code><![CDATA[$lang]]></code> |
| 341 | + <code><![CDATA[$lang]]></code> |
| 342 | + <code><![CDATA[$lang]]></code> |
314 | 343 | <code><![CDATA[$this->config('license_key')]]></code> |
315 | 344 | <code><![CDATA[$this->config('locales', ['en'])]]></code> |
316 | 345 | <code><![CDATA[$this->config('user_id')]]></code> |
317 | 346 | </MixedArgument> |
| 347 | + <MixedArrayOffset> |
| 348 | + <code><![CDATA[$localizations[$lang]]]></code> |
| 349 | + <code><![CDATA[$localizations[$lang]]]></code> |
| 350 | + <code><![CDATA[$localizations[$lang]]]></code> |
| 351 | + </MixedArrayOffset> |
| 352 | + <MixedAssignment> |
| 353 | + <code><![CDATA[$lang]]></code> |
| 354 | + <code><![CDATA[$localizations[$lang]['city']]]></code> |
| 355 | + <code><![CDATA[$localizations[$lang]['country']]]></code> |
| 356 | + <code><![CDATA[$localizations[$lang]['state_name']]]></code> |
| 357 | + </MixedAssignment> |
318 | 358 | </file> |
319 | 359 | <file src="src/Support/HttpClient.php"> |
320 | 360 | <DocblockTypeContradiction> |
321 | 361 | <code><![CDATA[is_null($this->errors)]]></code> |
322 | 362 | </DocblockTypeContradiction> |
323 | | - <InvalidScalarArgument> |
324 | | - <code><![CDATA[$response]]></code> |
325 | | - <code><![CDATA[$response]]></code> |
326 | | - </InvalidScalarArgument> |
327 | 363 | <MixedArgument> |
328 | | - <code><![CDATA[$header_size]]></code> |
329 | 364 | <code><![CDATA[$header_size]]></code> |
330 | 365 | <code><![CDATA[Arr::get($this->config, 'headers', [])]]></code> |
331 | 366 | <code><![CDATA[Arr::get($this->config, 'query', [])]]></code> |
|
342 | 377 | <code><![CDATA[null]]></code> |
343 | 378 | <code><![CDATA[null]]></code> |
344 | 379 | </PossiblyNullPropertyAssignmentValue> |
| 380 | + <RiskyTruthyFalsyComparison> |
| 381 | + <code><![CDATA[strpos($url, '?')]]></code> |
| 382 | + </RiskyTruthyFalsyComparison> |
345 | 383 | </file> |
346 | 384 | <file src="src/helpers.php"> |
347 | 385 | <MixedInferredReturnType> |
348 | | - <code><![CDATA[\InteractionDesignFoundation\GeoIP\GeoIP|\InteractionDesignFoundation\GeoIP\Location]]></code> |
| 386 | + <code><![CDATA[($ip is null ? \InteractionDesignFoundation\GeoIP\GeoIP : \InteractionDesignFoundation\GeoIP\Location)]]></code> |
349 | 387 | </MixedInferredReturnType> |
350 | 388 | <MixedMethodCall> |
351 | 389 | <code><![CDATA[getLocation]]></code> |
|
0 commit comments