MCPcopy Create free account
hub / github.com/github/gh-aw / resolveRepoIssueTarget

Function resolveRepoIssueTarget

actions/setup/js/temporary_id.cjs:414–438  ·  view source on GitHub ↗

* Resolve an issue number that may be a temporary ID and return a concrete owner/repo/number triple. * * @param {any} value - The value to resolve * @param {Map } temporaryIdMap - Normalized map of temporary IDs to {repo, number} * @param {string} defaultOwner - Fallback ow

(value, temporaryIdMap, defaultOwner, defaultRepo)

Source from the content-addressed store, hash-verified

412 * @returns {{resolved: {owner: string, repo: string, number: number}|null, wasTemporaryId: boolean, errorMessage: string|null}}
413 */
414function resolveRepoIssueTarget(value, temporaryIdMap, defaultOwner, defaultRepo) {
415 const result = resolveIssueNumber(value, temporaryIdMap);
416 if (!result.resolved) {
417 return { resolved: null, wasTemporaryId: result.wasTemporaryId, errorMessage: result.errorMessage };
418 }
419
420 // For non-temporary numeric issue numbers, prefer the caller-provided default repo.
421 // For temporary IDs, the resolved repo (if present) should win.
422 const defaultRepoSlug = defaultOwner && defaultRepo ? `${defaultOwner}/${defaultRepo}` : "";
423 const repoSlug = result.wasTemporaryId ? result.resolved.repo || defaultRepoSlug : defaultRepoSlug || result.resolved.repo;
424 const parts = String(repoSlug).split("/");
425 if (parts.length !== 2 || !parts[0] || !parts[1]) {
426 return {
427 resolved: null,
428 wasTemporaryId: result.wasTemporaryId,
429 errorMessage: `Invalid repository slug '${repoSlug}' while resolving issue target (expected 'owner/repo')`,
430 };
431 }
432
433 return {
434 resolved: { owner: parts[0], repo: parts[1], number: result.resolved.number },
435 wasTemporaryId: result.wasTemporaryId,
436 errorMessage: null,
437 };
438}
439
440/**
441 * Resolve a safe-output issue/PR target number from a message.

Callers 6

mainFunction · 0.85
mainFunction · 0.85
resolveTargetFunction · 0.85
mainFunction · 0.85

Calls 1

resolveIssueNumberFunction · 0.70

Tested by

no test coverage detected