{"version":3,"sources":["../../../../src/lib/A-ServerRoute/A-ServerRoute.entity.ts"],"names":[],"mappings":";;;AAKO,MAAM,sBAAsB,OAAA,CAAQ;AAAA,EAavC,WAAA,CACI,QACA,MAAA,EACF;AACE,IAAA,KAAA,CAAM,MAAM,CAAA;AACZ,IAAA,IAAA,CAAK,GAAA,GAAM,MAAA,YAAkB,MAAA,GAAS,MAAA,CAAO,MAAA,GAAS,MAAA;AACtD,IAAA,IAAA,CAAK,SAAS,MAAA,IAAU,KAAA;AAAA,EAC5B;AAAA,EAGA,QAAA,GAAmB;AAGf,IAAA,OAAO,CAAA,EAAG,IAAA,CAAK,MAAM,CAAA,EAAA,EAAK,KAAK,IAAI,CAAA,CAAA;AAAA,EAGvC;AAAA,EAEA,QAAA,GAAmB;AACf,IAAA,OAAO,IAAI,MAAA,CAAO,CAAA,CAAA,EAAI,IAAA,CAAK,MAAM,CAAA,EAAA,EAAK,IAAA,CAAK,IAAA,CAAK,OAAA,CAAQ,cAAA,EAAgB,UAAU,CAAC,CAAA,CAAA,CAAG,CAAA;AAAA,EAC1F;AAAA,EAEA,mBAAA,CAAoB,cAAA,GAAgC,EAAC,EAAW;AAC5D,IAAA,OAAO,IAAI,OAAO,CAAA,CAAA,EAAI,cAAA,CAAe,SAC/B,CAAA,CAAA,EAAI,cAAA,CAAe,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,CAAA,GAC5B,IACF,CAAA,GAAA,EAAM,IAAA,CAAK,MAAM,CAAA,EAAA,EAAK,IAAA,CAAK,KAAK,OAAA,CAAQ,cAAA,EAAgB,UAAU,CAAC,CAAA,CAAA,CAAG,CAAA;AAAA,EAC9E;AACJ","file":"A-ServerRoute.entity.mjs","sourcesContent":["import { A_Route } from '@adaas/a-utils/a-route';\nimport { A_ServerRouteHttpMethodNames } from './A-ServerRoute.types';\n\n\n\nexport class A_ServerRoute extends A_Route {\n\n    public url!: string;\n    public method!: A_ServerRouteHttpMethodNames;\n\n\n    constructor(\n        url: string | RegExp,\n        method: A_ServerRouteHttpMethodNames\n    )\n    constructor(\n        url: string | RegExp,\n    )\n    constructor(\n        param1: string | RegExp,\n        param2?: A_ServerRouteHttpMethodNames\n    ) {\n        super(param1);\n        this.url = param1 instanceof RegExp ? param1.source : param1;\n        this.method = param2 || 'GET';\n    }\n\n\n    toString(): string {\n        // path can be like /api/v1/users/:id\n        // and because of that :id we need to replace it with regex that matches chars and numbers only   \n        return `${this.method}::${this.path}`;\n\n        // .replace(/\\/:([^\\/]+)/g, '\\\\/([^\\/]+)')\n    }\n\n    toRegExp(): RegExp {\n        return new RegExp(`^${this.method}::${this.path.replace(/\\/:([^\\/]+)/g, '/([^/]+)')}$`);\n    }\n\n    toAFeatureExtension(extensionScope: Array<string> = []): RegExp {\n        return new RegExp(`^${extensionScope.length\n            ? `(${extensionScope.join('|')})`\n            : '.*'\n            }\\\\.${this.method}::${this.path.replace(/\\/:([^\\/]+)/g, '/([^/]+)')}$`);\n    }\n}\n\n"]}