Types   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 5
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
dl 0
loc 5
rs 10
c 1
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 2 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace BEAR\Resource;
6
7
use BEAR\Resource\Annotation\Embed;
8
use BEAR\Resource\Annotation\Link;
9
use Ray\WebContextParam\Annotation\AbstractWebContextParam;
10
use ReflectionParameter;
11
12
/**
13
 * Type definitions for BEAR.Resource
14
 *
15
 * @phpcs:disable SlevomatCodingStandard.Commenting.DocCommentSpacing
16
 *
17
 * Domain Types
18
 * @psalm-type ResourceClassName = class-string<ResourceObject>
19
 *
20
 * Base Types
21
 * @psalm-type Query = array<string, mixed>
22
 * @psalm-type QueryList = list<Query>
23
 * @psalm-type StringList = list<string>
24
 * @psalm-type Body = array<array-key, mixed>
25
 * @psalm-type BodyOrStringList = array<Body|string>
26
 * @psalm-type Schema = array<array-key, mixed>
27
 * @psalm-type ObjectList = list<object>
28
 *
29
 * Options Method Types
30
 * @psalm-type ParameterMetadata = array{
31
 *     type?: string,
32
 *     description?: string,
33
 *     default?: string,
34
 *     in?: string
35
 * }
36
 * @psalm-type ParametersMap = array<string, ParameterMetadata>
37
 * @psalm-type RequiredParameterList = list<string>
38
 * @psalm-type OptionsResponse = array{
39
 *     parameters?: ParametersMap,
40
 *     required?: RequiredParameterList
41
 * }
42
 * @psalm-type OptionsDocumentation = array{
43
 *     summary?: string,
44
 *     description?: string
45
 * }
46
 * @psalm-type OptionsDocBlock = array{
47
 *     0: OptionsDocumentation,
48
 *     1: array<string, array{type: string, description?: string}>
49
 * }
50
 * @psalm-type DocBlockParams = array<string, array{type: string, description?: string}>
51
 * @psalm-type EmbedList = non-empty-list<Embed>
52
 * @psalm-type LinkList = non-empty-list<Link>
53
 * @psalm-type SchemaArray = non-empty-array<array-key, mixed>
54
 * @psalm-type OptionsMethodsResponse = array{
55
 *     summary?: string,
56
 *     description?: string,
57
 *     request?: OptionsResponse,
58
 *     links?: LinkList,
59
 *     embed?: EmbedList,
60
 *     schema?: SchemaArray
61
 * }
62
 * @psalm-type OptionsEntityBody = array<string, array<Body|string>>
63
 *
64
 * HTTP Request/Response Types
65
 * @psalm-type Headers = array<string, string>
66
 * @psalm-type HttpHeaders = array<string, string>
67
 * @psalm-type HttpBody = array<mixed>
68
 * @psalm-type HttpResponse = array{
69
 *     body: HttpBody,
70
 *     code: int,
71
 *     headers: HttpHeaders,
72
 *     view: string
73
 * }
74
 * @psalm-type RequestOptions = array<null>|array{
75
 *     body?: string,
76
 *     headers?: HttpHeaders
77
 * }
78
 *
79
 * HAL+JSON Types
80
 * @psalm-type HalLinkData = array{
81
 *     href: string,
82
 *     templated?: bool,
83
 *     type?: string,
84
 *     deprecation?: string,
85
 *     name?: string,
86
 *     profile?: string,
87
 *     title?: string,
88
 *     hreflang?: string
89
 * }
90
 * @psalm-type HalLinks = array<string, HalLinkData|list<HalLinkData>>
91
 *
92
 * Resource Metadata Types
93
 * @psalm-type PackageMetadata = array{
94
 *     vendor?: string,
95
 *     package?: string
96
 * }
97
 * @psalm-type ResourceObjectBody = array{
98
 *     0: ResourceObject,
99
 *     1: array<array-key, mixed>
100
 * }
101
 *
102
 * Link Relation Types
103
 * @psalm-type MethodUri = array{0: string, 1: string}
104
 *
105
 * Annotation Types
106
 * @psalm-type Annotations = array<class-string, object>
107
 * @psalm-type MethodAnnotations = array<string, Annotations>
108
 * @psalm-type WebContextParam = class-string
109
 * @psalm-type InsMap = array<string, string>
110
 *
111
 * Parameter/Injection Types
112
 * @psalm-type ParamMap = array<string, ParamInterface>
113
 * @psalm-type WebContextParamMap = array<string, AbstractWebContextParam>
114
 * @psalm-type SuperGlobalsMap = array<string, Query>
115
 * @psalm-type ReflectionParameterList = list<ReflectionParameter>
116
 * @psalm-type ReflectionParameterMap = array<string, ReflectionParameter>
117
 *
118
 * Request Types
119
 * @psalm-type RequestQuery = array<string, mixed>
120
 *
121
 * App/Module Types
122
 * @psalm-type MetaMap = array<string, Meta>
123
 * @psalm-type ClassNameList = list<class-string>
124
 * @psalm-type StatusMessageMap = array<int, string>
125
 *
126
 * @phpcs:enable
127
 */
128
final class Types
129
{
130
    /** @codeCoverageIgnore */
131
    private function __construct()
132
    {
133
    }
134
}
135