1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-15 02:47:02 +01:00
psalm/src/Psalm/Internal/Json/Json.php
orklah f66d57f19d
add native return types (#4116)
* add native return types

* remove redundant phpdoc
2020-09-04 16:26:33 -04:00

43 lines
844 B
PHP

<?php
namespace Psalm\Internal\Json;
use RuntimeException;
use function json_encode;
use const JSON_PRETTY_PRINT;
use const JSON_UNESCAPED_SLASHES;
use const JSON_UNESCAPED_UNICODE;
/**
* Provides ability of pretty printed JSON output.
*/
class Json
{
public const PRETTY = JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE;
/**
* @var int
*/
public const DEFAULT = 0;
/**
* @param mixed $data
*
*
* @psalm-pure
*/
public static function encode($data, ?int $options = null): string
{
if ($options === null) {
$options = self::DEFAULT;
}
$result = json_encode($data, $options);
if ($result === false) {
throw new RuntimeException('Cannot create JSON string.');
}
return $result;
}
}