{"version":3,"file":"mod-auth.cjs","sources":["../src/lib/auth/hooks/use-nats-subscription.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { Msg, SubscriptionOptions } from 'nats.ws';\nimport { useNats } from './use-nats.ts';\n\nexport function useNatsSubscription(\n\tsubject: string,\n\tcallback: (message: Msg) => Promise<void> | void,\n\toptions?: SubscriptionOptions\n) {\n\tconst nc = useNats();\n\n\tuseEffect(() => {\n\t\tconst subscription = nc.subscribe(subject, options);\n\n\t\tvoid (async () => {\n\t\t\tfor await (const message of subscription) {\n\t\t\t\tawait callback(message);\n\t\t\t}\n\t\t})();\n\n\t\treturn () => {\n\t\t\tsubscription.unsubscribe();\n\t\t};\n\t}, [subject, nc, options, callback]);\n}\n"],"names":["useNatsSubscription","subject","callback","options","nc","useNats","useEffect","subscription","message"],"mappings":"uNAIgB,SAAAA,EACfC,EACAC,EACAC,EACC,CACD,MAAMC,EAAKC,EAAAA,UAEXC,EAAAA,UAAU,IAAM,CACf,MAAMC,EAAeH,EAAG,UAAUH,EAASE,CAAO,EAElD,OAAM,SAAY,CACjB,gBAAiBK,KAAWD,EAC3B,MAAML,EAASM,CAAO,CACvB,KAGM,IAAM,CACZD,EAAa,YAAY,CAAA,GAExB,CAACN,EAASG,EAAID,EAASD,CAAQ,CAAC,CACpC"}