public function getParser(string $type): ParserContract
    {
        if (isset(self::$supportedParsers[$type])) {
            return new self::$supportedParsers[$type]();
        }

        if (isset(self::$supportedMimeTypes[$type])) {
            $class = self::$supportedParsers[self::$supportedMimeTypes[$type]];

            if (\is_object($class) && $class instanceof ParserContract) {
                return $class;
            }

            return new $class();
        }

        throw new NotSupportedException(\sprintf('Given extension or mime type [%s] is not supported.', $type));
    }
public function getParser(string $type): ParserContract
    {
        if (isset(self::$supportedParsers[$type])) {
            return new self::$supportedParsers[$type]();
        }

        if (isset(self::$supportedMimeTypes[$type])) {
            $class = self::$supportedParsers[self::$supportedMimeTypes[$type]];

            if (\is_object($class) && $class instanceof ParserContract) {
                return $class;
            }

            return new $class();
        }

        throw new NotSupportedException(\sprintf('Given extension or mime type [%s] is not supported.', $type));
    }
public function getParser ( string $ type ) : ParserContract { if ( isset ( self :: $ supportedParsers [ $ type ] ) ) { return new self :: $ supportedParsers [ $ type ] ( ) ; } if ( isset ( self :: $ supportedMimeTypes [ $ type ] ) ) { $ class = self :: $ supportedParsers [ self :: $ supportedMimeTypes [ $ type ] ] ; if ( \ is_object ( $ class ) && $ class instanceof ParserContract ) { return $ class ; } return new $ class ( ) ; } throw new NotSupportedException ( \ sprintf ( 'Given extension or mime type [%s] is not supported.' , $ type ) ) ; }
Get supported parser on extension or mime type.

@param string $type

@throws \Viserio\Component\Contract\Parser\Exception\NotSupportedException

@return \Viserio\Component\Contract\Parser\Parser
Get supported parser on extension or mime type .