content = $content; } public function getContent(): mixed { return $this->content; } public function jsonSerialize(): mixed { return $this->content; } public function encode(): string { return Serialiser::json()->serialise($this->content); } public function __toString(): string { return $this->encode(); } public static function fromEncoded(Stream|string $encoded): JsonContent { return new JsonContent(Serialiser::json()->deserialise($encoded)); } public static function fromFile(string $path): JsonContent { return self::fromEncoded(FileStream::openRead($path)); } public static function fromRequest(): JsonContent { return self::fromFile('php://input'); } }