diff --git a/docs/api/reactivity-utility.md b/docs/api/reactivity-utility.md index b8bff4d..4e8756c 100644 --- a/docs/api/reactivity-utility.md +++ b/docs/api/reactivity-utility.md @@ -74,7 +74,9 @@ Utility used to read a value that is either a primitive or a source. - **Type** ```luau - function read(value: T | () -> T): T + type CanBeSource = T | (() -> T) + + function read(value: CanBeSource): T ``` ## batch() diff --git a/init.luau b/init.luau index a9ae8e0..db8caab 100644 --- a/init.luau +++ b/init.luau @@ -2,6 +2,7 @@ local vide = require "@self/src/lib" export type source = vide.source export type Source = vide.Source +export type CanBeSource = read.CanBeSource export type context = vide.context export type Context = vide.Context export type Instances = vide.Instances diff --git a/src/init.luau b/src/init.luau index c0fbe0e..9c8cfe3 100644 --- a/src/init.luau +++ b/src/init.luau @@ -4,6 +4,7 @@ local vide = require("@self/lib") export type source = vide.source export type Source = vide.Source +export type CanBeSource = vide.CanBeSource export type context = vide.context export type Context = vide.Context export type Instances = vide.Instances diff --git a/src/lib.luau b/src/lib.luau index a8a3885..cfb0cb5 100644 --- a/src/lib.luau +++ b/src/lib.luau @@ -25,6 +25,7 @@ local flags = require "./flags" export type Source = source.Source export type source = Source +export type CanBeSource = read.CanBeSource export type Context = context.Context export type context = Context export type Instances = create.Instances diff --git a/src/read.luau b/src/read.luau index 3764315..cc918e7 100644 --- a/src/read.luau +++ b/src/read.luau @@ -1,4 +1,6 @@ -local function read(value: T | () -> T): T +export type CanBeSource = T | (() -> T) + +local function read(value: CanBeSource): T return if type(value) == "function" then value() else value end