Completed
Push — master ( d58317...6c60b4 )
by BENOIT
05:45
created

functions.php ➔ valuesOf()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace BenTools\Where;
4
5
use BenTools\Where\DeleteQuery\DeleteQueryBuilder;
6
use BenTools\Where\Expression\Condition;
7
use BenTools\Where\Expression\Expression;
8
use BenTools\Where\Expression\GroupExpression;
9
use BenTools\Where\Expression\NegatedExpression;
10
use BenTools\Where\InsertQuery\InsertQueryBuilder;
11
use BenTools\Where\SelectQuery\SelectQueryBuilder;
12
use BenTools\Where\UpdateQuery\UpdateQueryBuilder;
13
14
/**
15
 * @param string|Expression $expression
16
 * @param array ...$values
17
 * @return Expression|Condition
18
 * @throws \InvalidArgumentException
19
 */
20
function where($expression, ...$values): Expression
21
{
22
    return Expression::where($expression, ...$values);
23
}
24
25
/**
26
 * @param string|Expression $expression
27
 * @param array ...$values
28
 * @return GroupExpression
29
 * @throws \InvalidArgumentException
30
 */
31
function group($expression, ...$values): GroupExpression
32
{
33
    return Expression::group($expression, ...$values);
34
}
35
36
/**
37
 * @param string|Expression $expression
38
 * @param array ...$values
39
 * @return NegatedExpression
40
 * @throws \InvalidArgumentException
41
 */
42
function not($expression, ...$values): NegatedExpression
43
{
44
    return Expression::not($expression, ...$values);
45
}
46
47
function valuesOf(Expression ...$expressions): array
48
{
49
    return Expression::valuesOf(...$expressions);
50
}
51
52
/**
53
 * @param Expression[]|string[] ...$columns
54
 * @return SelectQueryBuilder
55
 */
56
function select(...$columns): SelectQueryBuilder
57
{
58
    return SelectQueryBuilder::make(...$columns);
59
}
60
61
/**
62
 * @param Expression[]|string[] ...$tables
63
 * @return SelectQueryBuilder
64
 */
65
function delete(...$tables): DeleteQueryBuilder
66
{
67
    return DeleteQueryBuilder::make(...$tables);
68
}
69
70
/**
71
 * @param array[] ...$values
72
 * @return InsertQueryBuilder
73
 * @throws \InvalidArgumentException
74
 */
75
function insert(array ...$values): InsertQueryBuilder
76
{
77
    return InsertQueryBuilder::load(...$values);
78
}
79
80
/**
81
 * @param string $table
82
 * @return UpdateQueryBuilder
83
 */
84
function update(string $table): UpdateQueryBuilder
85
{
86
    return UpdateQueryBuilder::make($table);
87
}
88