3 declare(strict_types=1);
33 private static $discriminatorClasses = [
34 'absolute' => CartDiscountValueAbsoluteDraftModel::class,
35 'fixed' => CartDiscountValueFixedDraftModel::class,
36 'giftLineItem' => CartDiscountValueGiftLineItemDraftModel::class,
37 'relative' => CartDiscountValueRelativeDraftModel::class,
55 if (is_null($this->type)) {
57 $data = $this->
raw(self::FIELD_TYPE);
61 $this->type = (string) $data;
78 if (is_object($value) && isset($value->$fieldName)) {
80 $discriminatorValue = $value->$fieldName;
81 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
82 return self::$discriminatorClasses[$discriminatorValue];
85 if (is_array($value) && isset($value[$fieldName])) {
87 $discriminatorValue = $value[$fieldName];
88 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
89 return self::$discriminatorClasses[$discriminatorValue];
94 $type = CartDiscountValueDraftModel::class;