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

1<?php
2
3declare(strict_types=1);
4
5namespace SqlSemantics\Statement\Model\PostgreSql\Choice;
6
7/**
8 * The defacl_privilege_target 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\DefaclPrivilegeTargetChoice_d6644681 $value): string => \SqlSemantics\Statement\Writer::render($value);
13 *     $write instanceof \Closure // => true
14 */
15enum DefaclPrivilegeTargetChoice_d6644681: string implements \SqlSemantics\Statement\Model\PostgreSql\Role\DefaclPrivilegeTargetForm
16{
17    case UseTables_51f6ddbd = 'TABLES';
18    case UseFunctions_30007559 = 'FUNCTIONS';
19    case UseRoutines_a01ea2b8 = 'ROUTINES';
20    case UseSequences_8f0d3709 = 'SEQUENCES';
21    case UseTypes_ab20f00b = 'TYPES';
22    case UseSchemas_36e36853 = 'SCHEMAS';
23
24    /**
25     * Writes the selected SQL option.
26     */
27    public function write(\SqlSemantics\Statement\Writer $writer): void
28    {
29        foreach (explode(' ', $this->value) as $word) {
30            $writer->append($word);
31        }
32    }
33}
34