Skip to content

Commit 01b4e23

Browse files
committed
Actualize readme
1 parent 5921310 commit 01b4e23

File tree

1 file changed

+28
-105
lines changed

1 file changed

+28
-105
lines changed

README.md

Lines changed: 28 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -48,45 +48,45 @@ var_dump($type);
4848
Expected Output:
4949

5050
```php
51-
TypeLang\Parser\Node\Stmt\NamedTypeNode {#739
51+
TypeLang\Parser\Node\Stmt\NamedTypeNode {
5252
+offset: 0
53-
+name: TypeLang\Parser\Node\Name {#737
53+
+name: TypeLang\Parser\Node\Name {
5454
+offset: 0
5555
-parts: array:1 [
56-
0 => TypeLang\Parser\Node\Identifier {#746
56+
0 => TypeLang\Parser\Node\Identifier {
5757
+offset: 0
5858
+value: "array"
5959
}
6060
]
6161
}
6262
+arguments: null
63-
+fields: TypeLang\Parser\Node\Stmt\Shape\FieldsListNode {#757
63+
+fields: TypeLang\Parser\Node\Stmt\Shape\FieldsListNode {
6464
+offset: 11
6565
+items: array:1 [
66-
0 => TypeLang\Parser\Node\Stmt\Shape\NamedFieldNode {#346
66+
0 => TypeLang\Parser\Node\Stmt\Shape\NamedFieldNode {
6767
+offset: 11
68-
+type: TypeLang\Parser\Node\Stmt\CallableTypeNode {#339
68+
+type: TypeLang\Parser\Node\Stmt\CallableTypeNode {
6969
+offset: 16
70-
+name: TypeLang\Parser\Node\Name {#313
70+
+name: TypeLang\Parser\Node\Name {
7171
+offset: 16
7272
-parts: array:1 [
73-
0 => TypeLang\Parser\Node\Identifier {#332
73+
0 => TypeLang\Parser\Node\Identifier {
7474
+offset: 16
7575
+value: "callable"
7676
}
7777
]
7878
}
79-
+parameters: TypeLang\Parser\Node\Stmt\Callable\ParametersListNode {#318
79+
+parameters: TypeLang\Parser\Node\Stmt\Callable\ParametersListNode {
8080
+offset: 25
8181
+items: array:2 [
82-
0 => TypeLang\Parser\Node\Stmt\Callable\ParameterNode {#315
82+
0 => TypeLang\Parser\Node\Stmt\Callable\ParameterNode {
8383
+offset: 25
84-
+type: TypeLang\Parser\Node\Stmt\NamedTypeNode {#304
84+
+type: TypeLang\Parser\Node\Stmt\NamedTypeNode {
8585
+offset: 25
86-
+name: TypeLang\Parser\Node\Name {#242
86+
+name: TypeLang\Parser\Node\Name {
8787
+offset: 25
8888
-parts: array:1 [
89-
0 => TypeLang\Parser\Node\Identifier {#311
89+
0 => TypeLang\Parser\Node\Identifier {
9090
+offset: 25
9191
+value: "Example"
9292
}
@@ -100,14 +100,14 @@ TypeLang\Parser\Node\Stmt\NamedTypeNode {#739
100100
+variadic: false
101101
+optional: false
102102
}
103-
1 => TypeLang\Parser\Node\Stmt\Callable\ParameterNode {#330
103+
1 => TypeLang\Parser\Node\Stmt\Callable\ParameterNode {
104104
+offset: 34
105-
+type: TypeLang\Parser\Node\Stmt\NamedTypeNode {#312
105+
+type: TypeLang\Parser\Node\Stmt\NamedTypeNode {
106106
+offset: 34
107-
+name: TypeLang\Parser\Node\Name {#284
107+
+name: TypeLang\Parser\Node\Name {
108108
+offset: 34
109109
-parts: array:1 [
110-
0 => TypeLang\Parser\Node\Identifier {#298
110+
0 => TypeLang\Parser\Node\Identifier {
111111
+offset: 34
112112
+value: "int"
113113
}
@@ -123,12 +123,12 @@ TypeLang\Parser\Node\Stmt\NamedTypeNode {#739
123123
}
124124
]
125125
}
126-
+type: TypeLang\Parser\Node\Stmt\NamedTypeNode {#287
126+
+type: TypeLang\Parser\Node\Stmt\NamedTypeNode {
127127
+offset: 40
128-
+name: TypeLang\Parser\Node\Name {#314
128+
+name: TypeLang\Parser\Node\Name {
129129
+offset: 40
130130
-parts: array:1 [
131-
0 => TypeLang\Parser\Node\Identifier {#307
131+
0 => TypeLang\Parser\Node\Identifier {
132132
+offset: 40
133133
+value: "mixed"
134134
}
@@ -139,7 +139,7 @@ TypeLang\Parser\Node\Stmt\NamedTypeNode {#739
139139
}
140140
}
141141
+optional: false
142-
+key: TypeLang\Parser\Node\Identifier {#371
142+
+key: TypeLang\Parser\Node\Identifier {
143143
+offset: 11
144144
+value: "key"
145145
}
@@ -150,81 +150,6 @@ TypeLang\Parser\Node\Stmt\NamedTypeNode {#739
150150
}
151151
```
152152

153-
### Array Normalization
154-
155-
```php
156-
$parser = new \TypeLang\Parser\Parser();
157-
158-
$type = $parser->parse(<<<'PHP'
159-
array{
160-
key: callable(Example, int): mixed,
161-
...
162-
}
163-
PHP);
164-
165-
var_dump($type->toArray());
166-
```
167-
168-
Expected Output:
169-
170-
```php
171-
array:3 [
172-
"kind" => TypeLang\Parser\Node\Stmt\TypeKind {#773
173-
+name: "TYPE_KIND"
174-
+value: 1
175-
}
176-
"name" => "array"
177-
"fields" => array:2 [
178-
"items" => array:1 [
179-
0 => array:4 [
180-
"kind" => TypeLang\Parser\Node\Stmt\Shape\ShapeFieldKind {#733
181-
+name: "NAMED_FIELD_KIND"
182-
+value: 1
183-
}
184-
"type" => array:4 [
185-
"kind" => TypeLang\Parser\Node\Stmt\TypeKind {#741
186-
+name: "CALLABLE_KIND"
187-
+value: 2
188-
}
189-
"name" => "callable"
190-
"parameters" => array:1 [
191-
"items" => array:2 [
192-
0 => array:5 [
193-
"name" => null
194-
"type" => array:2 [
195-
"kind" => TypeLang\Parser\Node\Stmt\TypeKind {#773}
196-
"name" => "Example"
197-
]
198-
"output" => false
199-
"variadic" => false
200-
"optional" => false
201-
]
202-
1 => array:5 [
203-
"name" => null
204-
"type" => array:2 [
205-
"kind" => TypeLang\Parser\Node\Stmt\TypeKind {#773}
206-
"name" => "int"
207-
]
208-
"output" => false
209-
"variadic" => false
210-
"optional" => false
211-
]
212-
]
213-
]
214-
"type" => array:2 [
215-
"kind" => TypeLang\Parser\Node\Stmt\TypeKind {#773}
216-
"name" => "mixed"
217-
]
218-
]
219-
"optional" => false
220-
"key" => "key"
221-
]
222-
]
223-
"sealed" => false
224-
]
225-
]
226-
```
227-
228153
### JSON Serialization
229154

230155

@@ -238,38 +163,36 @@ $type = $parser->parse(<<<'PHP'
238163
}
239164
PHP);
240165

241-
echo json_encode($type);
166+
echo json_encode($type, JSON_PRETTY_PRINT);
242167
```
243168

244169
Expected Output:
245170

246171
```json
247172
{
248-
"kind": 1,
173+
"kind": 257,
249174
"name": "array",
250175
"fields": {
251176
"items": [
252177
{
253-
"kind": 1,
178+
"kind": 513,
254179
"type": {
255-
"kind": 2,
180+
"kind": 258,
256181
"name": "callable",
257182
"parameters": {
258183
"items": [
259184
{
260-
"name": null,
261185
"type": {
262-
"kind": 1,
186+
"kind": 257,
263187
"name": "Example"
264188
},
265189
"output": false,
266190
"variadic": false,
267191
"optional": false
268192
},
269193
{
270-
"name": null,
271194
"type": {
272-
"kind": 1,
195+
"kind": 257,
273196
"name": "int"
274197
},
275198
"output": false,
@@ -279,7 +202,7 @@ Expected Output:
279202
]
280203
},
281204
"type": {
282-
"kind": 1,
205+
"kind": 257,
283206
"name": "mixed"
284207
}
285208
},

0 commit comments

Comments
 (0)