orklah/psalm-elvis-begone

Replace Elvis operator (?:) by null coalesce operator (??) when applicable

Installs: 8 303

Dependents: 0

Suggesters: 0

Security: 0

Stars: 7

Watchers: 2

Forks: 0

Open Issues: 1

Type:psalm-plugin

v1.0.0 2021-10-13 16:15 UTC

This package is auto-updated.

Last update: 2024-04-15 01:05:46 UTC


README

A Psalm plugin to replace Elvis operator (?:) by null coalesce operator (??) when applicable

Installation:

$ composer require --dev orklah/psalm-elvis-begone
$ vendor/bin/psalm-plugin enable orklah/psalm-elvis-begone

Usage:

Run Psalter command:

$ vendor/bin/psalm --alter --plugin=vendor/orklah/psalm-elvis-begone/src/Plugin.php

Explanation:

The short ternary operator (or Elvis operator ?: ) is used to evaluate return its condition if it's true or the second operand if it's not.

When the type is known and the only falsy value is null, we can actually replace it with the null coalesce operator (??) for strictness and clarity.

It will prevent future values to be evaluated to false when it was not the intention