1<?php
2
3declare(strict_types=1);
4
5namespace JMS\Serializer\Visitor\Factory;
6
7use JMS\Serializer\JsonSerializationVisitor;
8use JMS\Serializer\Visitor\SerializationVisitorInterface;
9
10/**
11 * @author Asmir Mustafic <goetas@gmail.com>
12 */
13final class JsonSerializationVisitorFactory implements SerializationVisitorFactory
14{
15    /**
16     * @var int
17     */
18    private $options = JSON_PRESERVE_ZERO_FRACTION;
19
20    public function getVisitor(): SerializationVisitorInterface
21    {
22        return new JsonSerializationVisitor($this->options);
23    }
24
25    public function setOptions(int $options): self
26    {
27        $this->options = (int) $options;
28        return $this;
29    }
30}
31