@@ -114,8 +114,8 @@ async function compareCurrentApiType(
114114 const { operations : prevOperations = [ ] } = await versionOperationsResolver ( apiType , prev ?. version ?? '' , prev ?. packageId ?? '' , undefined , false ) || { }
115115 const { operations : currOperations = [ ] } = await versionOperationsResolver ( apiType , curr ?. version ?? '' , curr ?. packageId ?? '' , undefined , false ) || { }
116116
117- const [ prevOperationIds , prevNormalizedOperationIdToOriginal ] = normalizeOperationIds ( prevOperations , apiBuilder )
118- const [ currOperationIds , currNormalizedOperationIdToOriginal ] = normalizeOperationIds ( currOperations , apiBuilder )
117+ const [ prevOperationIds , prevNormalizedOperationIdToOperation ] = normalizeOperationIds ( prevOperations , apiBuilder )
118+ const [ currOperationIds , currNormalizedOperationIdToOperation ] = normalizeOperationIds ( currOperations , apiBuilder )
119119
120120 const added = difference ( currOperationIds , prevOperationIds )
121121 const removed = difference ( prevOperationIds , currOperationIds )
@@ -130,39 +130,31 @@ async function compareCurrentApiType(
130130 // const currDocuments = ctx.config.files ? unfilteredCurrDocuments.filter(({fileId}) => ctx.config.files?.find((file) => file.fileId === fileId)) : unfilteredCurrDocuments
131131 const currDocuments = unfilteredCurrDocuments
132132
133- const pairedRestDocs : Map < ResolvedVersionDocument , ResolvedVersionDocument > = new Map ( )
133+ const pairedRestDocs : [ ResolvedVersionDocument , ResolvedVersionDocument ] [ ] = [ ]
134134 for ( const normalizedOperationId of rest ) {
135- const prevOperationId = prevNormalizedOperationIdToOriginal [ normalizedOperationId ]
136- const currOperationId = currNormalizedOperationIdToOriginal [ normalizedOperationId ]
137-
138- const prevDocumentId = prevOperations . find ( ( operation ) => operation . operationId === prevOperationId ) ?. documentId
139- const currDocumentId = currOperations . find ( ( operation ) => operation . operationId === currOperationId ) ?. documentId
135+ const prevDocumentId = prevNormalizedOperationIdToOperation [ normalizedOperationId ] ?. documentId
136+ const currDocumentId = currNormalizedOperationIdToOperation [ normalizedOperationId ] ?. documentId
140137 const prevDoc = prevDocuments . find ( document => document . slug === prevDocumentId )
141138 const currDoc = currDocuments . find ( document => document . slug === currDocumentId )
142139
143140 if ( ! prevDoc || ! currDoc ) {
144141 throw new Error ( 'should not happen' )
145142 }
146143
147- if ( pairedRestDocs . get ( prevDoc ) === currDoc ) {
148- continue
149- }
150- pairedRestDocs . set ( prevDoc , currDoc )
144+ pairedRestDocs . push ( [ prevDoc , currDoc ] )
151145 }
152146
153- const pairedDocs : [ ResolvedVersionDocument | undefined , ResolvedVersionDocument | undefined ] [ ] = [ ...pairedRestDocs . entries ( ) ]
154- const qwe = [ ...new Set ( added . map ( ( normalizedOperationId ) => {
155- const operationId = currNormalizedOperationIdToOriginal [ normalizedOperationId ]
156- const currDocumentId = currOperations . find ( ( operation ) => operation . operationId === operationId ) ?. documentId
147+ const pairedDocs : [ ResolvedVersionDocument | undefined , ResolvedVersionDocument | undefined ] [ ] = dedupePairs ( pairedRestDocs )
148+ const uniqueCurrentDocuments = [ ...new Set ( added . map ( ( normalizedOperationId ) => {
149+ const currDocumentId = currNormalizedOperationIdToOperation [ normalizedOperationId ] ?. documentId
157150 return currDocuments . find ( document => document . slug === currDocumentId )
158151 } ) ) ]
159- for ( const currDoc of qwe ) {
152+ for ( const currDoc of uniqueCurrentDocuments ) {
160153 pairedDocs . push ( [ undefined , currDoc ] )
161154 }
162155
163156 const asd = [ ...new Set ( removed . map ( ( normalizedOperationId ) => {
164- const operationId = prevNormalizedOperationIdToOriginal [ normalizedOperationId ]
165- const prevDocumentId = prevOperations . find ( ( operation ) => operation . operationId === operationId ) ?. documentId
157+ const prevDocumentId = prevNormalizedOperationIdToOperation [ normalizedOperationId ] ?. documentId
166158 return prevDocuments . find ( document => document . slug === prevDocumentId )
167159 } ) ) ]
168160 for ( const prevDoc of asd ) {
0 commit comments