class Number in SCSS Compiler 1.0.x
Same name in this branch
- 1.0.x src/Type/Number.php \Drupal\compiler_scss\Type\Number
- 1.0.x src/Config/Schema/Number.php \Drupal\compiler_scss\Config\Schema\Number
- 1.0.x src/Plugin/DataType/Number.php \Drupal\compiler_scss\Plugin\DataType\Number
A config schema type used to represent a Sass number.
Copyright (C) 2021 Library Solutions, LLC (et al.).
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
Hierarchy
- class \Drupal\Core\TypedData\TypedData implements PluginInspectionInterface, TypedDataInterface uses DependencySerializationTrait, StringTranslationTrait, TypedDataTrait
- class \Drupal\Core\Config\Schema\Element
- class \Drupal\Core\Config\Schema\ArrayElement implements \Drupal\Core\Config\Schema\IteratorAggregate, TypedConfigInterface, ComplexDataInterface
- class \Drupal\compiler_scss\Config\Schema\Number
- class \Drupal\Core\Config\Schema\ArrayElement implements \Drupal\Core\Config\Schema\IteratorAggregate, TypedConfigInterface, ComplexDataInterface
- class \Drupal\Core\Config\Schema\Element
Expanded class hierarchy of Number
1 string reference to 'Number'
- compiler_scss.schema.yml in config/
schema/ compiler_scss.schema.yml - config/schema/compiler_scss.schema.yml
File
- src/
Config/ Schema/ Number.php, line 19
Namespace
Drupal\compiler_scss\Config\SchemaView source
class Number extends ArrayElement {
/**
* {@inheritdoc}
*/
protected function getElementDefinition($key) {
$value = $this->value[$key] ?? NULL;
$definition = [];
$properties = $this
->getDataDefinition()
->getPropertyDefinitions();
if (array_key_exists($key, $properties)) {
$definition = $properties[$key]
->toArray();
}
return $this
->buildDataDefinition($definition, $value, $key);
}
/**
* {@inheritdoc}
*/
public function getValue() {
$value = $this
->toArray() + [
'value' => NULL,
'unit' => NULL,
];
if (is_numeric($value['value'])) {
if (is_string($value['unit']) && strlen($value['unit']) > 0) {
return new IntermediateNumber($value['value'], $value['unit']);
}
return floatval($value['value']);
}
return NULL;
}
/**
* {@inheritdoc}
*/
public function setValue($value, $notify = TRUE) {
if ($value instanceof IntermediateNumber) {
$value = [
'value' => $value
->value(),
'unit' => $value
->unit(),
];
}
elseif (is_numeric($value)) {
$value = [
'value' => $value,
];
}
parent::setValue($value, $notify);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ArrayElement:: |
protected | property | Parsed elements. | |
ArrayElement:: |
protected | function | Creates a new data definition object from a type definition array and actual configuration data. | |
ArrayElement:: |
protected | function | Creates a contained typed configuration object. | |
ArrayElement:: |
public | function |
Gets a contained typed configuration element. Overrides TypedConfigInterface:: |
|
ArrayElement:: |
protected | function | Gets valid configuration data keys. | |
ArrayElement:: |
public | function |
Gets an array of contained elements. Overrides TypedConfigInterface:: |
|
ArrayElement:: |
public | function | ||
ArrayElement:: |
public | function |
Gets an array of property objects. Overrides ComplexDataInterface:: |
|
ArrayElement:: |
public | function |
Determines whether the data structure is empty. Overrides TypedConfigInterface:: |
|
ArrayElement:: |
public | function | Determines if this element allows NULL as a value. | |
ArrayElement:: |
public | function |
React to changes to a child property or item. Overrides TraversableTypedDataInterface:: |
|
ArrayElement:: |
protected | function | Builds an array of contained elements. | |
ArrayElement:: |
public | function |
Sets a property value. Overrides ComplexDataInterface:: |
|
ArrayElement:: |
public | function |
Returns an array of all property values. Overrides TypedConfigInterface:: |
|
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
public | function | 2 | |
DependencySerializationTrait:: |
public | function | 2 | |
Element:: |
protected | property | The configuration value. | |
Element:: |
public | function |
Gets the typed configuration manager. Overrides TypedDataTrait:: |
|
Element:: |
public | function |
Sets the typed config manager. Overrides TypedDataTrait:: |
|
Number:: |
protected | function |
Gets data definition object for contained element. Overrides ArrayElement:: |
|
Number:: |
public | function |
Gets the data value. Overrides TypedData:: |
|
Number:: |
public | function |
Sets the data value. Overrides TypedData:: |
|
StringTranslationTrait:: |
protected | property | The string translation service. | 4 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
TypedData:: |
protected | property | The data definition. | 1 |
TypedData:: |
protected | property | The property name. | |
TypedData:: |
protected | property | The parent typed data object. | |
TypedData:: |
public | function |
Applies the default value. Overrides TypedDataInterface:: |
3 |
TypedData:: |
public static | function |
Constructs a TypedData object given its definition and context. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Gets a list of validation constraints. Overrides TypedDataInterface:: |
9 |
TypedData:: |
public | function |
Gets the data definition. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns the name of a property or item. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns the parent data structure; i.e. either complex data or a list. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
|
TypedData:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
TypedData:: |
public | function |
Returns the property path of the data. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns the root of the typed data tree. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns a string representation of the data. Overrides TypedDataInterface:: |
6 |
TypedData:: |
public | function |
Sets the context of a property or item via a context aware parent. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Validates the currently set data value. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function | Constructs a TypedData object given its definition and context. | 3 |
TypedDataTrait:: |
protected | property | The typed data manager used for creating the data types. |