@stytch/react 20.0.0-next.2 → 20.0.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/cjs/StytchSSRProxy-Bz6LNYdq.js.map +1 -1
- package/dist/cjs/adminPortal/index.cjs +1 -1
- package/dist/cjs/b2b/index.cjs +28 -20
- package/dist/cjs/b2b/index.cjs.map +1 -1
- package/dist/cjs/compat.cjs +2 -0
- package/dist/cjs/compat.cjs.map +1 -1
- package/dist/cjs/{index-Ni_dyEsz.js → index-BIjXBvf_.js} +2 -2
- package/dist/cjs/index-BIjXBvf_.js.map +1 -0
- package/dist/cjs/index.cjs +521 -542
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/{shadcn-B8TEzQMT.js → shadcn-aVU6Lm9q.js} +255 -235
- package/dist/cjs/shadcn-aVU6Lm9q.js.map +1 -0
- package/dist/cjs-dev/StytchSSRProxy-d553KgcY.js +438 -0
- package/dist/cjs-dev/StytchSSRProxy-d553KgcY.js.map +1 -0
- package/dist/cjs-dev/adminPortal/index.cjs +54 -53
- package/dist/cjs-dev/adminPortal/index.cjs.map +1 -1
- package/dist/cjs-dev/b2b/index.cjs +94 -75
- package/dist/cjs-dev/b2b/index.cjs.map +1 -1
- package/dist/cjs-dev/b2b/index.headless.cjs +89 -88
- package/dist/cjs-dev/b2b/index.headless.cjs.map +1 -1
- package/dist/cjs-dev/compat.cjs +15 -14
- package/dist/cjs-dev/compat.cjs.map +1 -1
- package/dist/cjs-dev/{StytchSSRProxy-CxXsyme4.js → dev-DaCGDI6V.js} +60 -426
- package/dist/cjs-dev/dev-DaCGDI6V.js.map +1 -0
- package/dist/cjs-dev/{idpHelpers-BVMUYvt1.js → idpHelpers-DOYYSxsX.js} +45 -102
- package/dist/cjs-dev/idpHelpers-DOYYSxsX.js.map +1 -0
- package/dist/cjs-dev/{index-DdK3Jt4u.js → index-rquGmIlv.js} +4 -4
- package/dist/cjs-dev/index-rquGmIlv.js.map +1 -0
- package/dist/cjs-dev/index.cjs +667 -667
- package/dist/cjs-dev/index.cjs.map +1 -1
- package/dist/cjs-dev/index.headless.cjs +70 -69
- package/dist/cjs-dev/index.headless.cjs.map +1 -1
- package/dist/cjs-dev/{passwordManagerDisableAutofillProps-D70WyvIu.js → passwordManagerDisableAutofillProps-CgiK2M_U.js} +2 -2
- package/dist/cjs-dev/{passwordManagerDisableAutofillProps-D70WyvIu.js.map → passwordManagerDisableAutofillProps-CgiK2M_U.js.map} +1 -1
- package/dist/cjs-dev/{shadcn-C9ClUju1.js → shadcn-DMk6ZSoD.js} +265 -244
- package/dist/cjs-dev/shadcn-DMk6ZSoD.js.map +1 -0
- package/dist/esm/_virtual/index3.mjs +5 -3
- package/dist/esm/_virtual/index3.mjs.map +1 -1
- package/dist/esm/_virtual/index4.mjs +3 -5
- package/dist/esm/_virtual/index4.mjs.map +1 -1
- package/dist/esm/b2b/StytchB2BContext.mjs +5 -5
- package/dist/esm/b2b/StytchB2BContext.mjs.map +1 -1
- package/dist/esm/packages/core/src/public/b2b/ui.mjs.map +1 -1
- package/dist/esm/packages/web/src/adminPortal/utils/theme.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2b/App.mjs +2 -2
- package/dist/esm/packages/web/src/ui/b2b/App.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/components/Icons.mjs +3 -1
- package/dist/esm/packages/web/src/ui/b2b/components/Icons.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs +6 -3
- package/dist/esm/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/components/SSOButton.mjs +5 -3
- package/dist/esm/packages/web/src/ui/b2b/components/SSOButton.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs +6 -3
- package/dist/esm/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2b/types/authMethodKeys.mjs +2 -2
- package/dist/esm/packages/web/src/ui/b2b/types/authMethodKeys.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +1 -1
- package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/components/OAuthButton.mjs +6 -3
- package/dist/esm/packages/web/src/ui/b2c/components/OAuthButton.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs +20 -39
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs +15 -15
- package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/compat/styleToTheme.mjs +2 -0
- package/dist/esm/packages/web/src/ui/compat/styleToTheme.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs +6 -1
- package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Button.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/atoms/Typography.module.css.mjs +2 -2
- package/dist/esm/packages/web/src/ui/components/molecules/EmailInput.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/EmailInput.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/Input.mjs +1 -1
- package/dist/esm/packages/web/src/ui/components/molecules/Input.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/StytchB2BContext.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2b/StytchB2BContext.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/IdentityProvider.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/IdentityProvider.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchContext.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchContext.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchLogin.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchLogin.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs +1 -1
- package/dist/esm/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs.map +1 -1
- package/dist/esm/packages/web/src/ui/react/utils/errors.mjs.map +1 -1
- package/dist/esm/packages/web/src/utils/crypto.mjs +19 -14
- package/dist/esm/packages/web/src/utils/crypto.mjs.map +1 -1
- package/dist/esm/packages/web/src/utils/oauthProviderType.mjs +1 -1
- package/dist/esm/packages/web/src/utils/oauthProviderType.mjs.map +1 -1
- package/dist/esm-dev/_virtual/index3.mjs +3 -5
- package/dist/esm-dev/_virtual/index3.mjs.map +1 -1
- package/dist/esm-dev/_virtual/index4.mjs +5 -3
- package/dist/esm-dev/_virtual/index4.mjs.map +1 -1
- package/dist/esm-dev/b2b/StytchB2BContext.mjs +5 -5
- package/dist/esm-dev/b2b/StytchB2BContext.mjs.map +1 -1
- package/dist/esm-dev/packages/core/src/public/b2b/ui.mjs.map +1 -1
- package/dist/esm-dev/packages/core/src/utils/dev.mjs +7 -1
- package/dist/esm-dev/packages/core/src/utils/dev.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/adminPortal/utils/theme.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs +14 -2
- package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/components/Icons.mjs +3 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/components/Icons.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs +6 -3
- package/dist/esm-dev/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/components/SSOButton.mjs +5 -3
- package/dist/esm-dev/packages/web/src/ui/b2b/components/SSOButton.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs +6 -3
- package/dist/esm-dev/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2b/types/authMethodKeys.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/b2b/types/authMethodKeys.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +8 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/components/OAuthButton.mjs +6 -3
- package/dist/esm-dev/packages/web/src/ui/b2c/components/OAuthButton.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs +20 -39
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs +15 -15
- package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/compat/styleToTheme.mjs +15 -14
- package/dist/esm-dev/packages/web/src/ui/compat/styleToTheme.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs +9 -3
- package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Button.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/atoms/Typography.module.css.mjs +2 -2
- package/dist/esm-dev/packages/web/src/ui/components/molecules/EmailInput.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/EmailInput.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/Input.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/components/molecules/Input.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/B2BIdentityProvider.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/Stytch.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/Stytch.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/StytchB2BContext.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2b/StytchB2BContext.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/IdentityProvider.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/IdentityProvider.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchContext.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchContext.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchLogin.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchLogin.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasskeyRegistration.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/b2c/StytchPasswordReset.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/ui/react/utils/errors.mjs +8 -4
- package/dist/esm-dev/packages/web/src/ui/react/utils/errors.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/utils/crypto.mjs +19 -14
- package/dist/esm-dev/packages/web/src/utils/crypto.mjs.map +1 -1
- package/dist/esm-dev/packages/web/src/utils/oauthProviderType.mjs +1 -1
- package/dist/esm-dev/packages/web/src/utils/oauthProviderType.mjs.map +1 -1
- package/dist/types/{PresentationConfig-Bqzf8zr3.d.ts → PresentationConfig-B2jX85oV.d.ts} +13 -2
- package/dist/types/{StytchB2BClient-CsY7ZNKh.d.ts → StytchB2BClient-D16e_lp1.d.ts} +2 -2
- package/dist/types/{StytchClient-DZRM_fM4.d.ts → StytchClient-BwQdJzdj.d.ts} +2 -2
- package/dist/types/adminPortal/index.d.ts +5 -5
- package/dist/types/b2b/index.d.ts +27 -19
- package/dist/types/b2b/index.headless.d.ts +5 -5
- package/dist/types/compat.d.ts +2 -2
- package/dist/types/{createAuthUrlHandler-BZoD2LDF.d.ts → createAuthUrlHandler-R1kNNQD_.d.ts} +2 -2
- package/dist/types/{idpHelpers-CD5sSDzA.d.ts → idpHelpers-BQP76WgZ.d.ts} +1 -1
- package/dist/types/index.d.ts +36 -16
- package/dist/types/index.headless.d.ts +5 -5
- package/dist/types/{shadcn-4-5byj93.d.ts → shadcn-CGdmyIUF.d.ts} +9 -6
- package/dist/types/{ui-DXrQ-gA8.d.ts → ui-B7IvSGQf.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/cjs/index-Ni_dyEsz.js.map +0 -1
- package/dist/cjs/shadcn-B8TEzQMT.js.map +0 -1
- package/dist/cjs-dev/StytchSSRProxy-CxXsyme4.js.map +0 -1
- package/dist/cjs-dev/idpHelpers-BVMUYvt1.js.map +0 -1
- package/dist/cjs-dev/index-DdK3Jt4u.js.map +0 -1
- package/dist/cjs-dev/shadcn-C9ClUju1.js.map +0 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var logger = require('./logger-CvOATP4R.js');
|
|
4
|
-
var
|
|
4
|
+
var dev = require('./dev-DaCGDI6V.js');
|
|
5
|
+
var StytchSSRProxy = require('./StytchSSRProxy-d553KgcY.js');
|
|
5
6
|
|
|
6
7
|
const TEST_API_URL = 'https://test.stytch.com';
|
|
7
8
|
const LIVE_API_URL = 'https://api.stytch.com';
|
|
@@ -64,7 +65,7 @@ async function baseFetchSDK({ method, finalURL, basicAuthHeader, xSDKClientHeade
|
|
|
64
65
|
resp = await fetch(finalURL, fetchOpts);
|
|
65
66
|
/* eslint-disable @typescript-eslint/no-explicit-any */ } catch (e) {
|
|
66
67
|
if (e.message === 'Failed to fetch') {
|
|
67
|
-
throw new
|
|
68
|
+
throw new dev.StytchAPIUnreachableError('Unable to contact our servers.');
|
|
68
69
|
}
|
|
69
70
|
throw e;
|
|
70
71
|
}
|
|
@@ -74,7 +75,7 @@ async function baseFetchSDK({ method, finalURL, basicAuthHeader, xSDKClientHeade
|
|
|
74
75
|
const respData = await resp.json();
|
|
75
76
|
return respData.data;
|
|
76
77
|
} catch {
|
|
77
|
-
throw new
|
|
78
|
+
throw new dev.StytchAPIUnreachableError('Invalid JSON response from our servers.');
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
// 99% of errors will be well-formed JSON errors with an appropriate content-type set
|
|
@@ -84,26 +85,26 @@ async function baseFetchSDK({ method, finalURL, basicAuthHeader, xSDKClientHeade
|
|
|
84
85
|
respError = await resp.json();
|
|
85
86
|
} catch {
|
|
86
87
|
// Error was not JSON- but the content type said it was! This means the server lied to us, which it should never do...
|
|
87
|
-
throw new
|
|
88
|
+
throw new dev.StytchAPIUnreachableError('Invalid or no response from server');
|
|
88
89
|
}
|
|
89
90
|
// If this looks like a JSONSchema validation error, it probably means the caller isn't using
|
|
90
91
|
// typescript and gave us a bad type.
|
|
91
92
|
if ('body' in respError || 'params' in respError || 'query' in respError) {
|
|
92
|
-
throw new
|
|
93
|
+
throw new dev.StytchAPISchemaError(respError);
|
|
93
94
|
}
|
|
94
|
-
throw new
|
|
95
|
+
throw new dev.StytchAPIError(respError);
|
|
95
96
|
}
|
|
96
97
|
// Finally handle the other 1% of errors (Captcha errors, network errors, 503s, etc.)
|
|
97
98
|
let respData;
|
|
98
99
|
try {
|
|
99
100
|
respData = await resp.text();
|
|
100
101
|
} catch {
|
|
101
|
-
throw new
|
|
102
|
+
throw new dev.StytchAPIUnreachableError('Invalid response from our servers.');
|
|
102
103
|
}
|
|
103
104
|
if (respData.includes('Captcha required')) {
|
|
104
105
|
throw new RetriableError("CAPTCHA required");
|
|
105
106
|
}
|
|
106
|
-
throw new
|
|
107
|
+
throw new dev.StytchAPIUnreachableError('Invalid response from our servers.');
|
|
107
108
|
}
|
|
108
109
|
async function baseSubmitFormSDK({ method, finalURL, basicAuthHeader, xSDKClientHeader, xSDKParentHostHeader, body }) {
|
|
109
110
|
const bodyParams = body || {};
|
|
@@ -455,17 +456,17 @@ const DisabledDFPProtectedAuthProvider = ()=>({
|
|
|
455
456
|
if ('name' in error) {
|
|
456
457
|
switch(error.name){
|
|
457
458
|
case 'SDKAPIUnreachableError':
|
|
458
|
-
return ErrorMarshaller.inflate(
|
|
459
|
+
return ErrorMarshaller.inflate(dev.SDKAPIUnreachableError, error);
|
|
459
460
|
case 'StytchSDKSchemaError':
|
|
460
|
-
return ErrorMarshaller.inflate(
|
|
461
|
+
return ErrorMarshaller.inflate(dev.StytchSDKSchemaError, error);
|
|
461
462
|
case 'StytchAPIUnreachableError':
|
|
462
|
-
return ErrorMarshaller.inflate(
|
|
463
|
+
return ErrorMarshaller.inflate(dev.StytchAPIUnreachableError, error);
|
|
463
464
|
case 'StytchAPISchemaError':
|
|
464
|
-
return ErrorMarshaller.inflate(
|
|
465
|
+
return ErrorMarshaller.inflate(dev.StytchAPISchemaError, error);
|
|
465
466
|
case 'StytchSDKAPIError':
|
|
466
|
-
return ErrorMarshaller.inflate(
|
|
467
|
+
return ErrorMarshaller.inflate(dev.StytchSDKAPIError, error);
|
|
467
468
|
case 'StytchAPIError':
|
|
468
|
-
return ErrorMarshaller.inflate(
|
|
469
|
+
return ErrorMarshaller.inflate(dev.StytchAPIError, error);
|
|
469
470
|
case 'TypeError':
|
|
470
471
|
return ErrorMarshaller.inflate(TypeError, error);
|
|
471
472
|
case 'SyntaxError':
|
|
@@ -526,62 +527,6 @@ class EventLogger {
|
|
|
526
527
|
}
|
|
527
528
|
}
|
|
528
529
|
|
|
529
|
-
/**
|
|
530
|
-
* This function and its parameter is stripped in production builds using rollup plugin.
|
|
531
|
-
* NOTE: Be careful when wrapping render function return values. React before v18 do not allow undefined
|
|
532
|
-
* to be returned, so wrapping the entire return value will crash those runtimes.
|
|
533
|
-
*/ const DEV = (input)=>input;
|
|
534
|
-
const validateInDev = (methodName, obj, rules)=>{
|
|
535
|
-
const errors = [];
|
|
536
|
-
for (const [key, rule] of Object.entries(rules)){
|
|
537
|
-
if (rule == null) continue;
|
|
538
|
-
const val = obj[key];
|
|
539
|
-
if (rule.startsWith('optional') && val == null) continue;
|
|
540
|
-
switch(rule){
|
|
541
|
-
case 'object':
|
|
542
|
-
case 'optionalObject':
|
|
543
|
-
{
|
|
544
|
-
const isObject = typeof val === 'object' && !Array.isArray(val) && val !== null;
|
|
545
|
-
if (!isObject) {
|
|
546
|
-
errors.push(new StytchSSRProxy.StytchSDKUsageError(methodName, `${key} must be an object.`));
|
|
547
|
-
}
|
|
548
|
-
break;
|
|
549
|
-
}
|
|
550
|
-
case 'string':
|
|
551
|
-
case 'optionalString':
|
|
552
|
-
if (typeof val !== 'string') {
|
|
553
|
-
errors.push(new StytchSSRProxy.StytchSDKUsageError(methodName, `${key} must be a string.`));
|
|
554
|
-
}
|
|
555
|
-
break;
|
|
556
|
-
case 'number':
|
|
557
|
-
case 'optionalNumber':
|
|
558
|
-
if (typeof val !== 'number') {
|
|
559
|
-
errors.push(new StytchSSRProxy.StytchSDKUsageError(methodName, `${key} must be a number.`));
|
|
560
|
-
}
|
|
561
|
-
break;
|
|
562
|
-
case 'stringArray':
|
|
563
|
-
case 'optionalStringArray':
|
|
564
|
-
if (!Array.isArray(val) || !val.every((str)=>typeof str === 'string')) {
|
|
565
|
-
errors.push(new StytchSSRProxy.StytchSDKUsageError(methodName, `${key} must be an array of strings.`));
|
|
566
|
-
}
|
|
567
|
-
break;
|
|
568
|
-
case 'boolean':
|
|
569
|
-
case 'optionalBoolean':
|
|
570
|
-
if (typeof val !== 'boolean') {
|
|
571
|
-
errors.push(new StytchSSRProxy.StytchSDKUsageError(methodName, `${key} must be a boolean.`));
|
|
572
|
-
}
|
|
573
|
-
break;
|
|
574
|
-
}
|
|
575
|
-
}
|
|
576
|
-
if (errors.length > 0) {
|
|
577
|
-
if (errors.length === 1) {
|
|
578
|
-
throw errors[0];
|
|
579
|
-
} else {
|
|
580
|
-
throw new AggregateError(errors);
|
|
581
|
-
}
|
|
582
|
-
}
|
|
583
|
-
};
|
|
584
|
-
|
|
585
530
|
const DefaultDynamicConfig$4 = Promise.resolve({
|
|
586
531
|
pkceRequiredForEmailMagicLinks: false
|
|
587
532
|
});
|
|
@@ -648,7 +593,7 @@ class HeadlessMagicLinksClient {
|
|
|
648
593
|
}
|
|
649
594
|
};
|
|
650
595
|
this.authenticate = this._subscriptionService.withUpdateSession(async (token, options)=>{
|
|
651
|
-
validateInDev('stytch.magicLinks.authenticate', {
|
|
596
|
+
dev.validateInDev('stytch.magicLinks.authenticate', {
|
|
652
597
|
token,
|
|
653
598
|
...options
|
|
654
599
|
}, {
|
|
@@ -731,7 +676,7 @@ class HeadlessCryptoWalletClient {
|
|
|
731
676
|
this.dfpProtectedAuth = dfpProtectedAuth;
|
|
732
677
|
this._config = _config;
|
|
733
678
|
this.authenticate = this._subscriptionService.withUpdateSession(async (options)=>{
|
|
734
|
-
validateInDev('stytch.cryptoWallets.authenticate', options, {
|
|
679
|
+
dev.validateInDev('stytch.cryptoWallets.authenticate', options, {
|
|
735
680
|
signature: 'string',
|
|
736
681
|
crypto_wallet_address: 'string',
|
|
737
682
|
crypto_wallet_type: 'string',
|
|
@@ -755,12 +700,12 @@ class HeadlessCryptoWalletClient {
|
|
|
755
700
|
});
|
|
756
701
|
}
|
|
757
702
|
async authenticateStart(options) {
|
|
758
|
-
validateInDev('stytch.cryptoWallets.authenticateStart', options, {
|
|
703
|
+
dev.validateInDev('stytch.cryptoWallets.authenticateStart', options, {
|
|
759
704
|
crypto_wallet_address: 'string',
|
|
760
705
|
crypto_wallet_type: 'string'
|
|
761
706
|
});
|
|
762
707
|
if (options.siwe_params) {
|
|
763
|
-
validateInDev('stytch.cryptoWallets.authenticateStart', options.siwe_params, {
|
|
708
|
+
dev.validateInDev('stytch.cryptoWallets.authenticateStart', options.siwe_params, {
|
|
764
709
|
uri: 'optionalString',
|
|
765
710
|
chain_id: 'optionalString',
|
|
766
711
|
issued_at: 'optionalString',
|
|
@@ -817,7 +762,7 @@ class HeadlessPasswordClient {
|
|
|
817
762
|
this._config = _config;
|
|
818
763
|
this.dfpProtectedAuth = dfpProtectedAuth;
|
|
819
764
|
this.create = this._subscriptionService.withUpdateSession(async (options)=>{
|
|
820
|
-
validateInDev('stytch.passwords.create', options, {
|
|
765
|
+
dev.validateInDev('stytch.passwords.create', options, {
|
|
821
766
|
password: 'string',
|
|
822
767
|
email: 'string',
|
|
823
768
|
session_duration_minutes: 'number'
|
|
@@ -838,7 +783,7 @@ class HeadlessPasswordClient {
|
|
|
838
783
|
return omitUser(resp);
|
|
839
784
|
});
|
|
840
785
|
this.authenticate = this._subscriptionService.withUpdateSession(async (options)=>{
|
|
841
|
-
validateInDev('stytch.passwords.authenticate', options, {
|
|
786
|
+
dev.validateInDev('stytch.passwords.authenticate', options, {
|
|
842
787
|
password: 'string',
|
|
843
788
|
email: 'string',
|
|
844
789
|
session_duration_minutes: 'number'
|
|
@@ -859,7 +804,7 @@ class HeadlessPasswordClient {
|
|
|
859
804
|
return omitUser(resp);
|
|
860
805
|
});
|
|
861
806
|
this.resetByEmail = this._subscriptionService.withUpdateSession(async (options)=>{
|
|
862
|
-
validateInDev('stytch.passwords.resetByEmail', options, {
|
|
807
|
+
dev.validateInDev('stytch.passwords.resetByEmail', options, {
|
|
863
808
|
token: 'string',
|
|
864
809
|
password: 'string',
|
|
865
810
|
session_duration_minutes: 'number'
|
|
@@ -884,7 +829,7 @@ class HeadlessPasswordClient {
|
|
|
884
829
|
return omitUser(resp);
|
|
885
830
|
});
|
|
886
831
|
this.resetByExistingPassword = this._subscriptionService.withUpdateSession(async (options)=>{
|
|
887
|
-
validateInDev('stytch.passwords.resetByExistingPassword', options, {
|
|
832
|
+
dev.validateInDev('stytch.passwords.resetByExistingPassword', options, {
|
|
888
833
|
email: 'string',
|
|
889
834
|
existing_password: 'string',
|
|
890
835
|
new_password: 'string',
|
|
@@ -907,7 +852,7 @@ class HeadlessPasswordClient {
|
|
|
907
852
|
return omitUser(resp);
|
|
908
853
|
});
|
|
909
854
|
this.resetBySession = this._subscriptionService.withUpdateSession(async (options)=>{
|
|
910
|
-
validateInDev('stytch.passwords.resetBySession', options, {
|
|
855
|
+
dev.validateInDev('stytch.passwords.resetBySession', options, {
|
|
911
856
|
password: 'string'
|
|
912
857
|
});
|
|
913
858
|
const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();
|
|
@@ -937,7 +882,7 @@ class HeadlessPasswordClient {
|
|
|
937
882
|
return keyPair.code_challenge;
|
|
938
883
|
}
|
|
939
884
|
async resetByEmailStart(options) {
|
|
940
|
-
validateInDev('stytch.passwords.resetByEmailStart', options, {
|
|
885
|
+
dev.validateInDev('stytch.passwords.resetByEmailStart', options, {
|
|
941
886
|
email: 'string',
|
|
942
887
|
login_redirect_url: 'optionalString',
|
|
943
888
|
reset_password_redirect_url: 'optionalString',
|
|
@@ -965,7 +910,7 @@ class HeadlessPasswordClient {
|
|
|
965
910
|
});
|
|
966
911
|
}
|
|
967
912
|
async strengthCheck(options) {
|
|
968
|
-
validateInDev('stytch.passwords.strengthCheck', options, {
|
|
913
|
+
dev.validateInDev('stytch.passwords.strengthCheck', options, {
|
|
969
914
|
email: 'optionalString',
|
|
970
915
|
password: 'string'
|
|
971
916
|
});
|
|
@@ -1061,7 +1006,7 @@ class HeadlessB2BMagicLinksClient {
|
|
|
1061
1006
|
this.dfpProtectedAuth = dfpProtectedAuth;
|
|
1062
1007
|
this.email = {
|
|
1063
1008
|
invite: async (data)=>{
|
|
1064
|
-
validateInDev('stytch.magicLinks.email.invite', data, {
|
|
1009
|
+
dev.validateInDev('stytch.magicLinks.email.invite', data, {
|
|
1065
1010
|
email_address: 'string',
|
|
1066
1011
|
invite_redirect_url: 'optionalString',
|
|
1067
1012
|
invite_template_id: 'optionalString',
|
|
@@ -1077,7 +1022,7 @@ class HeadlessB2BMagicLinksClient {
|
|
|
1077
1022
|
});
|
|
1078
1023
|
},
|
|
1079
1024
|
loginOrSignup: async (data)=>{
|
|
1080
|
-
validateInDev('stytch.magicLinks.email.loginOrSignup', data, {
|
|
1025
|
+
dev.validateInDev('stytch.magicLinks.email.loginOrSignup', data, {
|
|
1081
1026
|
email_address: 'string',
|
|
1082
1027
|
organization_id: 'string',
|
|
1083
1028
|
login_redirect_url: 'optionalString',
|
|
@@ -1101,7 +1046,7 @@ class HeadlessB2BMagicLinksClient {
|
|
|
1101
1046
|
},
|
|
1102
1047
|
discovery: {
|
|
1103
1048
|
send: async (data)=>{
|
|
1104
|
-
validateInDev('stytch.magicLinks.email.discovery.send', data, {
|
|
1049
|
+
dev.validateInDev('stytch.magicLinks.email.discovery.send', data, {
|
|
1105
1050
|
email_address: 'string',
|
|
1106
1051
|
discovery_redirect_url: 'optionalString',
|
|
1107
1052
|
login_template_id: 'optionalString',
|
|
@@ -1126,7 +1071,7 @@ class HeadlessB2BMagicLinksClient {
|
|
|
1126
1071
|
}
|
|
1127
1072
|
};
|
|
1128
1073
|
this.authenticate = this._subscriptionService.withUpdateSession(async (data)=>{
|
|
1129
|
-
validateInDev('stytch.magicLinks.authenticate', data, {
|
|
1074
|
+
dev.validateInDev('stytch.magicLinks.authenticate', data, {
|
|
1130
1075
|
magic_links_token: 'string',
|
|
1131
1076
|
session_duration_minutes: 'number',
|
|
1132
1077
|
locale: 'optionalString'
|
|
@@ -1159,7 +1104,7 @@ class HeadlessB2BMagicLinksClient {
|
|
|
1159
1104
|
});
|
|
1160
1105
|
this.discovery = {
|
|
1161
1106
|
authenticate: this._subscriptionService.withUpdateSession(async (data)=>{
|
|
1162
|
-
validateInDev('stytch.magicLinks.discovery.authenticate', data, {
|
|
1107
|
+
dev.validateInDev('stytch.magicLinks.discovery.authenticate', data, {
|
|
1163
1108
|
discovery_magic_links_token: 'string'
|
|
1164
1109
|
});
|
|
1165
1110
|
const pkPair = await this._pkceManager.getPKPair();
|
|
@@ -1235,7 +1180,7 @@ class HeadlessB2BPasswordsClient {
|
|
|
1235
1180
|
this._config = _config;
|
|
1236
1181
|
this.dfpProtectedAuth = dfpProtectedAuth;
|
|
1237
1182
|
this.authenticate = this._subscriptionService.withUpdateSession(async (options)=>{
|
|
1238
|
-
validateInDev('stytch.passwords.authenticate', options, {
|
|
1183
|
+
dev.validateInDev('stytch.passwords.authenticate', options, {
|
|
1239
1184
|
organization_id: 'string',
|
|
1240
1185
|
password: 'string',
|
|
1241
1186
|
email_address: 'string',
|
|
@@ -1264,7 +1209,7 @@ class HeadlessB2BPasswordsClient {
|
|
|
1264
1209
|
});
|
|
1265
1210
|
this.discovery = {
|
|
1266
1211
|
resetByEmailStart: async (options)=>{
|
|
1267
|
-
validateInDev('stytch.passwords.discovery.resetByEmailStart', options, {
|
|
1212
|
+
dev.validateInDev('stytch.passwords.discovery.resetByEmailStart', options, {
|
|
1268
1213
|
email_address: 'string',
|
|
1269
1214
|
discovery_redirect_url: 'optionalString',
|
|
1270
1215
|
reset_password_redirect_url: 'optionalString',
|
|
@@ -1294,7 +1239,7 @@ class HeadlessB2BPasswordsClient {
|
|
|
1294
1239
|
});
|
|
1295
1240
|
},
|
|
1296
1241
|
resetByEmail: this._subscriptionService.withUpdateSession(async (options)=>{
|
|
1297
|
-
validateInDev('stytch.passwords.discovery.resetByEmail', options, {
|
|
1242
|
+
dev.validateInDev('stytch.passwords.discovery.resetByEmail', options, {
|
|
1298
1243
|
password_reset_token: 'string',
|
|
1299
1244
|
password: 'string'
|
|
1300
1245
|
});
|
|
@@ -1318,7 +1263,7 @@ class HeadlessB2BPasswordsClient {
|
|
|
1318
1263
|
return resp;
|
|
1319
1264
|
}),
|
|
1320
1265
|
authenticate: this._subscriptionService.withUpdateSession(async (options)=>{
|
|
1321
|
-
validateInDev('stytch.passwords.discovery.authenticate', options, {
|
|
1266
|
+
dev.validateInDev('stytch.passwords.discovery.authenticate', options, {
|
|
1322
1267
|
password: 'string',
|
|
1323
1268
|
email_address: 'string'
|
|
1324
1269
|
});
|
|
@@ -1340,7 +1285,7 @@ class HeadlessB2BPasswordsClient {
|
|
|
1340
1285
|
})
|
|
1341
1286
|
};
|
|
1342
1287
|
this.resetByEmail = this._subscriptionService.withUpdateSession(async (options)=>{
|
|
1343
|
-
validateInDev('stytch.passwords.resetByEmail', options, {
|
|
1288
|
+
dev.validateInDev('stytch.passwords.resetByEmail', options, {
|
|
1344
1289
|
password_reset_token: 'string',
|
|
1345
1290
|
password: 'string',
|
|
1346
1291
|
session_duration_minutes: 'number',
|
|
@@ -1368,7 +1313,7 @@ class HeadlessB2BPasswordsClient {
|
|
|
1368
1313
|
return resp;
|
|
1369
1314
|
});
|
|
1370
1315
|
this.resetByExistingPassword = this._subscriptionService.withUpdateSession(async (options)=>{
|
|
1371
|
-
validateInDev('stytch.passwords.resetByExistingPassword', options, {
|
|
1316
|
+
dev.validateInDev('stytch.passwords.resetByExistingPassword', options, {
|
|
1372
1317
|
email_address: 'string',
|
|
1373
1318
|
existing_password: 'string',
|
|
1374
1319
|
new_password: 'string',
|
|
@@ -1393,7 +1338,7 @@ class HeadlessB2BPasswordsClient {
|
|
|
1393
1338
|
});
|
|
1394
1339
|
});
|
|
1395
1340
|
this.resetBySession = this._subscriptionService.withUpdateSession(async (options)=>{
|
|
1396
|
-
validateInDev('stytch.passwords.resetBySession', options, {
|
|
1341
|
+
dev.validateInDev('stytch.passwords.resetBySession', options, {
|
|
1397
1342
|
password: 'string'
|
|
1398
1343
|
});
|
|
1399
1344
|
const { dfp_telemetry_id, captcha_token } = await this.dfpProtectedAuth.getDFPTelemetryIDAndCaptcha();
|
|
@@ -1422,7 +1367,7 @@ class HeadlessB2BPasswordsClient {
|
|
|
1422
1367
|
return keyPair.code_challenge;
|
|
1423
1368
|
}
|
|
1424
1369
|
async resetByEmailStart(options) {
|
|
1425
|
-
validateInDev('stytch.passwords.resetByEmailStart', options, {
|
|
1370
|
+
dev.validateInDev('stytch.passwords.resetByEmailStart', options, {
|
|
1426
1371
|
email_address: 'string',
|
|
1427
1372
|
login_redirect_url: 'optionalString',
|
|
1428
1373
|
reset_password_redirect_url: 'optionalString',
|
|
@@ -1453,7 +1398,7 @@ class HeadlessB2BPasswordsClient {
|
|
|
1453
1398
|
});
|
|
1454
1399
|
}
|
|
1455
1400
|
async strengthCheck(options) {
|
|
1456
|
-
validateInDev('stytch.passwords.strengthCheck', options, {
|
|
1401
|
+
dev.validateInDev('stytch.passwords.strengthCheck', options, {
|
|
1457
1402
|
email_address: 'optionalString',
|
|
1458
1403
|
password: 'string'
|
|
1459
1404
|
});
|
|
@@ -1696,7 +1641,7 @@ class SessionManager {
|
|
|
1696
1641
|
}
|
|
1697
1642
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1698
1643
|
static isUnrecoverableError(error) {
|
|
1699
|
-
return
|
|
1644
|
+
return dev.UNRECOVERABLE_ERROR_TYPES.includes(error.error_type);
|
|
1700
1645
|
}
|
|
1701
1646
|
}
|
|
1702
1647
|
|
|
@@ -2131,7 +2076,7 @@ const loadGoogleOneTapClient = ()=>loadESModule(GOOGLE_ONE_TAP_SCRIPT_URL, ()=>w
|
|
|
2131
2076
|
try {
|
|
2132
2077
|
({ googleClientId } = await this.fetchGoogleStart());
|
|
2133
2078
|
} catch (e) {
|
|
2134
|
-
const err =
|
|
2079
|
+
const err = dev.StytchAPIError.from(e);
|
|
2135
2080
|
return {
|
|
2136
2081
|
success: false,
|
|
2137
2082
|
reason: err.error_type
|
|
@@ -2922,11 +2867,11 @@ class B2BSubscriptionService extends BaseSubscriptionService {
|
|
|
2922
2867
|
|
|
2923
2868
|
const buildFinalConfig = (clientName, opts = {})=>{
|
|
2924
2869
|
const { cookieOptions, keepSessionAlive } = opts;
|
|
2925
|
-
validateInDev(clientName, opts, {
|
|
2870
|
+
dev.validateInDev(clientName, opts, {
|
|
2926
2871
|
keepSessionAlive: 'optionalBoolean'
|
|
2927
2872
|
});
|
|
2928
2873
|
if (cookieOptions) {
|
|
2929
|
-
validateInDev(`${clientName}.cookieOptions`, cookieOptions, {
|
|
2874
|
+
dev.validateInDev(`${clientName}.cookieOptions`, cookieOptions, {
|
|
2930
2875
|
opaqueTokenCookieName: 'optionalString',
|
|
2931
2876
|
jwtCookieName: 'optionalString',
|
|
2932
2877
|
istCookieName: 'optionalString',
|
|
@@ -3241,7 +3186,6 @@ exports.ClientsideServicesProvider = ClientsideServicesProvider;
|
|
|
3241
3186
|
exports.ConsumerSubscriptionService = ConsumerSubscriptionService;
|
|
3242
3187
|
exports.DEFAULT_OTP_EXPIRATION_MINUTES = DEFAULT_OTP_EXPIRATION_MINUTES;
|
|
3243
3188
|
exports.DEFAULT_SESSION_DURATION_MINUTES = DEFAULT_SESSION_DURATION_MINUTES;
|
|
3244
|
-
exports.DEV = DEV;
|
|
3245
3189
|
exports.DFPProtectedAuthProvider = DFPProtectedAuthProvider;
|
|
3246
3190
|
exports.DisabledDFPProtectedAuthProvider = DisabledDFPProtectedAuthProvider;
|
|
3247
3191
|
exports.GoogleOneTapClient = GoogleOneTapClient;
|
|
@@ -3280,5 +3224,4 @@ exports.parseIDPParams = parseIDPParams;
|
|
|
3280
3224
|
exports.parseOAuthAuthorizeParams = parseOAuthAuthorizeParams;
|
|
3281
3225
|
exports.parseOAuthLogoutParams = parseOAuthLogoutParams;
|
|
3282
3226
|
exports.removeResponseCommon = removeResponseCommon;
|
|
3283
|
-
|
|
3284
|
-
//# sourceMappingURL=idpHelpers-BVMUYvt1.js.map
|
|
3227
|
+
//# sourceMappingURL=idpHelpers-DOYYSxsX.js.map
|