diff options
Diffstat (limited to 'vendor/thecodingmachine/safe/generated/json.php')
-rw-r--r-- | vendor/thecodingmachine/safe/generated/json.php | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/vendor/thecodingmachine/safe/generated/json.php b/vendor/thecodingmachine/safe/generated/json.php new file mode 100644 index 000000000..dad455ccd --- /dev/null +++ b/vendor/thecodingmachine/safe/generated/json.php @@ -0,0 +1,73 @@ +<?php + +namespace Safe; + +use Safe\Exceptions\JsonException; + +/** + * Returns a string containing the JSON representation of the supplied + * value. + * + * The encoding is affected by the supplied options + * and additionally the encoding of float values depends on the value of + * serialize_precision. + * + * @param mixed $value The value being encoded. Can be any type except + * a resource. + * + * All string data must be UTF-8 encoded. + * + * PHP implements a superset of JSON as specified in the original + * RFC 7159. + * @param int $options Bitmask consisting of + * JSON_FORCE_OBJECT, + * JSON_HEX_QUOT, + * JSON_HEX_TAG, + * JSON_HEX_AMP, + * JSON_HEX_APOS, + * JSON_INVALID_UTF8_IGNORE, + * JSON_INVALID_UTF8_SUBSTITUTE, + * JSON_NUMERIC_CHECK, + * JSON_PARTIAL_OUTPUT_ON_ERROR, + * JSON_PRESERVE_ZERO_FRACTION, + * JSON_PRETTY_PRINT, + * JSON_UNESCAPED_LINE_TERMINATORS, + * JSON_UNESCAPED_SLASHES, + * JSON_UNESCAPED_UNICODE, + * JSON_THROW_ON_ERROR. + * The behaviour of these constants is described on the + * JSON constants page. + * @param int $depth Set the maximum depth. Must be greater than zero. + * @return string Returns a JSON encoded string on success. + * @throws JsonException + * + */ +function json_encode($value, int $options = 0, int $depth = 512): string +{ + error_clear_last(); + $result = \json_encode($value, $options, $depth); + if ($result === false) { + throw JsonException::createFromPhpError(); + } + return $result; +} + + +/** + * Returns the error string of the last json_encode or json_decode + * call, which did not specify JSON_THROW_ON_ERROR. + * + * @return string Returns the error message on success, "No error" if no + * error has occurred. + * @throws JsonException + * + */ +function json_last_error_msg(): string +{ + error_clear_last(); + $result = \json_last_error_msg(); + if ($result === false) { + throw JsonException::createFromPhpError(); + } + return $result; +} |