types.optional (#114)

* inital commit

* dot

* Update docs/types-library-optional.md

---------

Co-authored-by: ariel <aweiss@hey.com>
This commit is contained in:
witchiest 2025-04-25 15:12:57 -04:00 committed by GitHub
parent f01741502c
commit a4b51fdd5c
Signed by: DevComp
GPG key ID: B5690EEEBB952194

View file

@ -0,0 +1,19 @@
# 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:
```luau
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`. This new method will act the same as `types.unionof(type, types.singleton(nil))`.