import { promise } from "https://deno.land/x/fun@v2.0.0-alpha.6/mod.ts";
const { ap } = promise;
Create a new Promise from a Promise<(a: A) => I> and a Promise. Although Promises encapsulate asynchrony, there is no way defer a Promise once created, thus this ap function always evaluates both input Promises in parallel.
Examples
Example 1
Example 1
import { of, ap } from "./promise.ts";
import { pipe } from "./fn.ts";
type Person = { name: string, age: number };
const person = (name: string) => (age: number): Person => ({ name, age });
const result = pipe(
of(person),
ap(of("Brandon")),
ap(of(37)),
); // Promise<Person>
Parameters
ua: Promise<A>