ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
Factory.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
24
26{
27 public function int(SimpleDocumentMarkdown $description): Description
28 {
29 return new DValue($description, ValueType::INT);
30 }
31
32 public function float(SimpleDocumentMarkdown $description): Description
33 {
34 return new DValue($description, ValueType::FLOAT);
35 }
36
37 public function string(SimpleDocumentMarkdown $description): Description
38 {
39 return new DValue($description, ValueType::STRING);
40 }
41
42 public function datetime(SimpleDocumentMarkdown $description): Description
43 {
44 return new DValue($description, ValueType::DATETIME);
45 }
46
47 public function bool(SimpleDocumentMarkdown $description): Description
48 {
49 return new DValue($description, ValueType::BOOL);
50 }
51
52 public function null(SimpleDocumentMarkdown $description): Description
53 {
54 return new DValue($description, ValueType::NULL);
55 }
56
57 public function list(SimpleDocumentMarkdown $description, Description $value_type): Description
58 {
59 return new DList($description, $value_type);
60 }
61
62 public function map(SimpleDocumentMarkdown $description, DValue $key_type, Description $value_type): Description
63 {
64 return new DMap($description, $key_type, $value_type);
65 }
66
70 public function object(SimpleDocumentMarkdown $description, array $fields)
71 {
72 return new DObject($description, ...array_map(
73 fn($k, $v) => new Field($k, $v),
74 array_keys($fields),
75 array_values($fields)
76 ));
77 }
78}
This describes some datastructure in terms of standard data structures such as primitives,...
Definition: Description.php:33
int(SimpleDocumentMarkdown $description)
Definition: Factory.php:27
list(SimpleDocumentMarkdown $description, Description $value_type)
Definition: Factory.php:57
object(SimpleDocumentMarkdown $description, array $fields)
Definition: Factory.php:70
bool(SimpleDocumentMarkdown $description)
Definition: Factory.php:47
string(SimpleDocumentMarkdown $description)
Definition: Factory.php:37
datetime(SimpleDocumentMarkdown $description)
Definition: Factory.php:42
float(SimpleDocumentMarkdown $description)
Definition: Factory.php:32
map(SimpleDocumentMarkdown $description, DValue $key_type, Description $value_type)
Definition: Factory.php:62