3 declare(strict_types=1);
33 private static $discriminatorClasses = [
34 'Boolean' => CustomFieldBooleanTypeModel::class,
35 'Date' => CustomFieldDateTypeModel::class,
36 'DateTime' => CustomFieldDateTimeTypeModel::class,
37 'Enum' => CustomFieldEnumTypeModel::class,
38 'LocalizedEnum' => CustomFieldLocalizedEnumTypeModel::class,
39 'LocalizedString' => CustomFieldLocalizedStringTypeModel::class,
40 'Money' => CustomFieldMoneyTypeModel::class,
41 'Number' => CustomFieldNumberTypeModel::class,
42 'Reference' => CustomFieldReferenceTypeModel::class,
43 'Set' => CustomFieldSetTypeModel::class,
44 'String' => CustomFieldStringTypeModel::class,
45 'Time' => CustomFieldTimeTypeModel::class,
63 if (is_null($this->name)) {
65 $data = $this->
raw(self::FIELD_NAME);
69 $this->name = (string) $data;
86 if (is_object($value) && isset($value->$fieldName)) {
88 $discriminatorValue = $value->$fieldName;
89 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
90 return self::$discriminatorClasses[$discriminatorValue];
93 if (is_array($value) && isset($value[$fieldName])) {
95 $discriminatorValue = $value[$fieldName];
96 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
97 return self::$discriminatorClasses[$discriminatorValue];
102 $type = FieldTypeModel::class;