Size: a a a

Elm Lang сообщество разработчиков

2019 November 25

AK

Anton Kotenko in Elm Lang сообщество разработчиков
в смысле первый, но не нулевой :)
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
от сюда не видно, как вы пришли к этому выводу 😄
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
Layer.Cover { productShown = True } вот тут поменяйте на False, тогда будет видно отработал первый декодер или нет (у вас там True на первом слое)
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
если он нормально отработал, то у первого будет True, у второго False
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Sviatoslav
Layer.Cover { productShown = True } вот тут поменяйте на False, тогда будет видно отработал первый декодер или нет (у вас там True на первом слое)
Сделал так, нулевой зафейлил (False), первый отработал (True)
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
так у вас во втором (он второй, мы же не по индексам считаем) вообще productShown нету же?
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
нету, он "отрендерился", не True, соврал
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
я разбираюсь и наверное сам расковыряю (может и через oneOf), просто думал, что проблема простая просто из-за того, что проглядел
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
Anton Kotenko
нету, он "отрендерился", не True, соврал
а первый точно False? 😄
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Вы правы, скорее всего все декодеры фейлятся, хотя правильный декодер для каждого слоя (через Debug.log смотрю) — находится
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
```
D.field "model"
  <| D.oneOf
      [ def.decode ctx
      , D.succeed Layer.Unknown
      ]

```

я поставил такой, и ни один слой не отрендерился
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
в смысле отрендерился как Unknown
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
а def проверяли - точно тот, где декодер который вы показывали?
источник

S

Sviatoslav in Elm Lang сообщество разработчиков
(стоит перепроверить)
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Кажется я понял,  `def`— тот и декодер — тот, но у модели слоя перед тем как попасть в список есть ещё "обёртка" (вот эта `Model = Model1 model1 | Model2 model2 | etc.` ), в которую модель надо обернуть после декодинга, похоже всё из-за того, что она в неё не оборачивается
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
но забавно, что компилятор этого понять не смог
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Нет, тоже наврал, все декодеры мапятся, компилятор не виноват
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
D.field "model" <| D.oneOf
       [ D.field "productShown" D.bool
           |> D.map
               (\shown ->
                   Layer.Cover { productShown = shown })
       , D.succeed Layer.Unknown
   ]
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
так тоже ни один не срабатывает
источник