utils/watches
Classes
AwaitNot
Manages an asynchronous watch on a property, waiting for it to toggle between true and false states. This class uses immediate watchers to react to changes and supports a timeout to limit waiting duration.
Constructors
Constructor
new AwaitNot(
options):AwaitNot
Initializes the AwaitNot with specified options for reactive property watching and timeout settings.
Parameters
options
Configuration options for AwaitNot.
couldAlreadyBeFalse?
boolean = false
Indicates if the property could already be in the false state at initialization.
obj?
any
The object containing the property to watch.
prop?
string
The property name to watch within the object.
ref?
Ref<any, any>
A Vue ref to directly watch if provided.
timeout?
number = 1000
The timeout in milliseconds before the promise is rejected.
Returns
Properties
couldAlreadyBeFalse
couldAlreadyBeFalse:
boolean
falseISW
falseISW:
ImmediateStopWatch
promise
promise:
Promise<any>
ref
ref:
Readonly<Ref<any,any>>
reject
reject: (
reason?) =>void
Parameters
reason?
any
Returns
void
resolve
resolve: (
value) =>void
Parameters
value
any
Returns
void
timeout
timeout:
AwaitTimeout
timeoutError
timeoutError:
AwaitNotError
trueISW
trueISW:
ImmediateStopWatch
Methods
start()
start():
void
Starts the process of watching the property for changes between true and false. It sets up the necessary watchers and a timeout if specified.
Returns
void
stop()
stop():
void
Stops all watchers and the timeout, cleaning up resources.
Returns
void
AwaitNotError
The error thrown when an AwaitNot operation times out.
Extends
Error
Constructors
Constructor
new AwaitNotError(
message,code):AwaitNotError
Parameters
message
any
code
any
Returns
Overrides
Error.constructor
Properties
code
code:
any
The error code.
name
name:
string
The error name.
Inherited from
Error.name
AwaitTimeout
A utility class for managing a promise that resolves or rejects based on a set timeout or an explicit stop action. This class is useful for implementing timeouts in asynchronous operations, where you might need to reject a promise if an operation takes too long or cancel the timeout based on certain conditions.
Constructors
Constructor
new AwaitTimeout(
options):AwaitTimeout
Creates an instance of AwaitTimeout with a specified timeout duration.
Parameters
options
The options for the AwaitTimeout.
timeout?
number = 1000
The timeout in milliseconds.
Returns
Properties
cancelledError
cancelledError:
AwaitTimeoutError
promise
promise:
Promise<any>
reject
reject: (
reason?) =>void
Parameters
reason?
any
Returns
void
resolve
resolve: (
value) =>void
Parameters
value
any
Returns
void
timeout
timeout:
number
timeoutId
timeoutId:
number
Methods
start()
start():
void
Starts the timeout process. If the timeout duration is reached without being stopped, the promise resolves.
Returns
void
stop()
stop():
void
Stops the timeout if it is active, rejecting the promise with a "Cancelled" error. Clears all pending actions.
Returns
void
AwaitTimeoutError
The error thrown when an AwaitTimeout operation times out.
Extends
Error
Constructors
Constructor
new AwaitTimeoutError(
message,code):AwaitTimeoutError
Parameters
message
any
code
any
Returns
Overrides
Error.constructor
Properties
code
code:
any
The error code.
name
name:
string
Inherited from
Error.name
ImmediateStopWatch
Provides a mechanism for immediately starting and potentially stopping a Vue.js watcher during its first invocation. This is useful when the need arises to terminate the watch based on conditions encountered during the initial execution of the watch function.
Constructors
Constructor
new ImmediateStopWatch():
ImmediateStopWatch
Returns
Properties
stopWatch
stopWatch:
WatchHandle
Methods
start()
start(
watchSources,watchFunc,watchFuncArgs?,watchOptions?):void
Starts the watch.
Parameters
watchSources
WatchSource<any> | WatchSource<any>[]
The source(s) to watch.
watchFunc
WatchCallback<any, any>
The callback to execute when the source changes.
watchFuncArgs?
any[] = []
Optional arguments to pass to the watch function.
watchOptions?
WatchOptions<boolean> = {}
Optional watch options.
Returns
void
stop()
stop():
void
Stops the watch.
Returns
void
Functions
doAwaitNot()
doAwaitNot(
options):Promise<any>
Helper function to get the resulting promise from an AwaitNot instance.
Parameters
options
Configuration options for AwaitNot.
couldAlreadyBeFalse?
boolean = true
Indicates if the property could already be in the false state at initialization.
obj
any
The object containing the property to watch.
prop
string
The property name to watch within the object.
ref?
Ref<any, any>
A Vue ref to directly watch if provided.
timeout?
number = 1000
The timeout in milliseconds before the promise is rejected.
Returns
Promise<any>
A promise that resolves when the property toggles from true to false.
doAwaitTimeout()
doAwaitTimeout(
timeout):Promise<any>
Helper function to get the resulting promise from an AwaitTimeout instance.
Parameters
timeout
number
The timeout in milliseconds.
Returns
Promise<any>
A promise that resolves after the specified timeout.