@@ -22,7 +22,7 @@ import {
2222 BuilderContext ,
2323 BuildResult ,
2424 BuildResultDto ,
25- HTML_EXPORT_GROUP_FORMAT ,
25+ ExportDocument ,
2626 PackageComparison ,
2727 PackageComparisonOperations ,
2828 PackageComparisons ,
@@ -36,9 +36,8 @@ import {
3636} from '../types'
3737import { unknownApiBuilder } from '../apitypes'
3838import { BUILD_TYPE , MESSAGE_SEVERITY , PACKAGE } from '../consts'
39- import { takeIf , toPackageDocument } from '../utils'
39+ import { EXPORT_FORMAT_TO_FILE_FORMAT , takeIf , toPackageDocument } from '../utils'
4040import { toVersionsComparisonDto } from '../utils/transformToDto'
41- import { dumpRestDocument } from '../apitypes/rest/rest.document'
4241
4342export interface ZipTool {
4443 // todo method should only accept Blob content, transformation is not a responsibility of this method
@@ -47,25 +46,6 @@ export interface ZipTool {
4746 buildResult : ( options ?: JSZip . JSZipGeneratorOptions ) => Promise < any >
4847}
4948
50- export const createExportResult = async (
51- buildResult : BuildResult ,
52- zip : ZipTool ,
53- ctx : BuilderContext ,
54- options ?: JSZip . JSZipGeneratorOptions ,
55- ) : Promise < any > => {
56- const { config : { format } } = ctx
57-
58- for ( const document of [ ...buildResult . documents . values ( ) ] ) {
59- // const apiBuilder = apiBuilders.find(({ types }) => types.includes(document.type)) || unknownApiBuilder
60- // const data = apiBuilder.dumpDocument(document, format)
61- const data = dumpRestDocument ( document , format )
62-
63- await zip . file ( document . filename , data )
64- }
65-
66- return await zip . buildResult ( options )
67- }
68-
6949export const createVersionPackage = async (
7050 buildResult : BuildResult ,
7151 zip : ZipTool ,
@@ -85,27 +65,14 @@ export const createVersionPackage = async (
8565
8666 const documents = buildResultDto . merged ? [ buildResultDto . merged ] : [ ...buildResultDto . documents . values ( ) ]
8767
88- // todo refactor accordingly to new reqs
8968 switch ( buildResult . config . buildType ) {
90- case BUILD_TYPE . EXPORT_REST_DOCUMENT :
91- if ( buildResult . exportDocuments . length === 1 ) {
92- return Buffer . from ( await dumpRestDocument ( buildResultDto . exportDocuments [ 0 ] , ctx . config . format ) . arrayBuffer ( ) )
93- }
94- await createExportDocumentDataFiles ( zip , buildResultDto . exportDocuments , ctx )
95- return await zip . buildResult ( options )
96-
9769 case BUILD_TYPE . EXPORT_VERSION :
98- if ( buildResult . exportDocuments . length === 1 ) {
99- return Buffer . from ( await dumpRestDocument ( buildResultDto . exportDocuments [ 0 ] , ctx . config . format ) . arrayBuffer ( ) )
100- }
101- await createExportDocumentDataFiles ( zip , buildResultDto . exportDocuments , ctx )
102- return await zip . buildResult ( options )
103-
70+ case BUILD_TYPE . EXPORT_REST_DOCUMENT :
10471 case BUILD_TYPE . EXPORT_REST_OPERATIONS_GROUP :
10572 if ( buildResult . exportDocuments . length === 1 ) {
106- return Buffer . from ( await dumpRestDocument ( buildResultDto . exportDocuments [ 0 ] , ctx . config . format ) . arrayBuffer ( ) )
73+ return Buffer . from ( await buildResultDto . exportDocuments [ 0 ] . data . arrayBuffer ( ) )
10774 }
108- await createExportDocumentDataFiles ( zip , buildResultDto . exportDocuments , ctx )
75+ await createExportDocumentDataFiles ( zip , buildResultDto . exportDocuments )
10976 return await zip . buildResult ( options )
11077 }
11178
@@ -163,7 +130,8 @@ const writeDocumentsToZip = async (zip: ZipTool, documents: ZippableDocument[],
163130
164131 const apiBuilder =
165132 apiBuilders . find ( ( { types } ) => types . includes ( document . type ) ) || unknownApiBuilder
166- const data = apiBuilder . dumpDocument ( document , format )
133+ const documentFormat = EXPORT_FORMAT_TO_FILE_FORMAT . get ( format ! )
134+ const data = apiBuilder . dumpDocument ( document , documentFormat )
167135 await zip . file ( document . filename , data )
168136 }
169137}
@@ -173,8 +141,10 @@ const createDocumentDataFiles = async (zip: ZipTool, documents: VersionDocument[
173141 await writeDocumentsToZip ( documentsDir , documents , ctx )
174142}
175143
176- const createExportDocumentDataFiles = async ( zip : ZipTool , documents : ZippableDocument [ ] , ctx : BuilderContext ) : Promise < void > => {
177- await writeDocumentsToZip ( zip , documents , ctx )
144+ const createExportDocumentDataFiles = async ( zip : ZipTool , documents : ExportDocument [ ] ) : Promise < void > => {
145+ for ( const document of documents ) {
146+ await zip . file ( document . filename , document . data )
147+ }
178148}
179149
180150const createOperationsFile = ( zip : ZipTool , operations : Map < string , ApiOperation > ) : void => {
0 commit comments