# give/4.18.0/vendor/vendor-prefixed/stellarwp/field-conditions/src/SimpleConditionSet.php

GiveWP – Donation Plugin and Fundraising Platform, version 4.18.0. 65 lines.

- Page: https://pluginprobe.com/plugins/give/4.18.0/code/vendor/vendor-prefixed/stellarwp/field-conditions/src/SimpleConditionSet.php
- Raw: https://pluginprobe.com/plugins/give/4.18.0/raw/vendor/vendor-prefixed/stellarwp/field-conditions/src/SimpleConditionSet.php
- Modified: 2025-02-03T15:13:58+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/give/4.18.0/code/vendor/vendor-prefixed/stellarwp/field-conditions/src/SimpleConditionSet.php#L10-L20`.

```php
<?php

declare(strict_types=1);

namespace Give\Vendors\StellarWP\FieldConditions;

use ArrayIterator;
use Give\Vendors\StellarWP\FieldConditions\Concerns\HasConditions;
use Give\Vendors\StellarWP\FieldConditions\Contracts\ConditionSet;

/**
 * @implements ConditionSet<FieldCondition>
 * @uses HasConditions<FieldCondition>
 */
class SimpleConditionSet implements ConditionSet
{
    use HasConditions;

    /**
     * @since 1.0.0
     *
     * @param FieldCondition ...$conditions
     *
     * @return void
     */
    public function __construct(...$conditions)
    {
        $this->validateConditions($conditions);
        $this->conditions = $conditions;
    }

    /**
     * @inheritDoc
     *
     * @since 1.0.0
     */
    public function getIterator(): ArrayIterator
    {
        return new ArrayIterator($this->conditions);
    }

    /**
     * @inheritDoc
     *
     * @since 1.0.0
     */
    public function jsonSerialize(): array
    {
        return array_map(
            static function (FieldCondition $condition) {
                return $condition->jsonSerialize();
            },
            $this->conditions
        );
    }

    /**
     * @inheritDoc
     */
    protected static function getBaseConditionClass(): string
    {
        return FieldCondition::class;
    }
}

```
