REDROOM
PHP 7.4.33
Path:
Logout
Edit File
Size: 2.64 KB
Close
/home/godevadmin/www/admin/vendor/aws/JmesPath/CompilerRuntime.php
Text
Base64
<?php namespace JmesPath; /** * Compiles JMESPath expressions to PHP source code and executes it. * * JMESPath file names are stored in the cache directory using the following * logic to determine the filename: * * 1. Start with the string "jmespath_" * 2. Append the MD5 checksum of the expression. * 3. Append ".php" */ class CompilerRuntime { private $parser; private $compiler; private $cacheDir; private $interpreter; /** * @param string|null $dir Directory used to store compiled PHP files. * @param Parser|null $parser JMESPath parser to utilize * @throws \RuntimeException if the cache directory cannot be created */ public function __construct($dir = null, Parser $parser = null) { $this->parser = $parser ?: new Parser(); $this->compiler = new TreeCompiler(); $dir = $dir ?: sys_get_temp_dir(); if (!is_dir($dir) && !mkdir($dir, 0755, true)) { throw new \RuntimeException("Unable to create cache directory: $dir"); } $this->cacheDir = realpath($dir); $this->interpreter = new TreeInterpreter(); } /** * 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 * @throws \RuntimeException */ public function __invoke($expression, $data) { $functionName = 'jmespath_' . md5($expression); if (!function_exists($functionName)) { $filename = "{$this->cacheDir}/{$functionName}.php"; if (!file_exists($filename)) { $this->compile($filename, $expression, $functionName); } require $filename; } return $functionName($this->interpreter, $data); } private function compile($filename, $expression, $functionName) { $code = $this->compiler->visit( $this->parser->parse($expression), $functionName, $expression ); if (!file_put_contents($filename, $code)) { throw new \RuntimeException(sprintf( 'Unable to write the compiled PHP code to: %s (%s)', $filename, var_export(error_get_last(), true) )); } } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 12
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
AstRuntime.php
1.47 KB
lrwxrwxr-x
2024-06-18 20:12:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CompilerRuntime.php
2.64 KB
lrwxrwxr-x
2024-06-18 20:12:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DebugRuntime.php
3.22 KB
lrwxrwxr-x
2024-06-18 20:12:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Env.php
2.51 KB
lrwxrwxr-x
2024-06-18 20:12:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
FnDispatcher.php
12.58 KB
lrwxrwxr-x
2024-06-18 20:12:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
JmesPath.php
390 B
lrwxrwxr-x
2024-06-18 20:12:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Lexer.php
15.34 KB
lrwxrwxr-x
2024-06-18 20:12:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Parser.php
14.40 KB
lrwxrwxr-x
2024-06-18 20:12:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
SyntaxErrorException.php
1.14 KB
lrwxrwxr-x
2024-06-18 20:12:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
TreeCompiler.php
13.18 KB
lrwxrwxr-x
2024-06-18 20:12:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
TreeInterpreter.php
7.88 KB
lrwxrwxr-x
2024-06-18 20:12:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Utils.php
7.52 KB
lrwxrwxr-x
2024-06-18 20:12:08
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).