setAsync

@JvmName(name = "set")
fun <T> setAsync(formSchema: Schema<T>, formValue: T, path: Path, toSet: Any?, executor: Executor = Dispatchers.Default.asExecutor()): CompletableFuture<Unit>
@JvmName(name = "set")
fun <T> setAsync(formSchema: Schema<T>, formValue: T, path: String, toSet: Any?, executor: Executor = Dispatchers.Default.asExecutor()): CompletableFuture<Unit>

Returns a future that completes once the values at path that are part of the form value formValue (with schema formSchema) have been set with value toSet.

If the path has a trailing non-recursive wildcard, then all existing children of its parent value are set to toSet. E.g. assume that the list [1, 2, 3] exists at "/list"; setting the value 5 at "/list/∗" will cause "/list" to end up with [5, 5, 5].

Setting a value on a path with a trailing recursive wildcard is considered equivalent to setting the value on said path without such wildcard. E.g. setting the value at "/x/∗∗" is equivalent to setting the same value at "/x".

The future will complete exceptionally with InvalidPathException if path matches no schemas, or when attempting to set the root value.

Optionally provide an Executor to specify the threading model used for this function. By default, the kotlinx.coroutines Default thread pool is used. Pass Runnable::run as the executor to instead run this function in the calling thread.