dave08
10/25/2023, 11:51 AM@optics data class Foo(val bar: SomeEnum?) and if I run Foo.bar.set(Foo(null), SomeEnum.baz) it gets set properly, whereas if I run Every.list<Foo>().bar.set(listOf(Foo(null)), SomeEnum.baz) it stays null... is there any way to get this to work (set it to baz...)?dave08
10/25/2023, 11:58 AMbar being generated is using Option, so the behaviour makes sense, the question is if there's some way around this...dave08
10/25/2023, 11:59 AMAlejandro Serrano.Mena
10/25/2023, 12:16 PMnull to not-null... 🤔dave08
10/25/2023, 12:25 PMdave08
10/25/2023, 12:26 PMdave08
10/25/2023, 12:29 PMAlejandro Serrano.Mena
10/25/2023, 12:31 PMFoo.bar, I'm very surprised that Foo.bar.set(Foo(null), SomeEnum.baz) actually sets the nulldave08
10/25/2023, 12:33 PMdave08
10/25/2023, 12:37 PMpublic inline val Foo.Companion.bar: arrow.optics.Optional<Foo, SomeEnum> inline get() = arrow.optics.Optional(
getOrModify = { foo: Foo -> foo.`bar`?.right() ?: foo.left() },
set = { foo: Foo, value: SomeEnum -> foo.copy(`bar` = value) }
)dave08
10/25/2023, 12:38 PMAlejandro Serrano.Mena
10/25/2023, 12:38 PMset should only set when not nulldave08
10/25/2023, 12:40 PMdave08
10/25/2023, 12:41 PMAlejandro Serrano.Mena
10/25/2023, 12:42 PMAlejandro Serrano.Mena
10/25/2023, 12:42 PMdave08
10/25/2023, 12:44 PMAlejandro Serrano.Mena
10/25/2023, 12:45 PMdave08
10/25/2023, 12:45 PMAlejandro Serrano.Mena
10/25/2023, 12:47 PMdave08
10/25/2023, 12:49 PMAlejandro Serrano.Mena
10/25/2023, 12:49 PMLens<Foo, SomeEnum?> (instead of Optional<Foo, SomeEnum>, notice the ? in the lens)Alejandro Serrano.Mena
10/25/2023, 12:50 PMval <A> Every<A, Foo>.bar: Every<A, SomeEnum?> = this + Foo.barAsLensdave08
10/25/2023, 12:57 PMdave08
10/25/2023, 1:00 PMdave08
10/25/2023, 1:01 PMAlejandro Serrano.Mena
10/25/2023, 1:02 PMAlejandro Serrano.Mena
10/25/2023, 1:02 PMdave08
10/25/2023, 1:02 PMAlejandro Serrano.Mena
10/25/2023, 1:03 PMarrow-2 branchdave08
10/25/2023, 1:04 PMAlejandro Serrano.Mena
10/25/2023, 1:05 PMAlejandro Serrano.Mena
10/25/2023, 1:05 PMarrow-2 the "main" branch, then we should start releasing alphasdave08
10/25/2023, 1:07 PMAlejandro Serrano.Mena
10/25/2023, 1:07 PMdave08
10/25/2023, 1:08 PMdave08
10/25/2023, 1:09 PMsindrenm
10/25/2023, 1:15 PM