Skip to content

Commit 33bff49

Browse files
committed
Add stubs for daterange field type
1 parent 5d7e7e8 commit 33bff49

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
namespace Drupal\datetime_range\Plugin\Field\FieldType;
4+
5+
use Drupal\datetime\Plugin\Field\FieldType\DateTimeItem;
6+
7+
/**
8+
* @property-read null $date
9+
* Even though this extends DateTimeItem, the date property does not actually
10+
* exist. It is not possible to undo a property definition.
11+
* @property-read ?\Drupal\Core\Datetime\DrupalDateTime $start_date
12+
* @property ?string $end_value
13+
* @property-read ?\Drupal\Core\Datetime\DrupalDateTime $end_date
14+
*/
15+
class DateRangeItem extends DateTimeItem {
16+
17+
}

tests/src/Type/data/field-types.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
use Drupal\Core\Field\Plugin\Field\FieldType\UriItem;
2020
use Drupal\Core\Field\Plugin\Field\FieldType\UuidItem;
2121
use Drupal\datetime\Plugin\Field\FieldType\DateTimeItem;
22+
use Drupal\datetime_range\Plugin\Field\FieldType\DateRangeItem;
2223
use Drupal\file\Plugin\Field\FieldType\FileItem;
2324
use Drupal\file\Plugin\Field\FieldType\FileUriItem;
2425
use Drupal\link\Plugin\Field\FieldType\LinkItem;
@@ -145,6 +146,15 @@
145146
assertType('string|null', $datetime_field->value);
146147
assertType('Drupal\Core\Datetime\DrupalDateTime|null', $datetime_field->date);
147148

149+
// DateRangeItem.
150+
$daterange_field = $node->get('field_daterange')->first();
151+
assert($daterange_field instanceof DateRangeItem);
152+
assertType(DateRangeItem::class, $daterange_field);
153+
assertType('string|null', $daterange_field->value);
154+
assertType('\Drupal\Core\Datetime\DrupalDateTime|null', $daterange_field->start_date);
155+
assertType('string|null', $daterange_field->end_value);
156+
assertType('\Drupal\Core\Datetime\DrupalDateTime|null', $daterange_field->end_date);
157+
148158
// FileItem.
149159
$file_field = $node->get('field_file')->first();
150160
assert($file_field instanceof FileItem);

0 commit comments

Comments
 (0)