import { ScenarioType } from './scenarioUtils' ; import { FileAPI } from './fileUtils' ; export enum BundleTypeEnum { DRIVE = 'drive' } export interface BundleType { name : string ; bundleType : BundleTypeEnum ; scenarios : { [ name ] : ScenarioType & { metadataId : string ; } ; } ; driveMaps : string [ ] ; driveMinis : string [ ] ; } export async function buildBundleJson ( fileAPI , name , scenarioMetadataIds , mapMetadataIds , miniMetadataIds ) { let bundle = { bundleType : BundleTypeEnum . DRIVE , name , scenarios : { } , driveMaps : mapMetadataIds , driveMinis : miniMetadataIds } ; for ( let metadataId of scenarioMetadataIds ) { const scenarioMetadata = await fileAPI . getFullMetadata ( metadataId ) ; bundle . scenarios [ scenarioMetadata . name ] = await fileAPI . getJsonFileContents ( { id : metadataId } ) ; bundle . scenarios [ scenarioMetadata . name ] . metadataId = metadataId ; } return bundle ; } export function isBundle ( value ) { return value && value . bundleType !== undefined ; }