HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: /var/www/html/appointmentbook.me/wp-content/plugins/mailpoet/lib/Automation/Engine/Utils/Json.php
<?php declare(strict_types = 1);

namespace MailPoet\Automation\Engine\Utils;

if (!defined('ABSPATH')) exit;


use MailPoet\Automation\Engine\Exceptions;
use MailPoet\Automation\Engine\Exceptions\InvalidStateException;

class Json {
  public static function encode(array $value): string {
    $json = json_encode((object)$value, JSON_UNESCAPED_SLASHES | JSON_PRESERVE_ZERO_FRACTION);
    $error = json_last_error();
    if ($error || $json === false) {
      throw new InvalidStateException(json_last_error_msg(), (string)$error);
    }
    return $json;
  }

  public static function decode(string $json): array {
    $value = json_decode($json, true);
    $error = json_last_error();
    if ($error) {
      throw new InvalidStateException(json_last_error_msg(), (string)$error);
    }
    if (!is_array($value)) {
      throw Exceptions::jsonNotObject($json);
    }
    return $value;
  }
}