• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jojo1981 / data-resolver / 170

pending completion
170

cron

travis-ci-com

jojo1981
Fix error: `Argument 1 passed to Jojo1981\DataResolver\Resolver\Context::pushPathPart() must be of the type string, int given, called in...`

1 of 1 new or added line in 1 file covered. (100.0%)

454 of 868 relevant lines covered (52.3%)

5.52 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/Builder/Predicate/ConditionalPredicateBuilder.php
1
<?php declare(strict_types=1);
2
/*
3
 * This file is part of the jojo1981/data-resolver package
4
 *
5
 * Copyright (c) 2019 Joost Nijhuis <jnijhuis81@gmail.com>
6
 *
7
 * For the full copyright and license information, please view the LICENSE
8
 * file that was distributed in the root of the source code
9
 */
10
namespace Jojo1981\DataResolver\Builder\Predicate;
11

12
use Jojo1981\DataResolver\Builder\PredicateBuilderInterface;
13
use Jojo1981\DataResolver\Extractor\ExtractorInterface;
14
use Jojo1981\DataResolver\Factory\PredicateBuilderFactory;
15
use Jojo1981\DataResolver\Predicate\ExtractorPredicate;
16
use Jojo1981\DataResolver\Predicate\PredicateInterface;
17

18
/**
19
 * @api
20
 * @package Jojo1981\DataResolver\Builder\Predicate
21
 */
22
final class ConditionalPredicateBuilder implements PredicateBuilderInterface
23
{
24
    /** @var PredicateBuilderFactory */
25
    private PredicateBuilderFactory $predicateBuilderFactory;
26

27
    /** @var ExtractorInterface */
28
    private ExtractorInterface $extractor;
29

30
    /** @var PredicateInterface */
31
    private PredicateInterface $predicate;
32

33
    /**
34
     * @param PredicateBuilderFactory $predicateBuilderFactory
35
     * @param ExtractorInterface $extractor
36
     * @param PredicateInterface $predicate
37
     */
38
    public function __construct(
39
        PredicateBuilderFactory $predicateBuilderFactory,
40
        ExtractorInterface $extractor,
41
        PredicateInterface $predicate
42
    ) {
43
        $this->predicateBuilderFactory = $predicateBuilderFactory;
×
44
        $this->extractor = $extractor;
×
45
        $this->predicate = $predicate;
×
46
    }
47

48
    /**
49
     * @param PredicateBuilderInterface $predicateBuilder
50
     * @return PredicateBuilder
51
     */
52
    public function and(PredicateBuilderInterface $predicateBuilder): PredicateBuilder
53
    {
54
        return $this->predicateBuilderFactory->getPredicateBuilder(
×
55
            $this->predicateBuilderFactory->getAndPredicateBuilder($this, $predicateBuilder)
×
56
        );
×
57
    }
58

59
    /**
60
     * @param PredicateBuilderInterface $predicateBuilder
61
     * @return PredicateBuilder
62
     */
63
    public function or(PredicateBuilderInterface $predicateBuilder): PredicateBuilder
64
    {
65
        return $this->predicateBuilderFactory->getPredicateBuilder(
×
66
            $this->predicateBuilderFactory->getOrPredicateBuilder($this, $predicateBuilder)
×
67
        );
×
68
    }
69

70
    /**
71
     * @return ExtractorPredicate
72
     */
73
    public function build(): PredicateInterface
74
    {
75
        return new ExtractorPredicate($this->extractor, $this->predicate);
×
76
    }
77
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc