feat: add CanBeSource type

This commit is contained in:
Prizm 2026-08-06 09:40:12 -05:00 committed by GitHub
parent f3bfc65607
commit b6050515af
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 9 additions and 2 deletions

View file

@ -74,7 +74,9 @@ Utility used to read a value that is either a primitive or a source.
- **Type** - **Type**
```luau ```luau
function read<T>(value: T | () -> T): T type CanBeSource<T> = T | (() -> T)
function read<T>(value: CanBeSource<T>): T
``` ```
## batch() ## batch()

View file

@ -2,6 +2,7 @@ local vide = require "@self/src/lib"
export type source<T> = vide.source<T> export type source<T> = vide.source<T>
export type Source<T> = vide.Source<T> export type Source<T> = vide.Source<T>
export type CanBeSource<T> = read.CanBeSource<T>
export type context<T> = vide.context<T> export type context<T> = vide.context<T>
export type Context<T> = vide.Context<T> export type Context<T> = vide.Context<T>
export type Instances = vide.Instances export type Instances = vide.Instances

View file

@ -4,6 +4,7 @@ local vide = require("@self/lib")
export type source<T> = vide.source<T> export type source<T> = vide.source<T>
export type Source<T> = vide.Source<T> export type Source<T> = vide.Source<T>
export type CanBeSource<T> = vide.CanBeSource<T>
export type context<T> = vide.context<T> export type context<T> = vide.context<T>
export type Context<T> = vide.Context<T> export type Context<T> = vide.Context<T>
export type Instances = vide.Instances export type Instances = vide.Instances

View file

@ -25,6 +25,7 @@ local flags = require "./flags"
export type Source<T> = source.Source<T> export type Source<T> = source.Source<T>
export type source<T> = Source<T> export type source<T> = Source<T>
export type CanBeSource<T> = read.CanBeSource<T>
export type Context<T> = context.Context<T> export type Context<T> = context.Context<T>
export type context<T> = Context<T> export type context<T> = Context<T>
export type Instances = create.Instances export type Instances = create.Instances

View file

@ -1,4 +1,6 @@
local function read<T>(value: T | () -> T): T export type CanBeSource<T> = T | (() -> T)
local function read<T>(value: CanBeSource<T>): T
return if type(value) == "function" then value() else value return if type(value) == "function" then value() else value
end end