All files / tao-routing-core/src get-signal.js

100% Statements 3/3
100% Branches 2/2
100% Functions 1/1
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18                        5x 2x   3x    
/** @typedef {import('./create-import-loader').LoaderResult} LoaderResult */
/** @typedef {import('./apply-signal').RouteSignal} RouteSignal */
 
/**
 * Read `signal` from a loader/route data bag (`{ signal }`).
 *
 * @param {LoaderResult | null | undefined} loaderData - typically the host
 *        router's loader data (the {@link LoaderResult} an import loader
 *        produced); tolerates anything nullish or signal-less
 * @returns {RouteSignal | null | undefined}
 */
export function getSignal(loaderData) {
  if (loaderData == null) {
    return undefined;
  }
  return loaderData.signal;
}