Completed
Push — master ( 6d37ec...c4dba6 )
by BENOIT
01:03
created

functions.php ➔ flat()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 1
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace BenTools\QueryString;
4
5
use BenTools\QueryString\Parser\QueryStringParserInterface;
6
use BenTools\QueryString\Renderer\ArrayValuesNormalizerRenderer;
7
use BenTools\QueryString\Renderer\FlatRenderer;
8
use BenTools\QueryString\Renderer\QueryStringRendererInterface;
9
10
/**
11
 * @param $input
12
 * @return QueryString
13
 * @throws \InvalidArgumentException
14
 */
15
function query_string($input = null, QueryStringParserInterface $queryStringParser = null): QueryString
16
{
17
    return QueryString::factory($input, $queryStringParser);
18
}
19
20
/**
21
 * @param QueryStringRendererInterface|null $renderer
22
 * @return ArrayValuesNormalizerRenderer
23
 */
24
function withoutNumericIndices(QueryStringRendererInterface $renderer = null): ArrayValuesNormalizerRenderer
25
{
26
    return ArrayValuesNormalizerRenderer::factory($renderer);
27
}
28
29
/**
30
 * @param QueryStringRendererInterface|null $renderer
31
 * @return FlatRenderer
32
 */
33
function flat(QueryStringRendererInterface $renderer = null): FlatRenderer
34
{
35
    return FlatRenderer::factory($renderer);
36
}
37
38
/**
39
 * @param string      $queryString
40
 * @param bool        $decodeKeys
41
 * @param bool        $decodeValues
42
 * @param string|null $separator
43
 * @return Pairs
44
 */
45
function pairs(string $queryString, bool $decodeKeys = false, bool $decodeValues = false, string $separator = null): Pairs
46
{
47
    return new Pairs($queryString, $decodeKeys, $decodeValues, $separator);
48
}
49