MCPcopy Create free account
hub / github.com/IgorWarzocha/howcode / parseDiffBaseline

Function parseDiffBaseline

desktop/thread-state-db/queries.ts:125–169  ·  view source on GitHub ↗
(value: string | null)

Source from the content-addressed store, hash-verified

123}
124
125function parseDiffBaseline(value: string | null): ProjectDiffBaseline | null {
126 if (!value) {
127 return null
128 }
129
130 try {
131 const parsed = JSON.parse(value) as unknown
132 if (!parsed || typeof parsed !== 'object') {
133 return null
134 }
135
136 const baseline = parsed as {
137 kind?: unknown
138 rev?: unknown
139 capturedAt?: unknown
140 sha?: unknown
141 }
142 switch (baseline.kind) {
143 case 'head':
144 case 'previous':
145 case 'yesterday':
146 case 'main-branch':
147 case 'dev-branch':
148 return { kind: baseline.kind }
149 case 'last-opened':
150 return typeof baseline.rev === 'string' && baseline.rev.trim().length > 0
151 ? {
152 kind: 'last-opened',
153 rev: baseline.rev,
154 ...(baseline.capturedAt === undefined
155 ? {}
156 : { capturedAt: baseline.capturedAt as string | null }),
157 }
158 : null
159 case 'commit':
160 return typeof baseline.sha === 'string' && baseline.sha.trim().length > 0
161 ? { kind: 'commit', sha: baseline.sha }
162 : null
163 default:
164 return null
165 }
166 } catch {
167 return null
168 }
169}
170
171export function getThreadDiffPreferences(sessionPath: string): ProjectDiffPreferences {
172 const db = getThreadStateDatabase()

Callers 1

getThreadDiffPreferencesFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected