11// @ts -check
22
33const { parseStatus, validateRepositoryPath } = require ( './git-state/common.cjs' ) ;
4- const { listRepositoryHistory, readCommitState } = require ( './git-state/commit.cjs' ) ;
4+ const {
5+ listRepositoryHistory,
6+ readCommitSectionContent,
7+ readCommitState,
8+ } = require ( './git-state/commit.cjs' ) ;
59const {
610 normalizeGitHubReviewComment,
711 normalizePullRequestComment,
@@ -11,13 +15,14 @@ const {
1115 submitPullRequestReview,
1216} = require ( './git-state/pull-request.cjs' ) ;
1317const {
14- readDiffSectionContent,
18+ readDiffSectionContent : readWorkingTreeDiffSectionContent ,
1519 readGitIdentity,
1620 readRepositoryChangeSignature,
1721 readWorkingTreeState,
1822} = require ( './git-state/working-tree.cjs' ) ;
1923
2024/**
25+ * @typedef {import('../src/types.ts').DiffSectionContentRequest } DiffSectionContentRequest
2126 * @typedef {import('../src/types.ts').RepositoryState } RepositoryState
2227 * @typedef {import('../src/types.ts').ReviewSource } ReviewSource
2328 */
@@ -30,6 +35,14 @@ const readRepositoryState = async (launchPath, source = { type: 'working-tree' }
3035 ? readCommitState ( launchPath , source . ref )
3136 : readWorkingTreeState ( launchPath ) ;
3237
38+ /** @param {string } launchPath @param {DiffSectionContentRequest } request */
39+ const readDiffSectionContent = async ( launchPath , request ) =>
40+ request . kind === 'commit' || request . source ?. type === 'commit'
41+ ? readCommitSectionContent ( launchPath , request . source ?. ref || 'HEAD' , request . path , {
42+ force : request . force ,
43+ } )
44+ : readWorkingTreeDiffSectionContent ( launchPath , request ) ;
45+
3346module . exports = {
3447 listRepositoryHistory,
3548 normalizeGitHubReviewComment,
0 commit comments