/
proc
/
self
/
root
/
home
/
henzagold
/
server
/
vendor
/
thunderer
/
shortcode
/
src
/
Serializer
/
File Upload :
llllll
Current File: //proc/self/root/home/henzagold/server/vendor/thunderer/shortcode/src/Serializer/JsonSerializer.php
<?php namespace Thunder\Shortcode\Serializer; use Thunder\Shortcode\Shortcode\Shortcode; use Thunder\Shortcode\Shortcode\ShortcodeInterface; /** * @author Tomasz Kowalczyk <tomasz@kowalczyk.cc> */ final class JsonSerializer implements SerializerInterface { public function serialize(ShortcodeInterface $shortcode) { return json_encode(array( 'name' => $shortcode->getName(), 'parameters' => $shortcode->getParameters(), 'content' => $shortcode->getContent(), 'bbCode' => $shortcode->getBbCode(), )); } /** * @param string $text * * @return Shortcode */ public function unserialize($text) { /** @psalm-var array{name:string,parameters:array<string,string|null>,bbCode:string|null,content:string|null}|null $data */ $data = json_decode($text, true); if (!is_array($data)) { throw new \InvalidArgumentException('Invalid JSON, cannot unserialize Shortcode!'); } if (!array_diff_key($data, array('name', 'parameters', 'content'))) { throw new \InvalidArgumentException('Malformed Shortcode JSON, expected name, parameters, and content!'); } /** @var string $name */ $name = array_key_exists('name', $data) ? $data['name'] : null; $parameters = array_key_exists('parameters', $data) ? $data['parameters'] : array(); $content = array_key_exists('content', $data) ? $data['content'] : null; $bbCode = array_key_exists('bbCode', $data) ? $data['bbCode'] : null; /** @psalm-suppress DocblockTypeContradiction */ if(!is_array($parameters)) { throw new \InvalidArgumentException('Parameters must be an array!'); } return new Shortcode($name, $parameters, $content, $bbCode); } }
Copyright ©2k19 -
Hexid
|
Tex7ure