{"version":3,"file":"hslayers-ng-services-endpoints.mjs","sources":["../../../projects/hslayers/services/endpoints/endpoints.service.ts","../../../projects/hslayers/services/endpoints/hslayers-ng-services-endpoints.ts"],"sourcesContent":["import {inject, Injectable} from '@angular/core';\n\nimport {HsConfig} from 'hslayers-ng/config';\nimport {HsEndpoint} from 'hslayers-ng/types';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {of, switchMap} from 'rxjs';\n\n@Injectable({providedIn: 'root'})\nexport class HsCommonEndpointsService {\n  hsConfig = inject(HsConfig);\n\n  endpoints = toSignal(\n    this.hsConfig.configChanges.pipe(switchMap(() => of(this.fillEndpoints()))),\n    {initialValue: [] as HsEndpoint[]},\n  );\n\n  private fillEndpoints(): HsEndpoint[] {\n    const endpoints = (this.hsConfig.datasources || []).map(\n      (ds) =>\n        ({\n          url: ds.url,\n          id: crypto.randomUUID(),\n          type: ds.type,\n          title: ds.title,\n          onError: ds.onError,\n          datasourcePaging: {\n            start: 0,\n            limit: this.getItemsPerPageConfig(ds),\n            loaded: false,\n          },\n          compositionsPaging: {\n            start: 0,\n            limit: this.getItemsPerPageConfig(ds),\n            loaded: false,\n          },\n          paging: {\n            itemsPerPage: this.getItemsPerPageConfig(ds),\n          },\n        }) as HsEndpoint,\n    );\n\n    // Sort endpoints to give layman's layers priority in duplicate filtering\n    return endpoints.sort((a, b) => a.type.localeCompare(b.type));\n  }\n  /**\n   * Get items per page config\n   * @param endpoint - Endpoint\n   * @returns number\n   */\n  getItemsPerPageConfig(endpoint): number {\n    return endpoint.paging !== undefined &&\n      endpoint.paging.itemsPerPage !== undefined\n      ? endpoint.paging.itemsPerPage\n      : 10;\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAQa,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;AAEE,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAE3B,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAClB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAC3E,EAAC,YAAY,EAAE,EAAkB,EAAC,CACnC;AAyCF,IAAA;IAvCS,aAAa,GAAA;AACnB,QAAA,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CACrD,CAAC,EAAE,MACA;YACC,GAAG,EAAE,EAAE,CAAC,GAAG;AACX,YAAA,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,OAAO,EAAE,EAAE,CAAC,OAAO;AACnB,YAAA,gBAAgB,EAAE;AAChB,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;AACrC,gBAAA,MAAM,EAAE,KAAK;AACd,aAAA;AACD,YAAA,kBAAkB,EAAE;AAClB,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;AACrC,gBAAA,MAAM,EAAE,KAAK;AACd,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;AAC7C,aAAA;AACF,SAAA,CAAe,CACnB;;QAGD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/D;AACA;;;;AAIG;AACH,IAAA,qBAAqB,CAAC,QAAQ,EAAA;AAC5B,QAAA,OAAO,QAAQ,CAAC,MAAM,KAAK,SAAS;AAClC,YAAA,QAAQ,CAAC,MAAM,CAAC,YAAY,KAAK;AACjC,cAAE,QAAQ,CAAC,MAAM,CAAC;cAChB,EAAE;IACR;+GA9CW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADZ,MAAM,EAAA,CAAA,CAAA;;4FAClB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;ACPhC;;AAEG;;;;"}