One warning per distinct set of unresolved values, or strict errors
{
"warning": "1 value(s) did not resolve to a nfl team: 'XYZ' (unknown). Use suggest() for candidates, or strict: true to throw.",
"timesWarned": 2,
"error": "UnresolvedTeamError: 1 value(s) did not resolve to a nfl team: 'XYZ' (unknown)"
}import {
SdvplotError,
UnresolvedTeamError,
loadLeague,
resetWarnings,
resolveSync,
setWarningHandler,
} from "@sportsdataverse/sdvplot";
await loadLeague("nfl");
const seen: string[] = [];
setWarningHandler((message) => seen.push(message)); // instead of console.warn
resolveSync(["KC", "XYZ"], "nfl"); // [KC's id, undefined] and one warning
resolveSync(["KC", "XYZ"], "nfl"); // the same warning again: silent
resetWarnings();
resolveSync(["KC", "XYZ"], "nfl"); // warns again
setWarningHandler(null); // back to console.warn
let error = "";
try {
resolveSync(["KC", "XYZ"], "nfl", { strict: true });
} catch (e) {
if (e instanceof UnresolvedTeamError && e instanceof SdvplotError) error = `${e.name}: ${e.message}`;
}
{ warning: seen[0], timesWarned: seen.length, error };
Tags: resolve · warnings · strict · nfl. All sdvplot examples.