Hyperlinkv0.8.0-beta.28

Hyperlink

Hyperlink.mutatePairfunctionsrc/Hyperlink.ts:1514
<Su extends Schema.Top, H extends Schema.Top, T extends Schema.Top>(
  success: Su,
  head: H,
  tail: T
): Method<
  Schema.Tuple<readonly [H, T]>,
  Su,
  Schema.Never,
  false,
  PairMethodAnnotations
>
<
  Su extends Schema.Top,
  P extends Schema.Tuple<readonly [Schema.Top, Schema.Top]>
>(
  success: Su,
  payload: P
): Method<P, Su, Schema.Never, false, PairMethodAnnotations>

Like effectFn, but the payload must be a 2-tuple schema surfaced as two call arguments (first, second?) — used by custom-queue add(item, level?).

spec fieldseffectFn
Source src/Hyperlink.ts:151431 lines
export function mutatePair<
  Su extends Schema.Top,
  H extends Schema.Top,
  T extends Schema.Top,
>(
  success: Su,
  head: H,
  tail: T,
): Method<Schema.Tuple<readonly [H, T]>, Su, Schema.Never, false, PairMethodAnnotations>;
export function mutatePair<Su extends Schema.Top, P extends Schema.Tuple<readonly [Schema.Top, Schema.Top]>>(
  success: Su,
  payload: P,
): Method<P, Su, Schema.Never, false, PairMethodAnnotations>;
export function mutatePair(
  success: Schema.Top,
  headOrPayload: Schema.Top,
  tail?: Schema.Top,
): Method<Schema.Tuple<readonly [Schema.Top, Schema.Top]>, Schema.Top, Schema.Never, false, PairMethodAnnotations> {
  const payload =
    tail === undefined
      ? headOrPayload
      : Schema.Tuple([headOrPayload, tail]);
  return makeMethod(
    "mutate",
    payload as Schema.Tuple<readonly [Schema.Top, Schema.Top]>,
    success,
    Schema.Never,
    false,
    { callStyle: "pair" },
  );
}
Referenced by 1 symbols