|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / a / home / dev2.destoffenstraat.com / vendor / jms / serializer / src / JMS / Serializer / Util / |
Filename | /home/a/home/dev2.destoffenstraat.com/vendor/jms/serializer/src/JMS/Serializer/Util/Writer.php |
Size | 2.52 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 21-Aug-2025 12:26 |
Last modified | 22-Feb-2020 21:59 |
Last accessed | 23-Aug-2025 11:01 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
namespace JMS\Serializer\Util;
use JMS\Serializer\Exception\RuntimeException;
/**
* A writer implementation.
*
* This may be used to simplify writing well-formatted code.
*
* @author Johannes M. Schmitt <schmittjoh@gmail.com>
*/
class Writer
{
public $indentationSpaces = 4;
public $indentationLevel = 0;
public $content = '';
public $changeCount = 0;
private $changes = array();
public function indent()
{
$this->indentationLevel += 1;
return $this;
}
public function outdent()
{
$this->indentationLevel -= 1;
if ($this->indentationLevel < 0) {
throw new RuntimeException('The identation level cannot be less than zero.');
}
return $this;
}
/**
* @param string $content
*
* @return Writer
*/
public function writeln($content)
{
$this->write($content . "\n");
return $this;
}
public function revert()
{
$change = array_pop($this->changes);
$this->changeCount -= 1;
$this->content = substr($this->content, 0, -1 * \strlen($change));
}
/**
* @param string $content
*
* @return Writer
*/
public function write($content)
{
$addition = '';
$lines = explode("\n", $content);
for ($i = 0, $c = \count($lines); $i < $c; $i++) {
if ($this->indentationLevel > 0
&& !empty($lines[$i])
&& ((empty($addition) && "\n" === substr($this->content, -1)) || "\n" === substr($addition, -1))
) {
$addition .= str_repeat(' ', $this->indentationLevel * $this->indentationSpaces);
}
$addition .= $lines[$i];
if ($i + 1 < $c) {
$addition .= "\n";
}
}
$this->content .= $addition;
$this->changes[] = $addition;
$this->changeCount += 1;
return $this;
}
public function rtrim($preserveNewLines = true)
{
if (!$preserveNewLines) {
$this->content = rtrim($this->content);
return $this;
}
$addNl = "\n" === substr($this->content, -1);
$this->content = rtrim($this->content);
if ($addNl) {
$this->content .= "\n";
}
return $this;
}
public function reset()
{
$this->content = '';
$this->indentationLevel = 0;
return $this;
}
public function getContent()
{
return $this->content;
}
}
namespace JMS\Serializer\Util;
use JMS\Serializer\Exception\RuntimeException;
/**
* A writer implementation.
*
* This may be used to simplify writing well-formatted code.
*
* @author Johannes M. Schmitt <schmittjoh@gmail.com>
*/
class Writer
{
public $indentationSpaces = 4;
public $indentationLevel = 0;
public $content = '';
public $changeCount = 0;
private $changes = array();
public function indent()
{
$this->indentationLevel += 1;
return $this;
}
public function outdent()
{
$this->indentationLevel -= 1;
if ($this->indentationLevel < 0) {
throw new RuntimeException('The identation level cannot be less than zero.');
}
return $this;
}
/**
* @param string $content
*
* @return Writer
*/
public function writeln($content)
{
$this->write($content . "\n");
return $this;
}
public function revert()
{
$change = array_pop($this->changes);
$this->changeCount -= 1;
$this->content = substr($this->content, 0, -1 * \strlen($change));
}
/**
* @param string $content
*
* @return Writer
*/
public function write($content)
{
$addition = '';
$lines = explode("\n", $content);
for ($i = 0, $c = \count($lines); $i < $c; $i++) {
if ($this->indentationLevel > 0
&& !empty($lines[$i])
&& ((empty($addition) && "\n" === substr($this->content, -1)) || "\n" === substr($addition, -1))
) {
$addition .= str_repeat(' ', $this->indentationLevel * $this->indentationSpaces);
}
$addition .= $lines[$i];
if ($i + 1 < $c) {
$addition .= "\n";
}
}
$this->content .= $addition;
$this->changes[] = $addition;
$this->changeCount += 1;
return $this;
}
public function rtrim($preserveNewLines = true)
{
if (!$preserveNewLines) {
$this->content = rtrim($this->content);
return $this;
}
$addNl = "\n" === substr($this->content, -1);
$this->content = rtrim($this->content);
if ($addNl) {
$this->content .= "\n";
}
return $this;
}
public function reset()
{
$this->content = '';
$this->indentationLevel = 0;
return $this;
}
public function getContent()
{
return $this->content;
}
}