packages/sql-semantics-postgres/resources/models/Choice/JsonQuotesClauseOptChoice_a08439ee.php

1<?php
2
3declare(strict_types=1);
4
5namespace SqlSemantics\Statement\Model\PostgreSql\Choice;
6
7/**
8 * The json_quotes_clause_opt SQL value; generated by bin/build-models.php.
9 *
10 * @visibility public
11 * @example Accept a structured SQL value
12 *     $write = static fn (\SqlSemantics\Statement\Model\PostgreSql\Choice\JsonQuotesClauseOptChoice_a08439ee $value): string => \SqlSemantics\Statement\Writer::render($value);
13 *     $write instanceof \Closure // => true
14 */
15enum JsonQuotesClauseOptChoice_a08439ee: string implements \SqlSemantics\Statement\Model\PostgreSql\Role\JsonQuotesClauseOptForm
16{
17    case UseKeepQuotesOnScalarString_dcaf4d1c = 'KEEP QUOTES ON SCALAR STRING';
18    case UseKeepQuotes_f2e52cc1 = 'KEEP QUOTES';
19    case UseOmitQuotesOnScalarString_e94300a4 = 'OMIT QUOTES ON SCALAR STRING';
20    case UseOmitQuotes_dd07b4e8 = 'OMIT QUOTES';
21    case Use_e3b0c442 = '';
22
23    /**
24     * Writes the selected SQL option.
25     */
26    public function write(\SqlSemantics\Statement\Writer $writer): void
27    {
28        foreach (explode(' ', $this->value) as $word) {
29            $writer->append($word);
30        }
31    }
32}
33