{"version":3,"file":"xxmachina-components-services-openapi.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/openapi/openapi.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/openapi/xxmachina-components-services-openapi.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { catchError, forkJoin, map, Observable, of, switchMap } from 'rxjs';\nimport { OpenApi, OpenAPISchema } from '@xxmachina/common/domain/models';\nimport { JsonSchemaService } from '@xxmachina/components/services/json-schema';\n\nfunction _forkJoin<T>(sources: Observable<T>[]): Observable<T[]> {\n  return sources?.length ? forkJoin(sources) : of([]);\n}\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class OpenApiService {\n  readonly http = inject(HttpClient);\n  readonly schema = inject(JsonSchemaService);\n\n  getOpenApiMany(urls: string[]): Observable<OpenApi[]> {\n    return _forkJoin(urls.map((url) => this.getOpenApi(url).pipe(\n      catchError((error) => (console.error(error), of(null))),\n    ))) as Observable<OpenApi[]>;\n  }\n\n  getOpenApi(url: string): Observable<OpenApi> {\n    return this.getOpenApiSchema(url).pipe(\n      catchError((error) => (console.warn('[OpenApiService] getOpenApi failed.'), of(null))),\n      switchMap((openApi) => this.schema.resolveRef(openApi)),\n      map((openApi) => new OpenApi({...openApi, apiJsonUrl: url})),\n    );\n  }\n\n  getOpenApiSchema(url: string): Observable<OpenAPISchema> {\n    return this.http.get<OpenAPISchema>(url);\n  }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAMA,SAAS,SAAS,CAAI,OAAwB,EAAA;AAC5C,IAAA,OAAO,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;AACrD;MAKa,cAAc,CAAA;AAChB,IAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AACzB,IAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAE3C,IAAA,cAAc,CAAC,IAAc,EAAA;QAC3B,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1D,UAAU,CAAC,CAAC,KAAK,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CACxD,CAAC,CAA0B;IAC9B;AAEA,IAAA,UAAU,CAAC,GAAW,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CACpC,UAAU,CAAC,CAAC,KAAK,MAAM,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EACtF,SAAS,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EACvD,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,OAAO,CAAC,EAAC,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAC,CAAC,CAAC,CAC7D;IACH;AAEA,IAAA,gBAAgB,CAAC,GAAW,EAAA;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,GAAG,CAAC;IAC1C;uGApBW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA;;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACZD;;AAEG;;;;"}