1
0
Fork 0
mirror of https://github.com/diamondburned/arikawa.git synced 2024-11-01 04:24:19 +00:00

json/option: Add helper Optional[T] type

This commit is contained in:
diamondburned 2024-08-06 13:32:02 +07:00
parent c40c6b8021
commit af0a612eca
No known key found for this signature in database
GPG key ID: D78C4471CE776659
2 changed files with 15 additions and 1 deletions

2
go.mod
View file

@ -1,6 +1,6 @@
module github.com/diamondburned/arikawa/v3 module github.com/diamondburned/arikawa/v3
go 1.16 go 1.18
require ( require (
github.com/gorilla/schema v1.4.1 github.com/gorilla/schema v1.4.1

View file

@ -4,3 +4,17 @@
// To generate pointerrized primitives, there are helper functions NewT() for // To generate pointerrized primitives, there are helper functions NewT() for
// each option type. // each option type.
package option package option
// Optional wraps a type to make it omittable.
type Optional[T any] *T
// Some creates a new Optional with the value of the passed type.
func Some[T any](v T) Optional[T] {
return &v
}
// PtrTo creates a pointer to the passed value.
// It is like [Some], except it returns *T directly rather than Optional[T].
func PtrTo[T any](v T) *T {
return &v
}