This RFC proposes adding a new method to the types
library in type functions, that provides a shorthand for types.unionof(type, types.singleton(nil))
.
Optional types occur very commonly, and it is annoying to have to always type types.unionof(meow, types.singleton(nil))
to make a optional type, this leads to having the following appear in codebases that make use of optional types a lot in type functions:
type function optional(type)
return types.unionof(type, types.singleton(nil))
end
As a solution, a new method to the types
library should be added called optional
. When called on a union, this will add nil
to the components. Otherwise, this new method will act the same as types.unionof(type, types.singleton(nil))
.