404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@3.137.187.44: ~ $
<?php
namespace JmesPath;

/**
 * Uses an external tree visitor to interpret an AST.
 */
class AstRuntime
{
    private $parser;
    private $interpreter;
    private $cache = [];
    private $cachedCount = 0;

    public function __construct(
        Parser $parser = null,
        callable $fnDispatcher = null
    ) {
        $fnDispatcher = $fnDispatcher ?: FnDispatcher::getInstance();
        $this->interpreter = new TreeInterpreter($fnDispatcher);
        $this->parser = $parser ?: new Parser();
    }

    /**
     * Returns data from the provided input that matches a given JMESPath
     * expression.
     *
     * @param string $expression JMESPath expression to evaluate
     * @param mixed  $data       Data to search. This data should be data that
     *                           is similar to data returned from json_decode
     *                           using associative arrays rather than objects.
     *
     * @return mixed Returns the matching data or null
     */
    public function __invoke($expression, $data)
    {
        if (!isset($this->cache[$expression])) {
            // Clear the AST cache when it hits 1024 entries
            if (++$this->cachedCount > 1024) {
                $this->cache = [];
                $this->cachedCount = 0;
            }
            $this->cache[$expression] = $this->parser->parse($expression);
        }

        return $this->interpreter->visit($this->cache[$expression], $data);
    }
}

Filemanager

Name Type Size Permission Actions
AstRuntime.php File 1.43 KB 0644
CompilerRuntime.php File 2.56 KB 0644
DebugRuntime.php File 3.11 KB 0644
Env.php File 2.42 KB 0644
FnDispatcher.php File 12.18 KB 0644
JmesPath.php File 373 B 0644
Lexer.php File 14.9 KB 0644
Parser.php File 13.89 KB 0644
SyntaxErrorException.php File 1.11 KB 0644
TreeCompiler.php File 12.78 KB 0644
TreeInterpreter.php File 7.65 KB 0644
Utils.php File 7.27 KB 0644