{"version":3,"file":"StytchSSRProxy.mjs","sources":["../../../../../../../../../web/src/ui/react/bindings/StytchSSRProxy.ts"],"sourcesContent":["import { cannotInvokeMethodOnServerError } from '../utils/errors';\n\nconst SSRStubKey = Symbol('__stytch_SSRStubKey');\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isStytchSSRProxy = (proxy: any): boolean => {\n  return !!proxy[SSRStubKey];\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst createProxy = (path: string): any => {\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\n  const noop = () => {};\n  return new Proxy(noop, {\n    get(target, p) {\n      if ((p as symbol) === SSRStubKey) {\n        return true;\n      }\n      return createProxy(path + '.' + String(p));\n    },\n    apply() {\n      throw new Error(cannotInvokeMethodOnServerError(path));\n    },\n  });\n};\n\n// Exported for testing\nexport const createStytchSSRProxy = () => createProxy('stytch');\n\nexport function ssrSafeClientFactory<Args extends unknown[], T>(ClientConstructor: new (...args: Args) => T) {\n  return (...args: Args): T => {\n    if (typeof window === 'undefined') {\n      return createStytchSSRProxy();\n    }\n\n    return new ClientConstructor(...args);\n  };\n}\n"],"names":["SSRStubKey","Symbol","createProxy","path","noop","Proxy","get","target","p","String","apply","Error","cannotInvokeMethodOnServerError","createStytchSSRProxy","ssrSafeClientFactory","ClientConstructor","args","window"],"mappings":";;AAEA,MAAMA,aAAaC,MAAAA,CAAO,qBAAA,CAAA;AAO1B;AACA,MAAMC,cAAc,CAACC,IAAAA,GAAAA;;AAEnB,IAAA,MAAMC,OAAO,IAAA,CAAO,CAAA;IACpB,OAAO,IAAIC,MAAMD,IAAAA,EAAM;QACrBE,GAAAA,CAAAA,CAAIC,MAAM,EAAEC,CAAC,EAAA;YACX,IAAKA,MAAiBR,UAAAA,EAAY;gBAChC,OAAO,IAAA;AACT,YAAA;YACA,OAAOE,WAAAA,CAAYC,IAAAA,GAAO,GAAA,GAAMM,MAAAA,CAAOD,CAAAA,CAAAA,CAAAA;AACzC,QAAA,CAAA;AACAE,QAAAA,KAAAA,CAAAA,GAAAA;YACE,MAAM,IAAIC,MAAMC,+BAAAA,CAAgCT,IAAAA,CAAAA,CAAAA;AAClD,QAAA;AACF,KAAA,CAAA;AACF,CAAA;AAEA;AACO,MAAMU,oBAAAA,GAAuB,IAAMX,WAAAA,CAAY,QAAA;AAE/C,SAASY,qBAAgDC,iBAA2C,EAAA;AACzG,IAAA,OAAO,CAAC,GAAGC,IAAAA,GAAAA;QACT,IAAI,OAAOC,WAAW,WAAA,EAAa;YACjC,OAAOJ,oBAAAA,EAAAA;AACT,QAAA;AAEA,QAAA,OAAO,IAAIE,iBAAAA,CAAAA,GAAqBC,IAAAA,CAAAA;AAClC,IAAA,CAAA;AACF;;;;"}