init
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<?php
|
||||
Reference in New Issue
Block a user