{"version":3,"sources":["../../../../src/lib/A-ServerRouter/A-ServerRouter.meta.ts"],"names":[],"mappings":";;;;AAOO,MAAM,2BAA2B,eAAA,CAA6C;AAAA,EAGjF,IAAI,MAAA,GAA+B;AAC/B,IAAA,OAAO,KAAK,IAAA,CAAK,GAAA,CAAI,sBAAA,CAAuB,cAAc,KAA6B,EAAC;AAAA,EAC5F;AAAA,EAGA,IAAI,WAAA,GAA0D;AAC1D,IAAA,OAAO,KAAK,IAAA,CAAK,GAAA,CAAI,uBAAuB,MAAM,CAAA,wBAAuD,GAAA,EAA2C;AAAA,EACxJ;AAAA,EAGA,QAAA,CAAS,QAAgB,KAAA,EAAsC;AAC3D,IAAA,MAAM,cAAA,GAAiB,KAAK,IAAA,CAAK,GAAA,CAAI,uBAAuB,MAAM,CAAA,wBAAuD,GAAA,EAA2C;AACpK,IAAA,cAAA,CAAe,GAAA,CAAI,MAAA,CAAO,MAAA,EAAQ,KAAK,CAAA;AACvC,IAAA,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,sBAAA,CAAuB,MAAA,EAAQ,cAAc,CAAA;AAE3D,IAAA,MAAM,wBAAwB,IAAA,CAAK,IAAA,CAAK,IAAI,sBAAA,CAAuB,cAAc,KAA6B,EAAC;AAC/G,IAAA,qBAAA,CAAsB,IAAA,CAAK,MAAM,KAAK,CAAA;AACtC,IAAA,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,sBAAA,CAAuB,cAAA,EAAgB,qBAAqB,CAAA;AAAA,EAC9E;AAAA,EAGA,YAAY,KAAA,EAAsB;AAC9B,IAAA,MAAM,cAAA,GAAiB,KAAK,IAAA,CAAK,GAAA,CAAI,uBAAuB,MAAM,CAAA,wBAAuD,GAAA,EAA2C;AACpK,IAAA,cAAA,CAAe,OAAA,CAAQ,CAAC,KAAA,EAAO,GAAA,KAAQ;AACnC,MAAA,IAAI,KAAA,CAAM,UAAU,KAAA,EAAO;AACvB,QAAA,cAAA,CAAe,OAAO,GAAG,CAAA;AAAA,MAC7B;AAAA,IACJ,CAAC,CAAA;AACD,IAAA,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,sBAAA,CAAuB,MAAA,EAAQ,cAAc,CAAA;AAE3D,IAAA,MAAM,wBAAwB,IAAA,CAAK,IAAA,CAAK,IAAI,sBAAA,CAAuB,cAAc,KAA6B,EAAC;AAC/G,IAAA,MAAM,KAAA,GAAQ,qBAAA,CAAsB,OAAA,CAAQ,KAAK,CAAA;AACjD,IAAA,IAAI,UAAU,EAAA,EAAI;AACd,MAAA,qBAAA,CAAsB,MAAA,CAAO,OAAO,CAAC,CAAA;AAAA,IACzC;AACA,IAAA,IAAA,CAAK,IAAA,CAAK,GAAA,CAAI,sBAAA,CAAuB,cAAA,EAAgB,qBAAqB,CAAA;AAAA,EAC9E;AACJ","file":"A-ServerRouter.meta.mjs","sourcesContent":["import { A_ComponentMeta } from \"@adaas/a-concept\";\nimport { A_ServerRouterMetaStructure, A_ServerRouterRouteDefinition } from \"./A-ServerRouter.types\";\nimport { A_ServerRoute } from \"@adaas/a-server/route/A-ServerRoute.entity\";\nimport { A_ServerRouterMetaKeys } from \"./A-ServerRouter.constants\";\n\n\n\nexport class A_ServerRouterMeta extends A_ComponentMeta<A_ServerRouterMetaStructure> {\n\n\n    get routes(): Array<A_ServerRoute> {\n        return this.meta.get(A_ServerRouterMetaKeys.ROUTES_CONFIGS) as Array<A_ServerRoute> || [];\n    }\n\n\n    get definitions(): Map<string, A_ServerRouterRouteDefinition> {\n        return this.meta.get(A_ServerRouterMetaKeys.ROUTES) as Map<string, A_ServerRouterRouteDefinition> || new Map<string, A_ServerRouterRouteDefinition>();\n    }\n\n\n    addRoute(regexp: RegExp, route: A_ServerRouterRouteDefinition) {\n        const existingRoutes = this.meta.get(A_ServerRouterMetaKeys.ROUTES) as Map<string, A_ServerRouterRouteDefinition> || new Map<string, A_ServerRouterRouteDefinition>();\n        existingRoutes.set(regexp.source, route);\n        this.meta.set(A_ServerRouterMetaKeys.ROUTES, existingRoutes);\n\n        const existingRoutesConfigs = this.meta.get(A_ServerRouterMetaKeys.ROUTES_CONFIGS) as Array<A_ServerRoute> || [];\n        existingRoutesConfigs.push(route.route);\n        this.meta.set(A_ServerRouterMetaKeys.ROUTES_CONFIGS, existingRoutesConfigs);\n    }\n\n\n    removeRoute(route: A_ServerRoute) {\n        const existingRoutes = this.meta.get(A_ServerRouterMetaKeys.ROUTES) as Map<string, A_ServerRouterRouteDefinition> || new Map<string, A_ServerRouterRouteDefinition>();\n        existingRoutes.forEach((value, key) => {\n            if (value.route === route) {\n                existingRoutes.delete(key);\n            }\n        });\n        this.meta.set(A_ServerRouterMetaKeys.ROUTES, existingRoutes);\n\n        const existingRoutesConfigs = this.meta.get(A_ServerRouterMetaKeys.ROUTES_CONFIGS) as Array<A_ServerRoute> || [];\n        const index = existingRoutesConfigs.indexOf(route);\n        if (index !== -1) {\n            existingRoutesConfigs.splice(index, 1);\n        }\n        this.meta.set(A_ServerRouterMetaKeys.ROUTES_CONFIGS, existingRoutesConfigs);\n    }\n}"]}