<?php

declare(strict_types=1);

namespace Logliy\Webmozart\Assert;

/** @internal Used by the Psalm plugin */
final class HasAssert
{
    public const HAS_ASSERT = [
        'string' => true,
        'nullorstring' => true,
        'allstring' => true,
        'allnullorstring' => true,
        'stringnotempty' => true,
        'nullorstringnotempty' => true,
        'allstringnotempty' => true,
        'allnullorstringnotempty' => true,
        'integer' => true,
        'nullorinteger' => true,
        'allinteger' => true,
        'allnullorinteger' => true,
        'integerish' => true,
        'nullorintegerish' => true,
        'allintegerish' => true,
        'allnullorintegerish' => true,
        'positiveinteger' => true,
        'nullorpositiveinteger' => true,
        'allpositiveinteger' => true,
        'allnullorpositiveinteger' => true,
        'notnegativeinteger' => true,
        'nullornotnegativeinteger' => true,
        'allnotnegativeinteger' => true,
        'allnullornotnegativeinteger' => true,
        'negativeinteger' => true,
        'nullornegativeinteger' => true,
        'allnegativeinteger' => true,
        'allnullornegativeinteger' => true,
        'float' => true,
        'nullorfloat' => true,
        'allfloat' => true,
        'allnullorfloat' => true,
        'numeric' => true,
        'nullornumeric' => true,
        'allnumeric' => true,
        'allnullornumeric' => true,
        'natural' => true,
        'nullornatural' => true,
        'allnatural' => true,
        'allnullornatural' => true,
        'boolean' => true,
        'nullorboolean' => true,
        'allboolean' => true,
        'allnullorboolean' => true,
        'scalar' => true,
        'nullorscalar' => true,
        'allscalar' => true,
        'allnullorscalar' => true,
        'object' => true,
        'nullorobject' => true,
        'allobject' => true,
        'allnullorobject' => true,
        'objectish' => true,
        'nullorobjectish' => true,
        'allobjectish' => true,
        'allnullorobjectish' => true,
        'resource' => true,
        'nullorresource' => true,
        'allresource' => true,
        'allnullorresource' => true,
        'iscallable' => true,
        'nulloriscallable' => true,
        'alliscallable' => true,
        'allnulloriscallable' => true,
        'isarray' => true,
        'nullorisarray' => true,
        'allisarray' => true,
        'allnullorisarray' => true,
        'isarrayaccessible' => true,
        'nullorisarrayaccessible' => true,
        'allisarrayaccessible' => true,
        'allnullorisarrayaccessible' => true,
        'iscountable' => true,
        'nulloriscountable' => true,
        'alliscountable' => true,
        'allnulloriscountable' => true,
        'isiterable' => true,
        'nullorisiterable' => true,
        'allisiterable' => true,
        'allnullorisiterable' => true,
        'isinstanceof' => true,
        'nullorisinstanceof' => true,
        'allisinstanceof' => true,
        'allnullorisinstanceof' => true,
        'notinstanceof' => true,
        'allnullornotinstanceof' => true,
        'isinstanceofany' => true,
        'nullorisinstanceofany' => true,
        'allisinstanceofany' => true,
        'allnullorisinstanceofany' => true,
        'isnotinstanceofany' => true,
        'nullorisnotinstanceofany' => true,
        'allisnotinstanceofany' => true,
        'allnullorisnotinstanceofany' => true,
        'isaof' => true,
        'nullorisaof' => true,
        'allisaof' => true,
        'allnullorisaof' => true,
        'isnota' => true,
        'allnullorisnota' => true,
        'isanyof' => true,
        'nullorisanyof' => true,
        'allisanyof' => true,
        'allnullorisanyof' => true,
        'isempty' => true,
        'nullorisempty' => true,
        'allisempty' => true,
        'allnullorisempty' => true,
        'notempty' => true,
        'allnullornotempty' => true,
        'null' => true,
        'allnull' => true,
        'notnull' => true,
        'true' => true,
        'nullortrue' => true,
        'alltrue' => true,
        'allnullortrue' => true,
        'false' => true,
        'nullorfalse' => true,
        'allfalse' => true,
        'allnullorfalse' => true,
        'notfalse' => true,
        'allnullornotfalse' => true,
        'uniquevalues' => true,
        'nulloruniquevalues' => true,
        'alluniquevalues' => true,
        'allnulloruniquevalues' => true,
        'lower' => true,
        'nullorlower' => true,
        'alllower' => true,
        'allnullorlower' => true,
        'upper' => true,
        'allnullorupper' => true,
        'classexists' => true,
        'nullorclassexists' => true,
        'allclassexists' => true,
        'allnullorclassexists' => true,
        'subclassof' => true,
        'nullorsubclassof' => true,
        'allsubclassof' => true,
        'allnullorsubclassof' => true,
        'interfaceexists' => true,
        'nullorinterfaceexists' => true,
        'allinterfaceexists' => true,
        'allnullorinterfaceexists' => true,
        'implementsinterface' => true,
        'nullorimplementsinterface' => true,
        'allimplementsinterface' => true,
        'allnullorimplementsinterface' => true,
        'validarraykey' => true,
        'nullorvalidarraykey' => true,
        'allvalidarraykey' => true,
        'allnullorvalidarraykey' => true,
        'islist' => true,
        'nullorislist' => true,
        'allislist' => true,
        'allnullorislist' => true,
        'isnonemptylist' => true,
        'nullorisnonemptylist' => true,
        'allisnonemptylist' => true,
        'allnullorisnonemptylist' => true,
        'ismap' => true,
        'nullorismap' => true,
        'allismap' => true,
        'allnullorismap' => true,
        'isnonemptymap' => true,
        'allnullorisnonemptymap' => true,
    ];
}
