{"mappings":";;AAGA,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;ACE9C,OAAO,MAAM,cAAc,GACzB,UAAU,MAAM,EAChB,iBAAmC;;IAmCjC;;OAEG;;;oBAPiB,UAAU;;CAajC,CAAA;AAED,uBAAuB,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAExD;;GAEG;AACH,eAAe,cAAc,CAAA","sources":["src/src/tools.ts","src/src/index.ts","src/index.ts"],"sourcesContent":[null,null,"import type { JwtPayload } from 'jsonwebtoken'\nimport { http, type HttpHandler, HttpResponse } from 'msw'\nimport { type SetupServerApi, setupServer } from 'msw/node'\nimport { createJWKS, createKeyPair, signJwt } from './tools.js'\n\nexport const createJWKSMock = (\n  jwksBase: string,\n  jwksPath = '/.well-known/jwks.json'\n) => {\n  const keypair = createKeyPair()\n  const JWKS = createJWKS({\n    ...keypair,\n    jwksOrigin: jwksBase,\n  })\n\n  const handler: HttpHandler = http.get(new URL(jwksPath, jwksBase).href, () =>\n    HttpResponse.json(JWKS)\n  )\n\n  const kid = () => JWKS.keys[0].kid\n\n  let server: SetupServerApi | undefined\n\n  const stop = () => {\n    server?.close()\n    server = undefined\n  }\n\n  const start = () => {\n    if (server) {\n      throw new Error('JWKSMock is already started')\n    }\n    server = setupServer(handler)\n    server.listen({ onUnhandledRequest: 'bypass' })\n    return () => stop()\n  }\n\n  const token = (token: JwtPayload = {}) =>\n    signJwt(keypair.privateKey, token, kid())\n\n  return {\n    start,\n    /**\n     * @deprecated Use the thunk returned by `start` instead.\n     */\n    stop,\n    kid,\n    token,\n    mswHandler: handler,\n  }\n}\n\nexport type JWKSMock = ReturnType<typeof createJWKSMock>\n\n/**\n * @deprecated Use the named export instead\n */\nexport default createJWKSMock\n"],"names":[],"version":3,"file":"types.d.ts.map","sourceRoot":"../"}