@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
1 lines • 2.42 kB
Source Map (JSON)
{"version":3,"sources":["../../src/setup/sockets.ts"],"names":["setupSockets","server","config","sharedDeps","deps","getRegistry","defaultPipelines","shouldUseDefaultEndpoints","configPipelines","sockets","Promise","resolve","pipelines","epicsByPath","Map","Object","entries","registry","logger","initialize","mode","destroy","deinitialize"],"mappings":";;;;;;;AAIA;;AACA;;AAEO,eAAeA,YAAf,CACLC,MADK,EAELC,MAFK,EAGLC,UAHK,EAILC,IAAI,GAAG;AACLC,EAAAA,WAAW,EAAXA;AADK,CAJF,EAOqB;AAC1B,QAAMC,gBAAgB,GACpB,OAAOJ,MAAM,CAACK,yBAAd,KAA4C,SAA5C,IACAL,MAAM,CAACK,yBADP,GAEI,+BAFJ,GAGI,EAJN;AAMA,QAAMC,eAAe,GAAG,OAAON,MAAM,CAACO,OAAP,GAC3BP,MAAM,CAACO,OAAP,CAAeN,UAAf,CAD2B,GAE3BO,OAAO,CAACC,OAAR,CAAgB,EAAhB,CAFoB,CAAxB;AAIA,QAAMC,SAAS,GAAG,EAChB,GAAGN,gBADa;AAEhB,OAAGE;AAFa,GAAlB;AAKA,QAAMK,WAAW,GAAG,IAAIC,GAAJ,CAA+BC,MAAM,CAACC,OAAP,CAAeJ,SAAf,CAA/B,CAApB;AAEA,QAAMK,QAAQ,GAAGb,IAAI,CAACC,WAAL,CAAiBJ,MAAjB,EAAyBY,WAAzB,EAAsCV,UAAU,CAACe,MAAjD,CAAjB;AAEAD,EAAAA,QAAQ,CAACE,UAAT,CAAoBN,WAApB;AAEA,SAAO,MAAMO,IAAN,IAAc;AACnB,QAAIA,IAAI,KAAK,SAAb,EAAwB;AACtB,YAAMH,QAAQ,CAACI,OAAT,EAAN;AACD,KAFD,MAEO;AACL,YAAMJ,QAAQ,CAACK,YAAT,EAAN;AACD;AACF,GAND;AAOD","sourcesContent":["import * as http from 'http';\nimport * as https from 'https';\nimport { IServiceConfig, AnySocketEpic, ServiceDeps } from '../shared';\nimport { TeardownHandler } from '../shared/teardown';\nimport { defaultSocketsMap } from '../shared/epics';\nimport { getRegistry } from '../shared/sockets';\n\nexport async function setupSockets<D>(\n server: http.Server | https.Server,\n config: IServiceConfig<D>,\n sharedDeps: ServiceDeps<D>,\n deps = {\n getRegistry,\n }\n): Promise<TeardownHandler> {\n const defaultPipelines =\n typeof config.shouldUseDefaultEndpoints !== 'boolean' ||\n config.shouldUseDefaultEndpoints\n ? defaultSocketsMap()\n : {};\n\n const configPipelines = await (config.sockets\n ? config.sockets(sharedDeps)\n : Promise.resolve({}));\n\n const pipelines = {\n ...defaultPipelines,\n ...configPipelines,\n };\n\n const epicsByPath = new Map<string, AnySocketEpic>(Object.entries(pipelines));\n\n const registry = deps.getRegistry(server, epicsByPath, sharedDeps.logger);\n\n registry.initialize(epicsByPath);\n\n return async mode => {\n if (mode === 'destroy') {\n await registry.destroy();\n } else {\n await registry.deinitialize();\n }\n };\n}\n"],"file":"sockets.js"}