HEX
Server: Apache
System: Linux cpanelx.inxs.ro 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: crowdandsafety (1041)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/root/proc/self/cwd/wp-content/plugins/cornerstone/includes/classes/Parsy/JsonParser.php
<?php

namespace Themeco\Cornerstone\Parsy;

use Themeco\Cornerstone\Parsy\P;

class JsonParser {

  public $language;

  public function __construct( $args = [] ) {

    $this->language = P::createLanguage([
      'value' => function ($l) {
        return P::any(
          $l->object,
          $l->array,
          $l->string,
          P::scalarNumber(),
          P::scalarNull(),
          P::scalarTrue(),
          P::scalarFalse()
        );
      },

      'string' => P::ws(P::doubleQuotedEscapedString()),

      'pair' => function( $l ) {
        return $l->string->skip( P::colon() )->next($l->value)->name('pair');
      },

      'array' => function( $l ) {
        return P::betweenBracketsSepByCommaStrict($l->value);
      },

      'object' => function($l) {
        return P::betweenBracesSepByCommaStrict($l->pair)->map(function ($pairs) {
          $result = new \stdClass;
          foreach ( $pairs as $pair ) {
            list($key, $value) = $pair;
            $result->{$key} = $value;
          }
          return $result;
        })->name('object');
      }
    ]);

  }

  public function __get($key) {
    return $this->language->{$key};
  }

}