acando86
12/27/2018, 9:40 AMnull
should not be used as a valid value IMO (not in the api response, not in json, not in code). null doesn't convey lot of information. if null is used to express something, chances are there are more explicit ways to encode that information semantically and in a more type-safe way (if option alone is not enough to express all the possible scenarios), instead of appending a meaning to the null value (for instance, ADTs etc). Close to the DB layer (in the code) it might make sense to store raw null values, but in between a db and the api response i would expect a number of mapping layers and business logic where relying on a specific meaning of null values is not necessary and maybe (IMO) not even advisable.rrader
12/27/2018, 10:01 AMnull
is not a valid value, then how will be if on registration form, user can set his birthday, but this is not mandatory, what value should it has in json?tmg
12/27/2018, 11:38 AMtmg
12/27/2018, 11:39 AMrrader
12/27/2018, 11:48 AMnull
, it has some meaning alreadytmg
12/27/2018, 11:59 AMrrader
12/27/2018, 12:10 PMpakoito
12/27/2018, 12:11 PMpakoito
12/27/2018, 12:12 PMpakoito
12/27/2018, 12:13 PMpakoito
12/27/2018, 12:13 PMpakoito
12/27/2018, 12:13 PMpakoito
12/27/2018, 12:14 PMrrader
12/27/2018, 12:16 PMpakoito
12/27/2018, 12:17 PMpakoito
12/27/2018, 12:18 PMrrader
12/27/2018, 12:18 PMpakoito
12/27/2018, 12:19 PMrrader
12/27/2018, 12:20 PMpakoito
12/27/2018, 12:20 PMpakoito
12/27/2018, 12:20 PMrrader
12/27/2018, 12:21 PMnull
and undefined
pakoito
12/27/2018, 12:21 PMrrader
12/27/2018, 12:21 PMOptional
and you can have Undefined
rrader
12/27/2018, 12:21 PMpakoito
12/27/2018, 12:22 PMpakoito
12/27/2018, 12:23 PMrrader
12/27/2018, 12:23 PMnull
in java, but it is solved by a class Optional
pakoito
12/27/2018, 12:23 PMpakoito
12/27/2018, 12:24 PMpakoito
12/27/2018, 12:24 PMpakoito
12/27/2018, 12:24 PMpakoito
12/27/2018, 12:24 PMpakoito
12/27/2018, 12:25 PMpakoito
12/27/2018, 12:25 PMpakoito
12/27/2018, 12:25 PMsealed class OptionalValue<A> {
inline class Available(val value: A)
object Missing: Value<Nothing>
object Disabled: Value<Nothing>
}
pakoito
12/27/2018, 12:25 PMrrader
12/27/2018, 12:26 PMOptional
& Undefined
that are explicitpakoito
12/27/2018, 12:27 PMpakoito
12/27/2018, 12:28 PM0
and ""
pakoito
12/27/2018, 12:28 PMrrader
12/27/2018, 12:28 PMpakoito
12/27/2018, 12:28 PMpakoito
12/27/2018, 12:28 PMpakoito
12/27/2018, 12:28 PMrrader
12/27/2018, 12:29 PMpakoito
12/27/2018, 12:29 PMpakoito
12/27/2018, 12:29 PMpakoito
12/27/2018, 12:30 PMrrader
12/27/2018, 12:30 PMpakoito
12/27/2018, 12:30 PMnull
even when it’s not supposed torrader
12/27/2018, 12:30 PMrrader
12/27/2018, 12:31 PMrrader
12/27/2018, 12:31 PMpakoito
12/27/2018, 12:31 PMpakoito
12/27/2018, 12:31 PMpakoito
12/27/2018, 12:32 PMpakoito
12/27/2018, 12:32 PMpakoito
12/27/2018, 12:32 PMpakoito
12/27/2018, 12:32 PMrrader
12/27/2018, 12:41 PMrrader
12/27/2018, 12:52 PMpakoito
12/27/2018, 12:55 PMpakoito
12/27/2018, 12:55 PMrrader
12/27/2018, 12:56 PMundefined
value?pakoito
12/27/2018, 12:57 PMpakoito
12/27/2018, 12:57 PMpakoito
12/27/2018, 12:57 PMpakoito
12/27/2018, 12:57 PMrrader
12/27/2018, 12:59 PMpakoito
12/27/2018, 1:00 PMrrader
12/27/2018, 1:03 PM