public static function pascalCase($value)
    {
        if (isset(static::$pascalCache[$value])) {
            return static::$pascalCache[$value];
        }

        $value = static::normalizeScreamingCase($value);
        return static::$pascalCache[$value] = str_replace(' ', '', ucwords(str_replace(['-', '_'], ' ', $value)));
    }