@tern-secure/nextjs 5.2.0-canary.v20251020170039 → 5.2.0-canary.v20251023005301

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.
Files changed (67) hide show
  1. package/dist/cjs/app-router/client/TernSecureProvider.js +11 -1
  2. package/dist/cjs/app-router/client/TernSecureProvider.js.map +1 -1
  3. package/dist/cjs/app-router/client/useAwaitablePush.js +39 -0
  4. package/dist/cjs/app-router/client/useAwaitablePush.js.map +1 -0
  5. package/dist/cjs/app-router/client/useAwaitableReplace.js +39 -0
  6. package/dist/cjs/app-router/client/useAwaitableReplace.js.map +1 -0
  7. package/dist/cjs/app-router/client/useInternalNavFun.js +73 -0
  8. package/dist/cjs/app-router/client/useInternalNavFun.js.map +1 -0
  9. package/dist/cjs/app-router/server/auth.js +1 -2
  10. package/dist/cjs/app-router/server/auth.js.map +1 -1
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/server/node/ternSecureNodeMiddleware.js +2 -3
  13. package/dist/cjs/server/node/ternSecureNodeMiddleware.js.map +1 -1
  14. package/dist/cjs/server/protect.js.map +1 -1
  15. package/dist/cjs/server/ternSecureEdgeMiddleware.js +5 -11
  16. package/dist/cjs/server/ternSecureEdgeMiddleware.js.map +1 -1
  17. package/dist/cjs/utils/allNextProviderProps.js +18 -2
  18. package/dist/cjs/utils/allNextProviderProps.js.map +1 -1
  19. package/dist/cjs/utils/removeBasePath.js +36 -0
  20. package/dist/cjs/utils/removeBasePath.js.map +1 -0
  21. package/dist/esm/app-router/client/TernSecureProvider.js +11 -1
  22. package/dist/esm/app-router/client/TernSecureProvider.js.map +1 -1
  23. package/dist/esm/app-router/client/useAwaitablePush.js +15 -0
  24. package/dist/esm/app-router/client/useAwaitablePush.js.map +1 -0
  25. package/dist/esm/app-router/client/useAwaitableReplace.js +15 -0
  26. package/dist/esm/app-router/client/useAwaitableReplace.js.map +1 -0
  27. package/dist/esm/app-router/client/useInternalNavFun.js +49 -0
  28. package/dist/esm/app-router/client/useInternalNavFun.js.map +1 -0
  29. package/dist/esm/app-router/server/auth.js +1 -2
  30. package/dist/esm/app-router/server/auth.js.map +1 -1
  31. package/dist/esm/index.js.map +1 -1
  32. package/dist/esm/server/node/ternSecureNodeMiddleware.js +1 -2
  33. package/dist/esm/server/node/ternSecureNodeMiddleware.js.map +1 -1
  34. package/dist/esm/server/protect.js.map +1 -1
  35. package/dist/esm/server/ternSecureEdgeMiddleware.js +5 -11
  36. package/dist/esm/server/ternSecureEdgeMiddleware.js.map +1 -1
  37. package/dist/esm/utils/allNextProviderProps.js +18 -2
  38. package/dist/esm/utils/allNextProviderProps.js.map +1 -1
  39. package/dist/esm/utils/removeBasePath.js +12 -0
  40. package/dist/esm/utils/removeBasePath.js.map +1 -0
  41. package/dist/types/app-router/client/TernSecureProvider.d.ts.map +1 -1
  42. package/dist/types/app-router/client/useAwaitablePush.d.ts +13 -0
  43. package/dist/types/app-router/client/useAwaitablePush.d.ts.map +1 -0
  44. package/dist/types/app-router/client/useAwaitableReplace.d.ts +13 -0
  45. package/dist/types/app-router/client/useAwaitableReplace.d.ts.map +1 -0
  46. package/dist/types/app-router/client/useInternalNavFun.d.ts +7 -0
  47. package/dist/types/app-router/client/useInternalNavFun.d.ts.map +1 -0
  48. package/dist/types/app-router/server/auth.d.ts +1 -2
  49. package/dist/types/app-router/server/auth.d.ts.map +1 -1
  50. package/dist/types/index.d.ts +2 -2
  51. package/dist/types/index.d.ts.map +1 -1
  52. package/dist/types/server/node/ternSecureNodeMiddleware.d.ts.map +1 -1
  53. package/dist/types/server/protect.d.ts +1 -2
  54. package/dist/types/server/protect.d.ts.map +1 -1
  55. package/dist/types/server/ternSecureEdgeMiddleware.d.ts +1 -2
  56. package/dist/types/server/ternSecureEdgeMiddleware.d.ts.map +1 -1
  57. package/dist/types/utils/allNextProviderProps.d.ts +2 -2
  58. package/dist/types/utils/allNextProviderProps.d.ts.map +1 -1
  59. package/dist/types/utils/removeBasePath.d.ts +7 -0
  60. package/dist/types/utils/removeBasePath.d.ts.map +1 -0
  61. package/package.json +5 -5
  62. package/dist/cjs/server/redirect.js +0 -84
  63. package/dist/cjs/server/redirect.js.map +0 -1
  64. package/dist/esm/server/redirect.js +0 -60
  65. package/dist/esm/server/redirect.js.map +0 -1
  66. package/dist/types/server/redirect.d.ts +0 -20
  67. package/dist/types/server/redirect.d.ts.map +0 -1
@@ -0,0 +1,7 @@
1
+ import type { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime';
2
+ export declare const useInternalNavFun: (props: {
3
+ windowNav: typeof window.history.pushState | typeof window.history.replaceState | undefined;
4
+ routerNav: AppRouterInstance["push"] | AppRouterInstance["replace"];
5
+ name: string;
6
+ }) => NavigationFunction;
7
+ //# sourceMappingURL=useInternalNavFun.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInternalNavFun.d.ts","sourceRoot":"","sources":["../../../../src/app-router/client/useInternalNavFun.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAahG,eAAO,MAAM,iBAAiB,GAAI,OAAO;IACvC,SAAS,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAC5F,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpE,IAAI,EAAE,MAAM,CAAC;CACd,KAAG,kBA0DH,CAAC"}
@@ -1,7 +1,6 @@
1
- import type { AuthObject } from '@tern-secure/backend';
1
+ import type { AuthObject, RedirectFun } from '@tern-secure/backend';
2
2
  import { redirect } from 'next/navigation';
3
3
  import { type AuthProtect } from '../../server/protect';
4
- import { type RedirectFun } from '../../server/redirect';
5
4
  import type { BaseUser } from '../../server/types';
6
5
  export interface AuthResult {
7
6
  user: BaseUser | null;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/app-router/server/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAY,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAKrD,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,oBAAoB,CAAC;AAGhE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,KAAK,IAAI,GAAG,UAAU,GAAG;IACvB,gBAAgB,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC;IAC3D,gBAAgB,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB,OAAO,EAAE,WAAW,CAAC;CACtB;AAQD;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,MAwClB,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/app-router/server/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAY,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAKrD,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,oBAAoB,CAAC;AAGhE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,KAAK,IAAI,GAAG,UAAU,GAAG;IACvB,gBAAgB,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC;IAC3D,gBAAgB,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB,OAAO,EAAE,WAAW,CAAC;CACtB;AAQD;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,MAwClB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { TernSecureProvider } from './app-router/server/TernSecureProvider';
2
- export { useAuth, useIdToken, useSession, useSignIn, signIn, useSignInContext, useTernSecure, SignInProvider } from './boundary/components';
3
- export type { TernSecureUser, TernSecureUserData, SignInResponse } from '@tern-secure/types';
2
+ export { useAuth, useIdToken, useSession, useSignIn, signIn, useSignInContext, useTernSecure, SignInProvider, } from './boundary/components';
3
+ export type { TernSecureUser, TernSecureUserData, SignInResponse, SocialProviderOptions, } from '@tern-secure/types';
4
4
  export type { UserInfo, SessionResult } from './types';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,EACH,OAAO,EACP,UAAU,EACV,UAAU,EACV,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,cAAc,EAKjB,MAAM,uBAAuB,CAAA;AAE9B,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAE5F,YAAY,EACR,QAAQ,EACR,aAAa,EAChB,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EACL,OAAO,EACP,UAAU,EACV,UAAU,EACV,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,cAAc,GAKf,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ternSecureNodeMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/server/node/ternSecureNodeMiddleware.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAC,WAAW,EAAE,MAAM,aAAa,CAAC;AAY9D,OAAO,KAAK,EAAE,QAAQ,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,KAAK,gBAAgB,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAA;CAAE,CAAC;AAChE,MAAM,MAAM,WAAW,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,KAAK,UAAU,CAAC;AAEhF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,KAAK,iBAAiB,GAAG,CACvB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,0BAA0B,EACnC,KAAK,EAAE,sBAAsB,KAC1B,oBAAoB,CAAC;AAE1B,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAC9C,gBAAgB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxC,gBAAgB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,EAAE,MAC3C,SAAS,WAAW,KAAG,OAUhC,CAAC;AA8BF,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,KAAK,yBAAyB,GAAG,CAC/B,GAAG,EAAE,WAAW,KACb,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEpD,UAAU,oBAAoB;IAC5B;;;OAGG;IACH,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,cAAc,CAAC;IAE1E;;;OAGG;IACH,CACE,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,yBAAyB,GAClC,cAAc,CAAC;IAElB;;;OAGG;IACH,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,cAAc,CAAC;IAC9C;;;OAGG;IACH,CACE,OAAO,EAAE,0BAA0B,EACnC,KAAK,EAAE,sBAAsB,GAC5B,oBAAoB,CAAC;CACzB;AAED,eAAO,MAAM,oBAAoB,EAmF3B,oBAAoB,CAAC"}
1
+ {"version":3,"file":"ternSecureNodeMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/server/node/ternSecureNodeMiddleware.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAC,WAAW,EAAE,MAAM,aAAa,CAAC;AAW9D,OAAO,KAAK,EAAE,QAAQ,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,KAAK,gBAAgB,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAA;CAAE,CAAC;AAChE,MAAM,MAAM,WAAW,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,KAAK,UAAU,CAAC;AAEhF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,KAAK,iBAAiB,GAAG,CACvB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,0BAA0B,EACnC,KAAK,EAAE,sBAAsB,KAC1B,oBAAoB,CAAC;AAE1B,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAC9C,gBAAgB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxC,gBAAgB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,EAAE,MAC3C,SAAS,WAAW,KAAG,OAUhC,CAAC;AA8BF,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,KAAK,yBAAyB,GAAG,CAC/B,GAAG,EAAE,WAAW,KACb,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEpD,UAAU,oBAAoB;IAC5B;;;OAGG;IACH,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,cAAc,CAAC;IAE1E;;;OAGG;IACH,CACE,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,yBAAyB,GAClC,cAAc,CAAC;IAElB;;;OAGG;IACH,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,cAAc,CAAC;IAC9C;;;OAGG;IACH,CACE,OAAO,EAAE,0BAA0B,EACnC,KAAK,EAAE,sBAAsB,GAC5B,oBAAoB,CAAC;CACzB;AAED,eAAO,MAAM,oBAAoB,EAmF3B,oBAAoB,CAAC"}
@@ -1,6 +1,5 @@
1
- import type { AuthObject, SignedInAuthObject } from "@tern-secure/backend";
1
+ import type { AuthObject, RedirectFun, SignedInAuthObject } from "@tern-secure/backend";
2
2
  import type { CheckAuthorizationFromSessionClaims } from "@tern-secure/types";
3
- import type { RedirectFun } from "./redirect";
4
3
  type AuthProtectOptions = {
5
4
  /**
6
5
  * The URL to redirect the user to if they are not authorized.
@@ -1 +1 @@
1
- {"version":3,"file":"protect.d.ts","sourceRoot":"","sources":["../../../src/server/protect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,oBAAoB,CAAC;AAI9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,CACE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,mCAAmC,KAAK,OAAO,EAClE,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/B,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC7D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACxC,GAAG,WAAW,CAkDd"}
1
+ {"version":3,"file":"protect.d.ts","sourceRoot":"","sources":["../../../src/server/protect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAExF,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,oBAAoB,CAAC;AAK9E,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,CACE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,mCAAmC,KAAK,OAAO,EAClE,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/B,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC7D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACxC,GAAG,WAAW,CAkDd"}
@@ -1,8 +1,7 @@
1
- import type { AuthenticateRequestOptions, AuthObject } from '@tern-secure/backend';
1
+ import type { AuthenticateRequestOptions, AuthObject, RedirectFun } from '@tern-secure/backend';
2
2
  import type { NextMiddleware, NextRequest } from 'next/server';
3
3
  import { NextResponse } from 'next/server';
4
4
  import { type AuthProtect } from './protect';
5
- import { type RedirectFun } from './redirect';
6
5
  import type { NextMiddlewareEvtParam, NextMiddlewareRequestParam, NextMiddlewareReturn } from './types';
7
6
  export type MiddlewareAuthObject = AuthObject & {
8
7
  redirectToSignIn: RedirectFun<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"ternSecureEdgeMiddleware.d.ts","sourceRoot":"","sources":["../../../src/server/ternSecureEdgeMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,UAAU,EAEX,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAe3C,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAC9C,gBAAgB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxC,gBAAgB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAElC,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,KAAK,iBAAiB,GAAG,CACvB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,0BAA0B,EACnC,KAAK,EAAE,sBAAsB,KAC1B,oBAAoB,CAAC;AAE1B,MAAM,WAAW,iBAAkB,SAAQ,0BAA0B;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,KAAK,yBAAyB,GAAG,CAC/B,GAAG,EAAE,WAAW,KACb,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEpD,UAAU,oBAAoB;IAC5B;;;OAGG;IACH,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,cAAc,CAAC;IAE1E;;;OAGG;IACH,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,cAAc,CAAC;IAElF;;;OAGG;IACH,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,cAAc,CAAC;IAC9C;;;OAGG;IACH,CAAC,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,sBAAsB,GAAG,oBAAoB,CAAC;CAC5F;AAED,eAAO,MAAM,oBAAoB,EAuF3B,oBAAoB,CAAC;AAwD3B,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,GAAG,GAAG,0BAIhD,CAAC"}
1
+ {"version":3,"file":"ternSecureEdgeMiddleware.d.ts","sourceRoot":"","sources":["../../../src/server/ternSecureEdgeMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,UAAU,EACV,WAAW,EAGZ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAc3C,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,WAAW,CAAC;AAE5D,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAC9C,gBAAgB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxC,gBAAgB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAElC,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,KAAK,iBAAiB,GAAG,CACvB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,0BAA0B,EACnC,KAAK,EAAE,sBAAsB,KAC1B,oBAAoB,CAAC;AAE1B,MAAM,WAAW,iBAAkB,SAAQ,0BAA0B;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AACD,KAAK,yBAAyB,GAAG,CAC/B,GAAG,EAAE,WAAW,KACb,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEpD,UAAU,oBAAoB;IAC5B;;;OAGG;IACH,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,cAAc,CAAC;IAE1E;;;OAGG;IACH,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,cAAc,CAAC;IAElF;;;OAGG;IACH,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,cAAc,CAAC;IAC9C;;;OAGG;IACH,CAAC,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,sBAAsB,GAAG,oBAAoB,CAAC;CAC5F;AAED,eAAO,MAAM,oBAAoB,EAkF3B,oBAAoB,CAAC;AAwD3B,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,GAAG,GAAG,0BAIhD,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { NextProviderProcessedProps, TernSecureNextProps } from "../types";
2
- export declare const allNextProviderPropsWithEnv: (nextProps: Omit<TernSecureNextProps, "children">) => NextProviderProcessedProps;
1
+ import type { TernSecureNextProps } from "../types";
2
+ export declare const allNextProviderPropsWithEnv: (nextProps: Omit<TernSecureNextProps, "children">) => any;
3
3
  //# sourceMappingURL=allNextProviderProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"allNextProviderProps.d.ts","sourceRoot":"","sources":["../../../src/utils/allNextProviderProps.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAKhF,eAAO,MAAM,2BAA2B,GACtC,WAAW,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,KAC/C,0BAmFF,CAAC"}
1
+ {"version":3,"file":"allNextProviderProps.d.ts","sourceRoot":"","sources":["../../../src/utils/allNextProviderProps.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAA8B,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGhF,eAAO,MAAM,2BAA2B,GACtC,WAAW,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,KAC/C,GAmGF,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Removes the Next.js basePath from the provided destination if set.
3
+ * @param to Destination route to navigate to
4
+ * @returns Destination without basePath, if set
5
+ */
6
+ export declare function removeBasePath(to: string): string;
7
+ //# sourceMappingURL=removeBasePath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeBasePath.d.ts","sourceRoot":"","sources":["../../../src/utils/removeBasePath.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQjD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tern-secure/nextjs",
3
- "version": "5.2.0-canary.v20251020170039",
3
+ "version": "5.2.0-canary.v20251023005301",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -63,10 +63,10 @@
63
63
  "jose": "^5.9.6",
64
64
  "server-only": "^0.0.1",
65
65
  "tslib": "2.4.1",
66
- "@tern-secure/backend": "1.2.0-canary.v20251020170039",
67
- "@tern-secure/shared": "1.3.0-canary.v20251020170039",
68
- "@tern-secure/types": "1.1.0-canary.v20251020170039",
69
- "@tern-secure/react": "1.2.0-canary.v20251020170039"
66
+ "@tern-secure/backend": "1.2.0-canary.v20251023005301",
67
+ "@tern-secure/react": "1.2.0-canary.v20251023005301",
68
+ "@tern-secure/shared": "1.3.0-canary.v20251023005301",
69
+ "@tern-secure/types": "1.1.0-canary.v20251023005301"
70
70
  },
71
71
  "peerDependencies": {
72
72
  "next": "^13.0.0 || ^14.0.0 || ^15.0.0",
@@ -1,84 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var redirect_exports = {};
20
- __export(redirect_exports, {
21
- createRedirect: () => createRedirect
22
- });
23
- module.exports = __toCommonJS(redirect_exports);
24
- const buildUrl = (_baseUrl, _targetUrl, _returnBackUrl) => {
25
- if (_baseUrl === "") {
26
- return legacyBuildUrl(_targetUrl.toString(), _returnBackUrl?.toString());
27
- }
28
- const baseUrl = new URL(_baseUrl);
29
- const returnBackUrl = _returnBackUrl ? new URL(_returnBackUrl, baseUrl) : void 0;
30
- const res = new URL(_targetUrl, baseUrl);
31
- if (returnBackUrl) {
32
- res.searchParams.set("redirect_url", returnBackUrl.toString());
33
- }
34
- return res.toString();
35
- };
36
- const legacyBuildUrl = (targetUrl, redirectUrl) => {
37
- let url;
38
- if (!targetUrl.startsWith("http")) {
39
- if (!redirectUrl || !redirectUrl.startsWith("http")) {
40
- throw new Error("destination url or return back url should be an absolute path url!");
41
- }
42
- const baseURL = new URL(redirectUrl);
43
- url = new URL(targetUrl, baseURL.origin);
44
- } else {
45
- url = new URL(targetUrl);
46
- }
47
- if (redirectUrl) {
48
- url.searchParams.set("redirect_url", redirectUrl);
49
- }
50
- return url.toString();
51
- };
52
- const createRedirect = (params) => {
53
- const { redirectAdapter, signInUrl, signUpUrl, baseUrl } = params;
54
- const redirectToSignUp = ({ returnBackUrl } = {}) => {
55
- if (!signUpUrl) {
56
- throw new Error("SignUp URL is not defined");
57
- }
58
- const pathToSignUpUrl = `${baseUrl}/sign-up`;
59
- function buildSignUpUrl(signIn) {
60
- if (!signIn) {
61
- return;
62
- }
63
- const url = new URL(signIn, baseUrl);
64
- url.pathname = `${url.pathname}/create`;
65
- return url.toString();
66
- }
67
- const targetUrl = signUpUrl || buildSignUpUrl(signInUrl) || pathToSignUpUrl;
68
- return redirectAdapter(buildUrl(baseUrl, targetUrl, returnBackUrl));
69
- };
70
- const redirectToSignIn = ({ returnBackUrl } = {}) => {
71
- if (!signInUrl) {
72
- throw new Error("SignIn URL is not defined");
73
- }
74
- const pathToSignInUrl = `${baseUrl}/sign-in`;
75
- const targetUrl = signInUrl || pathToSignInUrl;
76
- return redirectAdapter(buildUrl(baseUrl, targetUrl, returnBackUrl));
77
- };
78
- return { redirectToSignUp, redirectToSignIn };
79
- };
80
- // Annotate the CommonJS export names for ESM import in node:
81
- 0 && (module.exports = {
82
- createRedirect
83
- });
84
- //# sourceMappingURL=redirect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/server/redirect.ts"],"sourcesContent":["\nconst buildUrl = (\n _baseUrl: string | URL,\n _targetUrl: string | URL,\n _returnBackUrl?: string | URL | null,\n) => {\n if (_baseUrl === '') {\n return legacyBuildUrl(_targetUrl.toString(), _returnBackUrl?.toString());\n }\n\n const baseUrl = new URL(_baseUrl);\n const returnBackUrl = _returnBackUrl ? new URL(_returnBackUrl, baseUrl) : undefined;\n const res = new URL(_targetUrl, baseUrl);\n\n if (returnBackUrl) {\n res.searchParams.set('redirect_url', returnBackUrl.toString());\n }\n return res.toString();\n};\n\n\n\nconst legacyBuildUrl = (targetUrl: string, redirectUrl?: string) => {\n let url;\n if (!targetUrl.startsWith('http')) {\n if (!redirectUrl || !redirectUrl.startsWith('http')) {\n throw new Error('destination url or return back url should be an absolute path url!');\n }\n\n const baseURL = new URL(redirectUrl);\n url = new URL(targetUrl, baseURL.origin);\n } else {\n url = new URL(targetUrl);\n }\n\n if (redirectUrl) {\n url.searchParams.set('redirect_url', redirectUrl);\n }\n\n return url.toString();\n};\n\n\ntype RedirectAdapter<RedirectReturn> = (url: string) => RedirectReturn;\ntype RedirectToParams = { returnBackUrl?: string | URL | null };\nexport type RedirectFun<ReturnType> = (params?: RedirectToParams) => ReturnType;\n\n/**\n * @internal\n */\ntype CreateRedirect = <ReturnType>(params: {\n redirectAdapter: RedirectAdapter<ReturnType>;\n baseUrl: URL | string;\n signInUrl?: URL | string;\n signUpUrl?: URL | string;\n}) => {\n redirectToSignIn: RedirectFun<ReturnType>;\n redirectToSignUp: RedirectFun<ReturnType>;\n};\n\n\nexport const createRedirect: CreateRedirect = params => {\n const { redirectAdapter, signInUrl, signUpUrl, baseUrl } = params;\n\n const redirectToSignUp = ({ returnBackUrl }: RedirectToParams = {}) => {\n if (!signUpUrl) {\n throw new Error(\"SignUp URL is not defined\");\n }\n\n const pathToSignUpUrl = `${baseUrl}/sign-up`;\n \n function buildSignUpUrl(signIn: string | URL | undefined) {\n if (!signIn) {\n return;\n }\n const url = new URL(signIn, baseUrl);\n url.pathname = `${url.pathname}/create`;\n return url.toString();\n }\n\n const targetUrl = signUpUrl || buildSignUpUrl(signInUrl) || pathToSignUpUrl;\n\n\n return redirectAdapter(buildUrl(baseUrl, targetUrl, returnBackUrl));\n };\n\n const redirectToSignIn = ({ returnBackUrl }: RedirectToParams = {}) => {\n if (!signInUrl) {\n throw new Error(\"SignIn URL is not defined\");\n }\n\n const pathToSignInUrl = `${baseUrl}/sign-in`;\n const targetUrl = signInUrl || pathToSignInUrl;\n\n return redirectAdapter(buildUrl(baseUrl, targetUrl, returnBackUrl));\n };\n\n return { redirectToSignUp, redirectToSignIn };\n};"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,MAAM,WAAW,CACf,UACA,YACA,mBACG;AACH,MAAI,aAAa,IAAI;AACnB,WAAO,eAAe,WAAW,SAAS,GAAG,gBAAgB,SAAS,CAAC;AAAA,EACzE;AAEA,QAAM,UAAU,IAAI,IAAI,QAAQ;AAChC,QAAM,gBAAgB,iBAAiB,IAAI,IAAI,gBAAgB,OAAO,IAAI;AAC1E,QAAM,MAAM,IAAI,IAAI,YAAY,OAAO;AAEvC,MAAI,eAAe;AACjB,QAAI,aAAa,IAAI,gBAAgB,cAAc,SAAS,CAAC;AAAA,EAC/D;AACA,SAAO,IAAI,SAAS;AACtB;AAIA,MAAM,iBAAiB,CAAC,WAAmB,gBAAyB;AAClE,MAAI;AACJ,MAAI,CAAC,UAAU,WAAW,MAAM,GAAG;AACjC,QAAI,CAAC,eAAe,CAAC,YAAY,WAAW,MAAM,GAAG;AACnD,YAAM,IAAI,MAAM,oEAAoE;AAAA,IACtF;AAEA,UAAM,UAAU,IAAI,IAAI,WAAW;AACnC,UAAM,IAAI,IAAI,WAAW,QAAQ,MAAM;AAAA,EACzC,OAAO;AACL,UAAM,IAAI,IAAI,SAAS;AAAA,EACzB;AAEA,MAAI,aAAa;AACf,QAAI,aAAa,IAAI,gBAAgB,WAAW;AAAA,EAClD;AAEA,SAAO,IAAI,SAAS;AACtB;AAqBO,MAAM,iBAAiC,YAAU;AACtD,QAAM,EAAE,iBAAiB,WAAW,WAAW,QAAQ,IAAI;AAE3D,QAAM,mBAAmB,CAAC,EAAE,cAAc,IAAsB,CAAC,MAAM;AACrE,QAAI,CAAC,WAAW;AACZ,YAAM,IAAI,MAAM,2BAA2B;AAAA,IAC/C;AAEA,UAAM,kBAAkB,GAAG,OAAO;AAElC,aAAS,eAAe,QAAkC;AACxD,UAAI,CAAC,QAAQ;AACX;AAAA,MACF;AACA,YAAM,MAAM,IAAI,IAAI,QAAQ,OAAO;AACnC,UAAI,WAAW,GAAG,IAAI,QAAQ;AAC9B,aAAO,IAAI,SAAS;AAAA,IACtB;AAEA,UAAM,YAAY,aAAa,eAAe,SAAS,KAAK;AAG5D,WAAO,gBAAgB,SAAS,SAAS,WAAW,aAAa,CAAC;AAAA,EACpE;AAEA,QAAM,mBAAmB,CAAC,EAAE,cAAc,IAAsB,CAAC,MAAM;AACrE,QAAI,CAAC,WAAW;AACd,YAAM,IAAI,MAAM,2BAA2B;AAAA,IAC7C;AAEA,UAAM,kBAAkB,GAAG,OAAO;AAClC,UAAM,YAAY,aAAa;AAE/B,WAAO,gBAAgB,SAAS,SAAS,WAAW,aAAa,CAAC;AAAA,EACpE;AAEA,SAAO,EAAE,kBAAkB,iBAAiB;AAC9C;","names":[]}
@@ -1,60 +0,0 @@
1
- const buildUrl = (_baseUrl, _targetUrl, _returnBackUrl) => {
2
- if (_baseUrl === "") {
3
- return legacyBuildUrl(_targetUrl.toString(), _returnBackUrl?.toString());
4
- }
5
- const baseUrl = new URL(_baseUrl);
6
- const returnBackUrl = _returnBackUrl ? new URL(_returnBackUrl, baseUrl) : void 0;
7
- const res = new URL(_targetUrl, baseUrl);
8
- if (returnBackUrl) {
9
- res.searchParams.set("redirect_url", returnBackUrl.toString());
10
- }
11
- return res.toString();
12
- };
13
- const legacyBuildUrl = (targetUrl, redirectUrl) => {
14
- let url;
15
- if (!targetUrl.startsWith("http")) {
16
- if (!redirectUrl || !redirectUrl.startsWith("http")) {
17
- throw new Error("destination url or return back url should be an absolute path url!");
18
- }
19
- const baseURL = new URL(redirectUrl);
20
- url = new URL(targetUrl, baseURL.origin);
21
- } else {
22
- url = new URL(targetUrl);
23
- }
24
- if (redirectUrl) {
25
- url.searchParams.set("redirect_url", redirectUrl);
26
- }
27
- return url.toString();
28
- };
29
- const createRedirect = (params) => {
30
- const { redirectAdapter, signInUrl, signUpUrl, baseUrl } = params;
31
- const redirectToSignUp = ({ returnBackUrl } = {}) => {
32
- if (!signUpUrl) {
33
- throw new Error("SignUp URL is not defined");
34
- }
35
- const pathToSignUpUrl = `${baseUrl}/sign-up`;
36
- function buildSignUpUrl(signIn) {
37
- if (!signIn) {
38
- return;
39
- }
40
- const url = new URL(signIn, baseUrl);
41
- url.pathname = `${url.pathname}/create`;
42
- return url.toString();
43
- }
44
- const targetUrl = signUpUrl || buildSignUpUrl(signInUrl) || pathToSignUpUrl;
45
- return redirectAdapter(buildUrl(baseUrl, targetUrl, returnBackUrl));
46
- };
47
- const redirectToSignIn = ({ returnBackUrl } = {}) => {
48
- if (!signInUrl) {
49
- throw new Error("SignIn URL is not defined");
50
- }
51
- const pathToSignInUrl = `${baseUrl}/sign-in`;
52
- const targetUrl = signInUrl || pathToSignInUrl;
53
- return redirectAdapter(buildUrl(baseUrl, targetUrl, returnBackUrl));
54
- };
55
- return { redirectToSignUp, redirectToSignIn };
56
- };
57
- export {
58
- createRedirect
59
- };
60
- //# sourceMappingURL=redirect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/server/redirect.ts"],"sourcesContent":["\nconst buildUrl = (\n _baseUrl: string | URL,\n _targetUrl: string | URL,\n _returnBackUrl?: string | URL | null,\n) => {\n if (_baseUrl === '') {\n return legacyBuildUrl(_targetUrl.toString(), _returnBackUrl?.toString());\n }\n\n const baseUrl = new URL(_baseUrl);\n const returnBackUrl = _returnBackUrl ? new URL(_returnBackUrl, baseUrl) : undefined;\n const res = new URL(_targetUrl, baseUrl);\n\n if (returnBackUrl) {\n res.searchParams.set('redirect_url', returnBackUrl.toString());\n }\n return res.toString();\n};\n\n\n\nconst legacyBuildUrl = (targetUrl: string, redirectUrl?: string) => {\n let url;\n if (!targetUrl.startsWith('http')) {\n if (!redirectUrl || !redirectUrl.startsWith('http')) {\n throw new Error('destination url or return back url should be an absolute path url!');\n }\n\n const baseURL = new URL(redirectUrl);\n url = new URL(targetUrl, baseURL.origin);\n } else {\n url = new URL(targetUrl);\n }\n\n if (redirectUrl) {\n url.searchParams.set('redirect_url', redirectUrl);\n }\n\n return url.toString();\n};\n\n\ntype RedirectAdapter<RedirectReturn> = (url: string) => RedirectReturn;\ntype RedirectToParams = { returnBackUrl?: string | URL | null };\nexport type RedirectFun<ReturnType> = (params?: RedirectToParams) => ReturnType;\n\n/**\n * @internal\n */\ntype CreateRedirect = <ReturnType>(params: {\n redirectAdapter: RedirectAdapter<ReturnType>;\n baseUrl: URL | string;\n signInUrl?: URL | string;\n signUpUrl?: URL | string;\n}) => {\n redirectToSignIn: RedirectFun<ReturnType>;\n redirectToSignUp: RedirectFun<ReturnType>;\n};\n\n\nexport const createRedirect: CreateRedirect = params => {\n const { redirectAdapter, signInUrl, signUpUrl, baseUrl } = params;\n\n const redirectToSignUp = ({ returnBackUrl }: RedirectToParams = {}) => {\n if (!signUpUrl) {\n throw new Error(\"SignUp URL is not defined\");\n }\n\n const pathToSignUpUrl = `${baseUrl}/sign-up`;\n \n function buildSignUpUrl(signIn: string | URL | undefined) {\n if (!signIn) {\n return;\n }\n const url = new URL(signIn, baseUrl);\n url.pathname = `${url.pathname}/create`;\n return url.toString();\n }\n\n const targetUrl = signUpUrl || buildSignUpUrl(signInUrl) || pathToSignUpUrl;\n\n\n return redirectAdapter(buildUrl(baseUrl, targetUrl, returnBackUrl));\n };\n\n const redirectToSignIn = ({ returnBackUrl }: RedirectToParams = {}) => {\n if (!signInUrl) {\n throw new Error(\"SignIn URL is not defined\");\n }\n\n const pathToSignInUrl = `${baseUrl}/sign-in`;\n const targetUrl = signInUrl || pathToSignInUrl;\n\n return redirectAdapter(buildUrl(baseUrl, targetUrl, returnBackUrl));\n };\n\n return { redirectToSignUp, redirectToSignIn };\n};"],"mappings":"AACA,MAAM,WAAW,CACf,UACA,YACA,mBACG;AACH,MAAI,aAAa,IAAI;AACnB,WAAO,eAAe,WAAW,SAAS,GAAG,gBAAgB,SAAS,CAAC;AAAA,EACzE;AAEA,QAAM,UAAU,IAAI,IAAI,QAAQ;AAChC,QAAM,gBAAgB,iBAAiB,IAAI,IAAI,gBAAgB,OAAO,IAAI;AAC1E,QAAM,MAAM,IAAI,IAAI,YAAY,OAAO;AAEvC,MAAI,eAAe;AACjB,QAAI,aAAa,IAAI,gBAAgB,cAAc,SAAS,CAAC;AAAA,EAC/D;AACA,SAAO,IAAI,SAAS;AACtB;AAIA,MAAM,iBAAiB,CAAC,WAAmB,gBAAyB;AAClE,MAAI;AACJ,MAAI,CAAC,UAAU,WAAW,MAAM,GAAG;AACjC,QAAI,CAAC,eAAe,CAAC,YAAY,WAAW,MAAM,GAAG;AACnD,YAAM,IAAI,MAAM,oEAAoE;AAAA,IACtF;AAEA,UAAM,UAAU,IAAI,IAAI,WAAW;AACnC,UAAM,IAAI,IAAI,WAAW,QAAQ,MAAM;AAAA,EACzC,OAAO;AACL,UAAM,IAAI,IAAI,SAAS;AAAA,EACzB;AAEA,MAAI,aAAa;AACf,QAAI,aAAa,IAAI,gBAAgB,WAAW;AAAA,EAClD;AAEA,SAAO,IAAI,SAAS;AACtB;AAqBO,MAAM,iBAAiC,YAAU;AACtD,QAAM,EAAE,iBAAiB,WAAW,WAAW,QAAQ,IAAI;AAE3D,QAAM,mBAAmB,CAAC,EAAE,cAAc,IAAsB,CAAC,MAAM;AACrE,QAAI,CAAC,WAAW;AACZ,YAAM,IAAI,MAAM,2BAA2B;AAAA,IAC/C;AAEA,UAAM,kBAAkB,GAAG,OAAO;AAElC,aAAS,eAAe,QAAkC;AACxD,UAAI,CAAC,QAAQ;AACX;AAAA,MACF;AACA,YAAM,MAAM,IAAI,IAAI,QAAQ,OAAO;AACnC,UAAI,WAAW,GAAG,IAAI,QAAQ;AAC9B,aAAO,IAAI,SAAS;AAAA,IACtB;AAEA,UAAM,YAAY,aAAa,eAAe,SAAS,KAAK;AAG5D,WAAO,gBAAgB,SAAS,SAAS,WAAW,aAAa,CAAC;AAAA,EACpE;AAEA,QAAM,mBAAmB,CAAC,EAAE,cAAc,IAAsB,CAAC,MAAM;AACrE,QAAI,CAAC,WAAW;AACd,YAAM,IAAI,MAAM,2BAA2B;AAAA,IAC7C;AAEA,UAAM,kBAAkB,GAAG,OAAO;AAClC,UAAM,YAAY,aAAa;AAE/B,WAAO,gBAAgB,SAAS,SAAS,WAAW,aAAa,CAAC;AAAA,EACpE;AAEA,SAAO,EAAE,kBAAkB,iBAAiB;AAC9C;","names":[]}
@@ -1,20 +0,0 @@
1
- type RedirectAdapter<RedirectReturn> = (url: string) => RedirectReturn;
2
- type RedirectToParams = {
3
- returnBackUrl?: string | URL | null;
4
- };
5
- export type RedirectFun<ReturnType> = (params?: RedirectToParams) => ReturnType;
6
- /**
7
- * @internal
8
- */
9
- type CreateRedirect = <ReturnType>(params: {
10
- redirectAdapter: RedirectAdapter<ReturnType>;
11
- baseUrl: URL | string;
12
- signInUrl?: URL | string;
13
- signUpUrl?: URL | string;
14
- }) => {
15
- redirectToSignIn: RedirectFun<ReturnType>;
16
- redirectToSignUp: RedirectFun<ReturnType>;
17
- };
18
- export declare const createRedirect: CreateRedirect;
19
- export {};
20
- //# sourceMappingURL=redirect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redirect.d.ts","sourceRoot":"","sources":["../../../src/server/redirect.ts"],"names":[],"mappings":"AA2CA,KAAK,eAAe,CAAC,cAAc,IAAI,CAAC,GAAG,EAAE,MAAM,KAAK,cAAc,CAAC;AACvE,KAAK,gBAAgB,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAA;CAAE,CAAC;AAChE,MAAM,MAAM,WAAW,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,KAAK,UAAU,CAAC;AAEhF;;GAEG;AACH,KAAK,cAAc,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE;IACzC,eAAe,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,EAAE,GAAG,GAAG,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;CAC1B,KAAK;IACJ,gBAAgB,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC1C,gBAAgB,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;CAC3C,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,cAqC5B,CAAC"}