mirror of
https://github.com/luau-lang/rfcs.git
synced 2025-05-04 10:43:48 +01:00
810 B
810 B
types.optional
Summary
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))
.
Motivation
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
Design
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))
.