react-native-nitro-auth 0.5.1 → 0.5.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.
Files changed (126) hide show
  1. package/README.md +362 -190
  2. package/android/build.gradle +2 -5
  3. package/android/src/main/cpp/PlatformAuth+Android.cpp +84 -18
  4. package/android/src/main/java/com/auth/AuthAdapter.kt +82 -182
  5. package/android/src/main/java/com/auth/NitroAuthPackage.kt +1 -1
  6. package/app.plugin.js +2 -9
  7. package/cpp/AuthCache.cpp +0 -134
  8. package/cpp/AuthCache.hpp +0 -7
  9. package/cpp/HybridAuth.cpp +57 -63
  10. package/cpp/HybridAuth.hpp +3 -4
  11. package/ios/AuthAdapter.swift +23 -25
  12. package/lib/commonjs/Auth.web.js +523 -201
  13. package/lib/commonjs/Auth.web.js.map +1 -1
  14. package/lib/commonjs/index.js +0 -12
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/index.web.js +0 -12
  17. package/lib/commonjs/index.web.js.map +1 -1
  18. package/lib/commonjs/js-storage-adapter.js +2 -0
  19. package/lib/commonjs/js-storage-adapter.js.map +1 -0
  20. package/lib/commonjs/service.js +9 -86
  21. package/lib/commonjs/service.js.map +1 -1
  22. package/lib/commonjs/service.web.js +1 -5
  23. package/lib/commonjs/service.web.js.map +1 -1
  24. package/lib/commonjs/ui/social-button.js +44 -29
  25. package/lib/commonjs/ui/social-button.js.map +1 -1
  26. package/lib/commonjs/ui/social-button.web.js +44 -29
  27. package/lib/commonjs/ui/social-button.web.js.map +1 -1
  28. package/lib/commonjs/use-auth.js +56 -42
  29. package/lib/commonjs/use-auth.js.map +1 -1
  30. package/lib/commonjs/utils/logger.js +12 -4
  31. package/lib/commonjs/utils/logger.js.map +1 -1
  32. package/lib/module/Auth.web.js +523 -201
  33. package/lib/module/Auth.web.js.map +1 -1
  34. package/lib/module/index.js +0 -1
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/index.web.js +0 -1
  37. package/lib/module/index.web.js.map +1 -1
  38. package/lib/module/js-storage-adapter.js +2 -0
  39. package/lib/module/js-storage-adapter.js.map +1 -0
  40. package/lib/module/service.js +9 -86
  41. package/lib/module/service.js.map +1 -1
  42. package/lib/module/service.web.js +1 -5
  43. package/lib/module/service.web.js.map +1 -1
  44. package/lib/module/ui/social-button.js +44 -29
  45. package/lib/module/ui/social-button.js.map +1 -1
  46. package/lib/module/ui/social-button.web.js +44 -29
  47. package/lib/module/ui/social-button.web.js.map +1 -1
  48. package/lib/module/use-auth.js +56 -42
  49. package/lib/module/use-auth.js.map +1 -1
  50. package/lib/module/utils/logger.js +12 -4
  51. package/lib/module/utils/logger.js.map +1 -1
  52. package/lib/typescript/commonjs/Auth.nitro.d.ts +3 -3
  53. package/lib/typescript/commonjs/Auth.nitro.d.ts.map +1 -1
  54. package/lib/typescript/commonjs/Auth.web.d.ts +25 -6
  55. package/lib/typescript/commonjs/Auth.web.d.ts.map +1 -1
  56. package/lib/typescript/commonjs/index.d.ts +1 -2
  57. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/index.web.d.ts +0 -1
  59. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/js-storage-adapter.d.ts +6 -0
  61. package/lib/typescript/commonjs/js-storage-adapter.d.ts.map +1 -0
  62. package/lib/typescript/commonjs/service.d.ts +1 -8
  63. package/lib/typescript/commonjs/service.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/service.web.d.ts +1 -8
  65. package/lib/typescript/commonjs/service.web.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/ui/social-button.d.ts +6 -6
  67. package/lib/typescript/commonjs/ui/social-button.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/ui/social-button.web.d.ts +6 -6
  69. package/lib/typescript/commonjs/ui/social-button.web.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/use-auth.d.ts +4 -4
  71. package/lib/typescript/commonjs/use-auth.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/utils/logger.d.ts +4 -4
  73. package/lib/typescript/commonjs/utils/logger.d.ts.map +1 -1
  74. package/lib/typescript/module/Auth.nitro.d.ts +3 -3
  75. package/lib/typescript/module/Auth.nitro.d.ts.map +1 -1
  76. package/lib/typescript/module/Auth.web.d.ts +25 -6
  77. package/lib/typescript/module/Auth.web.d.ts.map +1 -1
  78. package/lib/typescript/module/index.d.ts +1 -2
  79. package/lib/typescript/module/index.d.ts.map +1 -1
  80. package/lib/typescript/module/index.web.d.ts +0 -1
  81. package/lib/typescript/module/index.web.d.ts.map +1 -1
  82. package/lib/typescript/module/js-storage-adapter.d.ts +6 -0
  83. package/lib/typescript/module/js-storage-adapter.d.ts.map +1 -0
  84. package/lib/typescript/module/service.d.ts +1 -8
  85. package/lib/typescript/module/service.d.ts.map +1 -1
  86. package/lib/typescript/module/service.web.d.ts +1 -8
  87. package/lib/typescript/module/service.web.d.ts.map +1 -1
  88. package/lib/typescript/module/ui/social-button.d.ts +6 -6
  89. package/lib/typescript/module/ui/social-button.d.ts.map +1 -1
  90. package/lib/typescript/module/ui/social-button.web.d.ts +6 -6
  91. package/lib/typescript/module/ui/social-button.web.d.ts.map +1 -1
  92. package/lib/typescript/module/use-auth.d.ts +4 -4
  93. package/lib/typescript/module/use-auth.d.ts.map +1 -1
  94. package/lib/typescript/module/utils/logger.d.ts +4 -4
  95. package/lib/typescript/module/utils/logger.d.ts.map +1 -1
  96. package/nitrogen/generated/android/NitroAuth+autolinking.cmake +0 -1
  97. package/nitrogen/generated/shared/c++/AuthTokens.hpp +5 -1
  98. package/nitrogen/generated/shared/c++/AuthUser.hpp +5 -1
  99. package/nitrogen/generated/shared/c++/HybridAuthSpec.cpp +0 -1
  100. package/nitrogen/generated/shared/c++/HybridAuthSpec.hpp +0 -5
  101. package/package.json +11 -8
  102. package/react-native-nitro-auth.podspec +1 -1
  103. package/src/Auth.nitro.ts +4 -3
  104. package/src/Auth.web.ts +700 -246
  105. package/src/global.d.ts +0 -1
  106. package/src/index.ts +1 -2
  107. package/src/index.web.ts +0 -1
  108. package/src/js-storage-adapter.ts +5 -0
  109. package/src/service.ts +13 -106
  110. package/src/service.web.ts +0 -7
  111. package/src/ui/social-button.tsx +66 -43
  112. package/src/ui/social-button.web.tsx +67 -44
  113. package/src/use-auth.ts +116 -72
  114. package/src/utils/logger.ts +12 -4
  115. package/ios/KeychainStore.swift +0 -43
  116. package/lib/commonjs/AuthStorage.nitro.js +0 -6
  117. package/lib/commonjs/AuthStorage.nitro.js.map +0 -1
  118. package/lib/module/AuthStorage.nitro.js +0 -4
  119. package/lib/module/AuthStorage.nitro.js.map +0 -1
  120. package/lib/typescript/commonjs/AuthStorage.nitro.d.ts +0 -26
  121. package/lib/typescript/commonjs/AuthStorage.nitro.d.ts.map +0 -1
  122. package/lib/typescript/module/AuthStorage.nitro.d.ts +0 -26
  123. package/lib/typescript/module/AuthStorage.nitro.d.ts.map +0 -1
  124. package/nitrogen/generated/shared/c++/HybridAuthStorageAdapterSpec.cpp +0 -23
  125. package/nitrogen/generated/shared/c++/HybridAuthStorageAdapterSpec.hpp +0 -65
  126. package/src/AuthStorage.nitro.ts +0 -26
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
- import { ViewStyle, TextStyle } from "react-native";
2
+ import type { ViewStyle, TextStyle } from "react-native";
3
3
  import type { AuthProvider, AuthUser } from "../Auth.nitro";
4
- interface SocialButtonProps {
4
+ export type SocialButtonVariant = "primary" | "outline" | "white" | "black";
5
+ export type SocialButtonProps = {
5
6
  provider: AuthProvider;
6
- variant?: "primary" | "outline" | "white" | "black";
7
+ variant?: SocialButtonVariant;
7
8
  borderRadius?: number;
8
9
  style?: ViewStyle;
9
10
  textStyle?: TextStyle;
@@ -11,7 +12,6 @@ interface SocialButtonProps {
11
12
  onSuccess?: (user: AuthUser) => void;
12
13
  onError?: (error: unknown) => void;
13
14
  onPress?: () => void;
14
- }
15
- export declare const SocialButton: React.FC<SocialButtonProps>;
16
- export {};
15
+ };
16
+ export declare const SocialButton: ({ provider, variant, borderRadius, style, textStyle, disabled, onSuccess, onError, onPress, }: SocialButtonProps) => React.JSX.Element;
17
17
  //# sourceMappingURL=social-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"social-button.d.ts","sourceRoot":"","sources":["../../../../src/ui/social-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAKL,SAAS,EACT,SAAS,EAEV,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAQ,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAElE,UAAU,iBAAiB;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAOD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoGpD,CAAC"}
1
+ {"version":3,"file":"social-button.d.ts","sourceRoot":"","sources":["../../../../src/ui/social-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzD,OAAO,KAAK,EAAQ,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAsCF,eAAO,MAAM,YAAY,GAAI,+FAU1B,iBAAiB,sBAiFnB,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
- import { ViewStyle, TextStyle } from "react-native";
2
+ import type { ViewStyle, TextStyle } from "react-native";
3
3
  import type { AuthProvider, AuthUser } from "../Auth.nitro";
4
- interface SocialButtonProps {
4
+ export type SocialButtonVariant = "primary" | "outline" | "white" | "black";
5
+ export type SocialButtonProps = {
5
6
  provider: AuthProvider;
6
- variant?: "primary" | "outline" | "white" | "black";
7
+ variant?: SocialButtonVariant;
7
8
  borderRadius?: number;
8
9
  style?: ViewStyle;
9
10
  textStyle?: TextStyle;
@@ -11,7 +12,6 @@ interface SocialButtonProps {
11
12
  onSuccess?: (user: AuthUser) => void;
12
13
  onError?: (error: unknown) => void;
13
14
  onPress?: () => void;
14
- }
15
- export declare const SocialButton: React.FC<SocialButtonProps>;
16
- export {};
15
+ };
16
+ export declare const SocialButton: ({ provider, variant, borderRadius, style, textStyle, disabled, onSuccess, onError, onPress, }: SocialButtonProps) => React.JSX.Element;
17
17
  //# sourceMappingURL=social-button.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"social-button.web.d.ts","sourceRoot":"","sources":["../../../../src/ui/social-button.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAKL,SAAS,EACT,SAAS,EAEV,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG5D,UAAU,iBAAiB;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAMD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoGpD,CAAC"}
1
+ {"version":3,"file":"social-button.web.d.ts","sourceRoot":"","sources":["../../../../src/ui/social-button.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAqCF,eAAO,MAAM,YAAY,GAAI,+FAU1B,iBAAiB,sBAiFnB,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import type { AuthUser, AuthProvider, LoginOptions, AuthTokens } from "./Auth.nitro";
2
- interface AuthState {
2
+ type AuthState = {
3
3
  user: AuthUser | undefined;
4
4
  scopes: string[];
5
5
  loading: boolean;
6
6
  error: Error | undefined;
7
- }
8
- export interface UseAuthReturn extends AuthState {
7
+ };
8
+ export type UseAuthReturn = AuthState & {
9
9
  hasPlayServices: boolean;
10
10
  login: (provider: AuthProvider, options?: LoginOptions) => Promise<void>;
11
11
  logout: () => void;
@@ -14,7 +14,7 @@ export interface UseAuthReturn extends AuthState {
14
14
  getAccessToken: () => Promise<string | undefined>;
15
15
  refreshToken: () => Promise<AuthTokens>;
16
16
  silentRestore: () => Promise<void>;
17
- }
17
+ };
18
18
  export declare function useAuth(): UseAuthReturn;
19
19
  export {};
20
20
  //# sourceMappingURL=use-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../../src/use-auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,UAAU,SAAS;IACjB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,YAAY,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,wBAAgB,OAAO,IAAI,aAAa,CAqKvC"}
1
+ {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../../src/use-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,cAAc,CAAC;AAGtB,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B,CAAC;AA0BF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG;IACtC,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,YAAY,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,OAAO,IAAI,aAAa,CAyLvC"}
@@ -1,8 +1,8 @@
1
1
  export declare const logger: {
2
2
  setEnabled(value: boolean): void;
3
- log: (...args: unknown[]) => false | void;
4
- warn: (...args: unknown[]) => false | void;
5
- error: (...args: unknown[]) => false | void;
6
- debug: (...args: unknown[]) => false | void;
3
+ log: (...args: unknown[]) => void;
4
+ warn: (...args: unknown[]) => void;
5
+ error: (...args: unknown[]) => void;
6
+ debug: (...args: unknown[]) => void;
7
7
  };
8
8
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;sBACC,OAAO,GAAG,IAAI;mBAGjB,OAAO,EAAE;oBACR,OAAO,EAAE;qBACR,OAAO,EAAE;qBACT,OAAO,EAAE;CAC3B,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;sBACC,OAAO,GAAG,IAAI;mBAGjB,OAAO,EAAE;oBAGR,OAAO,EAAE;qBAGR,OAAO,EAAE;qBAGT,OAAO,EAAE;CAG3B,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import type { HybridObject } from "react-native-nitro-modules";
2
- import type { AuthStorageAdapter } from "./AuthStorage.nitro";
3
2
  export type AuthProvider = "google" | "apple" | "microsoft";
4
- export type AuthErrorCode = "cancelled" | "network_error" | "configuration_error" | "unsupported_provider" | "invalid_state" | "invalid_nonce" | "token_error" | "no_id_token" | "parse_error" | "refresh_failed" | "unknown";
3
+ export type AuthErrorCode = "cancelled" | "timeout" | "popup_blocked" | "network_error" | "configuration_error" | "unsupported_provider" | "invalid_state" | "invalid_nonce" | "token_error" | "no_id_token" | "parse_error" | "refresh_failed" | "unknown";
5
4
  export type MicrosoftPrompt = "login" | "consent" | "select_account" | "none";
6
5
  export interface LoginOptions {
7
6
  scopes?: string[];
@@ -21,6 +20,7 @@ export interface LoginOptions {
21
20
  export interface AuthTokens {
22
21
  accessToken?: string;
23
22
  idToken?: string;
23
+ refreshToken?: string;
24
24
  expirationTime?: number;
25
25
  }
26
26
  export interface AuthUser {
@@ -30,6 +30,7 @@ export interface AuthUser {
30
30
  photo?: string;
31
31
  idToken?: string;
32
32
  accessToken?: string;
33
+ refreshToken?: string;
33
34
  serverAuthCode?: string;
34
35
  scopes?: string[];
35
36
  expirationTime?: number;
@@ -53,6 +54,5 @@ export interface Auth extends HybridObject<{
53
54
  onAuthStateChanged(callback: (user: AuthUser | undefined) => void): () => void;
54
55
  onTokensRefreshed(callback: (tokens: AuthTokens) => void): () => void;
55
56
  setLoggingEnabled(enabled: boolean): void;
56
- setStorageAdapter(adapter: AuthStorageAdapter | undefined): void;
57
57
  }
58
58
  //# sourceMappingURL=Auth.nitro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.nitro.d.ts","sourceRoot":"","sources":["../../../src/Auth.nitro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Auth.nitro.d.ts","sourceRoot":"","sources":["../../../src/Auth.nitro.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,29 @@
1
1
  import type { Auth, AuthUser, AuthProvider, LoginOptions, AuthTokens } from "./Auth.nitro";
2
- import type { AuthStorageAdapter } from "./AuthStorage.nitro";
2
+ import type { JSStorageAdapter } from "./js-storage-adapter";
3
3
  declare class AuthWeb implements Auth {
4
+ private readonly _config;
4
5
  private _currentUser;
5
6
  private _grantedScopes;
6
7
  private _listeners;
7
8
  private _tokenListeners;
8
9
  private _storageAdapter;
10
+ private _browserStorageResolved;
11
+ private _browserStorageCache;
12
+ private _refreshPromise;
13
+ private _appleSdkLoadPromise;
9
14
  constructor();
15
+ private isPromiseLike;
16
+ private createWebStorageDriver;
17
+ private shouldPersistTokensInStorage;
18
+ private getWebStorageMode;
19
+ private getBrowserStorage;
20
+ private saveValue;
21
+ private loadValue;
22
+ private removeValue;
23
+ private removePersistedBrowserValue;
24
+ private sanitizeUserForPersistence;
25
+ private saveRefreshToken;
26
+ private loadRefreshToken;
10
27
  private loadFromCache;
11
28
  private removeFromCache;
12
29
  get currentUser(): AuthUser | undefined;
@@ -19,11 +36,12 @@ declare class AuthWeb implements Auth {
19
36
  requestScopes(scopes: string[]): Promise<void>;
20
37
  revokeScopes(scopes: string[]): Promise<void>;
21
38
  getAccessToken(): Promise<string | undefined>;
22
- refreshToken(): Promise<{
23
- accessToken?: string;
24
- idToken?: string;
25
- }>;
39
+ refreshToken(): Promise<AuthTokens>;
40
+ private performRefreshToken;
26
41
  private mapError;
42
+ private parseResponseObject;
43
+ private parseJwtPayload;
44
+ private waitForPopupRedirect;
27
45
  private loginGoogle;
28
46
  private decodeGoogleJwt;
29
47
  private loginMicrosoft;
@@ -33,12 +51,13 @@ declare class AuthWeb implements Auth {
33
51
  private exchangeMicrosoftCodeForTokens;
34
52
  private getMicrosoftAuthBaseUrl;
35
53
  private decodeMicrosoftJwt;
54
+ private ensureAppleSdkLoaded;
36
55
  private loginApple;
37
56
  silentRestore(): Promise<void>;
38
57
  logout(): void;
39
58
  private updateUser;
40
59
  setLoggingEnabled(enabled: boolean): void;
41
- setStorageAdapter(adapter: AuthStorageAdapter | undefined): void;
60
+ setWebStorageAdapter(adapter: JSStorageAdapter | undefined): void;
42
61
  name: string;
43
62
  dispose(): void;
44
63
  equals(other: unknown): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.web.d.ts","sourceRoot":"","sources":["../../../src/Auth.web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA8B9D,cAAM,OAAQ,YAAW,IAAI;IAC3B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,UAAU,CAAgD;IAClE,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,eAAe,CAAiC;;IAMxD,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,eAAe;IAQvB,IAAI,WAAW,IAAI,QAAQ,GAAG,SAAS,CAEtC;IAED,IAAI,aAAa,IAAI,MAAM,EAAE,CAE5B;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,kBAAkB,CAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,KAAK,IAAI,GAC7C,MAAM,IAAI;IAQb,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAOrE,OAAO,CAAC,MAAM;IAIR,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BpE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB7C,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW7C,YAAY,IAAI,OAAO,CAAC;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA8FzE,OAAO,CAAC,QAAQ;YAgBF,WAAW;IA8FzB,OAAO,CAAC,eAAe;YAcT,cAAc;IAwH5B,OAAO,CAAC,oBAAoB;YAMd,qBAAqB;IAOnC,OAAO,CAAC,eAAe;YAKT,8BAA8B;IAsF5C,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,kBAAkB;YAaZ,UAAU;IA+ClB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAcpC,MAAM,IAAI,IAAI;IASd,OAAO,CAAC,UAAU;IAUlB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI;IAQhE,IAAI,SAAU;IACd,OAAO;IACP,MAAM,CAAC,KAAK,EAAE,OAAO;CAGtB;AAED,eAAO,MAAM,UAAU,SAAgB,CAAC"}
1
+ {"version":3,"file":"Auth.web.d.ts","sourceRoot":"","sources":["../../../src/Auth.web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAgK7D,cAAM,OAAQ,YAAW,IAAI;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,UAAU,CAAgD;IAClE,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,oBAAoB,CAA4B;;IAOxD,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,4BAA4B;IAOpC,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,iBAAiB;IAsCzB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,2BAA2B;IAgBnC,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,aAAa;IAgDrB,OAAO,CAAC,eAAe;IAIvB,IAAI,WAAW,IAAI,QAAQ,GAAG,SAAS,CAEtC;IAED,IAAI,aAAa,IAAI,MAAM,EAAE,CAE5B;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,kBAAkB,CAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,KAAK,IAAI,GAC7C,MAAM,IAAI;IAQb,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAOrE,OAAO,CAAC,MAAM;IAMR,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BpE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7C,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW7C,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC;YAgB3B,mBAAmB;IA6GjC,OAAO,CAAC,QAAQ;YAoBF,mBAAmB;IAQjC,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,oBAAoB;YA8Dd,WAAW;IAgFzB,OAAO,CAAC,eAAe;YAcT,cAAc;IA2G5B,OAAO,CAAC,oBAAoB;YAMd,qBAAqB;IAOnC,OAAO,CAAC,eAAe;YAKT,8BAA8B;IA8E5C,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,kBAAkB;YAiBZ,oBAAoB;YA2DpB,UAAU;IAqClB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAcpC,MAAM,IAAI,IAAI;IASd,OAAO,CAAC,UAAU;IAOlB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI;IAQjE,IAAI,SAAU;IACd,OAAO;IACP,MAAM,CAAC,KAAK,EAAE,OAAO;CAGtB;AAED,eAAO,MAAM,UAAU,SAAgB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  export * from "./Auth.nitro";
2
- export * from "./AuthStorage.nitro";
3
2
  export * from "./ui/social-button";
4
3
  export { useAuth, type UseAuthReturn } from "./use-auth";
5
- export { AuthService, type JSStorageAdapter } from "./service";
4
+ export { AuthService } from "./service";
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -1,5 +1,4 @@
1
1
  export * from "./Auth.nitro";
2
- export * from "./AuthStorage.nitro";
3
2
  export * from "./ui/social-button.web";
4
3
  export * from "./use-auth";
5
4
  export { AuthService } from "./service.web";
@@ -1 +1 @@
1
- {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type JSStorageAdapter = {
2
+ save(key: string, value: string): void | Promise<void>;
3
+ load(key: string): string | undefined | Promise<string | undefined>;
4
+ remove(key: string): void | Promise<void>;
5
+ };
6
+ //# sourceMappingURL=js-storage-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-storage-adapter.d.ts","sourceRoot":"","sources":["../../../src/js-storage-adapter.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C,CAAC"}
@@ -1,10 +1,3 @@
1
1
  import type { Auth } from "./Auth.nitro";
2
- export interface JSStorageAdapter {
3
- save(key: string, value: string): void | Promise<void>;
4
- load(key: string): string | undefined | Promise<string | undefined>;
5
- remove(key: string): void | Promise<void>;
6
- }
7
- export declare const AuthService: Auth & {
8
- setJSStorageAdapter(adapter: JSStorageAdapter | undefined): void;
9
- };
2
+ export declare const AuthService: Auth;
10
3
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EAKL,MAAM,cAAc,CAAC;AAMtB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAmCD,eAAO,MAAM,WAAW,EAAE,IAAI,GAAG;IAC/B,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAAC;CAoHlE,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EAKL,MAAM,cAAc,CAAC;AAGtB,eAAO,MAAM,WAAW,EAAE,IAkEzB,CAAC"}
@@ -1,5 +1,3 @@
1
- import type { AuthStorageAdapter } from "./AuthStorage.nitro";
2
- import type { JSStorageAdapter } from "./service";
3
1
  export declare const AuthService: {
4
2
  name: string;
5
3
  currentUser: import("./Auth.nitro").AuthUser | undefined;
@@ -10,17 +8,12 @@ export declare const AuthService: {
10
8
  requestScopes: (scopes: string[]) => Promise<void>;
11
9
  revokeScopes: (scopes: string[]) => Promise<void>;
12
10
  getAccessToken: () => Promise<string | undefined>;
13
- refreshToken: () => Promise<{
14
- accessToken?: string;
15
- idToken?: string;
16
- }>;
11
+ refreshToken: () => Promise<import("./Auth.nitro").AuthTokens>;
17
12
  silentRestore: () => Promise<void>;
18
13
  onAuthStateChanged: (callback: (user: import("./Auth.nitro").AuthUser | undefined) => void) => () => void;
19
14
  onTokensRefreshed: (callback: (tokens: import("./Auth.nitro").AuthTokens) => void) => () => void;
20
15
  setLoggingEnabled: (enabled: boolean) => void;
21
- setStorageAdapter: (adapter: AuthStorageAdapter | undefined) => void;
22
16
  dispose: () => void;
23
17
  equals: (other: unknown) => boolean;
24
- setJSStorageAdapter(adapter: JSStorageAdapter | undefined): void;
25
18
  };
26
19
  //# sourceMappingURL=service.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.web.d.ts","sourceRoot":"","sources":["../../../src/service.web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,eAAO,MAAM,WAAW;;;;;;;;;;;mBAqCw0H,CAAC;eAAiB,CAAC;;;;;;;;;iCAJp1H,gBAAgB,GAAG,SAAS,GAAG,IAAI;CAGjE,CAAC"}
1
+ {"version":3,"file":"service.web.d.ts","sourceRoot":"","sources":["../../../src/service.web.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;CA+BvB,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
- import { ViewStyle, TextStyle } from "react-native";
2
+ import type { ViewStyle, TextStyle } from "react-native";
3
3
  import type { AuthProvider, AuthUser } from "../Auth.nitro";
4
- interface SocialButtonProps {
4
+ export type SocialButtonVariant = "primary" | "outline" | "white" | "black";
5
+ export type SocialButtonProps = {
5
6
  provider: AuthProvider;
6
- variant?: "primary" | "outline" | "white" | "black";
7
+ variant?: SocialButtonVariant;
7
8
  borderRadius?: number;
8
9
  style?: ViewStyle;
9
10
  textStyle?: TextStyle;
@@ -11,7 +12,6 @@ interface SocialButtonProps {
11
12
  onSuccess?: (user: AuthUser) => void;
12
13
  onError?: (error: unknown) => void;
13
14
  onPress?: () => void;
14
- }
15
- export declare const SocialButton: React.FC<SocialButtonProps>;
16
- export {};
15
+ };
16
+ export declare const SocialButton: ({ provider, variant, borderRadius, style, textStyle, disabled, onSuccess, onError, onPress, }: SocialButtonProps) => React.JSX.Element;
17
17
  //# sourceMappingURL=social-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"social-button.d.ts","sourceRoot":"","sources":["../../../../src/ui/social-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAKL,SAAS,EACT,SAAS,EAEV,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAQ,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAElE,UAAU,iBAAiB;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAOD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoGpD,CAAC"}
1
+ {"version":3,"file":"social-button.d.ts","sourceRoot":"","sources":["../../../../src/ui/social-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzD,OAAO,KAAK,EAAQ,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAsCF,eAAO,MAAM,YAAY,GAAI,+FAU1B,iBAAiB,sBAiFnB,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
- import { ViewStyle, TextStyle } from "react-native";
2
+ import type { ViewStyle, TextStyle } from "react-native";
3
3
  import type { AuthProvider, AuthUser } from "../Auth.nitro";
4
- interface SocialButtonProps {
4
+ export type SocialButtonVariant = "primary" | "outline" | "white" | "black";
5
+ export type SocialButtonProps = {
5
6
  provider: AuthProvider;
6
- variant?: "primary" | "outline" | "white" | "black";
7
+ variant?: SocialButtonVariant;
7
8
  borderRadius?: number;
8
9
  style?: ViewStyle;
9
10
  textStyle?: TextStyle;
@@ -11,7 +12,6 @@ interface SocialButtonProps {
11
12
  onSuccess?: (user: AuthUser) => void;
12
13
  onError?: (error: unknown) => void;
13
14
  onPress?: () => void;
14
- }
15
- export declare const SocialButton: React.FC<SocialButtonProps>;
16
- export {};
15
+ };
16
+ export declare const SocialButton: ({ provider, variant, borderRadius, style, textStyle, disabled, onSuccess, onError, onPress, }: SocialButtonProps) => React.JSX.Element;
17
17
  //# sourceMappingURL=social-button.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"social-button.web.d.ts","sourceRoot":"","sources":["../../../../src/ui/social-button.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAKL,SAAS,EACT,SAAS,EAEV,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG5D,UAAU,iBAAiB;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAMD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoGpD,CAAC"}
1
+ {"version":3,"file":"social-button.web.d.ts","sourceRoot":"","sources":["../../../../src/ui/social-button.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAqCF,eAAO,MAAM,YAAY,GAAI,+FAU1B,iBAAiB,sBAiFnB,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import type { AuthUser, AuthProvider, LoginOptions, AuthTokens } from "./Auth.nitro";
2
- interface AuthState {
2
+ type AuthState = {
3
3
  user: AuthUser | undefined;
4
4
  scopes: string[];
5
5
  loading: boolean;
6
6
  error: Error | undefined;
7
- }
8
- export interface UseAuthReturn extends AuthState {
7
+ };
8
+ export type UseAuthReturn = AuthState & {
9
9
  hasPlayServices: boolean;
10
10
  login: (provider: AuthProvider, options?: LoginOptions) => Promise<void>;
11
11
  logout: () => void;
@@ -14,7 +14,7 @@ export interface UseAuthReturn extends AuthState {
14
14
  getAccessToken: () => Promise<string | undefined>;
15
15
  refreshToken: () => Promise<AuthTokens>;
16
16
  silentRestore: () => Promise<void>;
17
- }
17
+ };
18
18
  export declare function useAuth(): UseAuthReturn;
19
19
  export {};
20
20
  //# sourceMappingURL=use-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../../src/use-auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,UAAU,SAAS;IACjB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,YAAY,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,wBAAgB,OAAO,IAAI,aAAa,CAqKvC"}
1
+ {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../../src/use-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,cAAc,CAAC;AAGtB,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B,CAAC;AA0BF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG;IACtC,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,YAAY,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,OAAO,IAAI,aAAa,CAyLvC"}
@@ -1,8 +1,8 @@
1
1
  export declare const logger: {
2
2
  setEnabled(value: boolean): void;
3
- log: (...args: unknown[]) => false | void;
4
- warn: (...args: unknown[]) => false | void;
5
- error: (...args: unknown[]) => false | void;
6
- debug: (...args: unknown[]) => false | void;
3
+ log: (...args: unknown[]) => void;
4
+ warn: (...args: unknown[]) => void;
5
+ error: (...args: unknown[]) => void;
6
+ debug: (...args: unknown[]) => void;
7
7
  };
8
8
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;sBACC,OAAO,GAAG,IAAI;mBAGjB,OAAO,EAAE;oBACR,OAAO,EAAE;qBACR,OAAO,EAAE;qBACT,OAAO,EAAE;CAC3B,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;sBACC,OAAO,GAAG,IAAI;mBAGjB,OAAO,EAAE;oBAGR,OAAO,EAAE;qBAGR,OAAO,EAAE;qBAGT,OAAO,EAAE;CAG3B,CAAC"}
@@ -34,7 +34,6 @@ target_sources(
34
34
  ../nitrogen/generated/android/NitroAuthOnLoad.cpp
35
35
  # Shared Nitrogen C++ sources
36
36
  ../nitrogen/generated/shared/c++/HybridAuthSpec.cpp
37
- ../nitrogen/generated/shared/c++/HybridAuthStorageAdapterSpec.cpp
38
37
  # Android-specific Nitrogen C++ sources
39
38
 
40
39
  )
@@ -42,11 +42,12 @@ namespace margelo::nitro::NitroAuth {
42
42
  public:
43
43
  std::optional<std::string> accessToken SWIFT_PRIVATE;
44
44
  std::optional<std::string> idToken SWIFT_PRIVATE;
45
+ std::optional<std::string> refreshToken SWIFT_PRIVATE;
45
46
  std::optional<double> expirationTime SWIFT_PRIVATE;
46
47
 
47
48
  public:
48
49
  AuthTokens() = default;
49
- explicit AuthTokens(std::optional<std::string> accessToken, std::optional<std::string> idToken, std::optional<double> expirationTime): accessToken(accessToken), idToken(idToken), expirationTime(expirationTime) {}
50
+ explicit AuthTokens(std::optional<std::string> accessToken, std::optional<std::string> idToken, std::optional<std::string> refreshToken, std::optional<double> expirationTime): accessToken(accessToken), idToken(idToken), refreshToken(refreshToken), expirationTime(expirationTime) {}
50
51
 
51
52
  public:
52
53
  friend bool operator==(const AuthTokens& lhs, const AuthTokens& rhs) = default;
@@ -64,6 +65,7 @@ namespace margelo::nitro {
64
65
  return margelo::nitro::NitroAuth::AuthTokens(
65
66
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "accessToken"))),
66
67
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "idToken"))),
68
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "refreshToken"))),
67
69
  JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "expirationTime")))
68
70
  );
69
71
  }
@@ -71,6 +73,7 @@ namespace margelo::nitro {
71
73
  jsi::Object obj(runtime);
72
74
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "accessToken"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.accessToken));
73
75
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "idToken"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.idToken));
76
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "refreshToken"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.refreshToken));
74
77
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "expirationTime"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.expirationTime));
75
78
  return obj;
76
79
  }
@@ -84,6 +87,7 @@ namespace margelo::nitro {
84
87
  }
85
88
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "accessToken")))) return false;
86
89
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "idToken")))) return false;
90
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "refreshToken")))) return false;
87
91
  if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "expirationTime")))) return false;
88
92
  return true;
89
93
  }
@@ -49,6 +49,7 @@ namespace margelo::nitro::NitroAuth {
49
49
  std::optional<std::string> photo SWIFT_PRIVATE;
50
50
  std::optional<std::string> idToken SWIFT_PRIVATE;
51
51
  std::optional<std::string> accessToken SWIFT_PRIVATE;
52
+ std::optional<std::string> refreshToken SWIFT_PRIVATE;
52
53
  std::optional<std::string> serverAuthCode SWIFT_PRIVATE;
53
54
  std::optional<std::vector<std::string>> scopes SWIFT_PRIVATE;
54
55
  std::optional<double> expirationTime SWIFT_PRIVATE;
@@ -56,7 +57,7 @@ namespace margelo::nitro::NitroAuth {
56
57
 
57
58
  public:
58
59
  AuthUser() = default;
59
- explicit AuthUser(AuthProvider provider, std::optional<std::string> email, std::optional<std::string> name, std::optional<std::string> photo, std::optional<std::string> idToken, std::optional<std::string> accessToken, std::optional<std::string> serverAuthCode, std::optional<std::vector<std::string>> scopes, std::optional<double> expirationTime, std::optional<std::string> underlyingError): provider(provider), email(email), name(name), photo(photo), idToken(idToken), accessToken(accessToken), serverAuthCode(serverAuthCode), scopes(scopes), expirationTime(expirationTime), underlyingError(underlyingError) {}
60
+ explicit AuthUser(AuthProvider provider, std::optional<std::string> email, std::optional<std::string> name, std::optional<std::string> photo, std::optional<std::string> idToken, std::optional<std::string> accessToken, std::optional<std::string> refreshToken, std::optional<std::string> serverAuthCode, std::optional<std::vector<std::string>> scopes, std::optional<double> expirationTime, std::optional<std::string> underlyingError): provider(provider), email(email), name(name), photo(photo), idToken(idToken), accessToken(accessToken), refreshToken(refreshToken), serverAuthCode(serverAuthCode), scopes(scopes), expirationTime(expirationTime), underlyingError(underlyingError) {}
60
61
 
61
62
  public:
62
63
  friend bool operator==(const AuthUser& lhs, const AuthUser& rhs) = default;
@@ -78,6 +79,7 @@ namespace margelo::nitro {
78
79
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "photo"))),
79
80
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "idToken"))),
80
81
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "accessToken"))),
82
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "refreshToken"))),
81
83
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "serverAuthCode"))),
82
84
  JSIConverter<std::optional<std::vector<std::string>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "scopes"))),
83
85
  JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "expirationTime"))),
@@ -92,6 +94,7 @@ namespace margelo::nitro {
92
94
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "photo"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.photo));
93
95
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "idToken"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.idToken));
94
96
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "accessToken"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.accessToken));
97
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "refreshToken"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.refreshToken));
95
98
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "serverAuthCode"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.serverAuthCode));
96
99
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "scopes"), JSIConverter<std::optional<std::vector<std::string>>>::toJSI(runtime, arg.scopes));
97
100
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "expirationTime"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.expirationTime));
@@ -112,6 +115,7 @@ namespace margelo::nitro {
112
115
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "photo")))) return false;
113
116
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "idToken")))) return false;
114
117
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "accessToken")))) return false;
118
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "refreshToken")))) return false;
115
119
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "serverAuthCode")))) return false;
116
120
  if (!JSIConverter<std::optional<std::vector<std::string>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "scopes")))) return false;
117
121
  if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "expirationTime")))) return false;
@@ -27,7 +27,6 @@ namespace margelo::nitro::NitroAuth {
27
27
  prototype.registerHybridMethod("onAuthStateChanged", &HybridAuthSpec::onAuthStateChanged);
28
28
  prototype.registerHybridMethod("onTokensRefreshed", &HybridAuthSpec::onTokensRefreshed);
29
29
  prototype.registerHybridMethod("setLoggingEnabled", &HybridAuthSpec::setLoggingEnabled);
30
- prototype.registerHybridMethod("setStorageAdapter", &HybridAuthSpec::setStorageAdapter);
31
30
  });
32
31
  }
33
32
 
@@ -21,8 +21,6 @@ namespace margelo::nitro::NitroAuth { enum class AuthProvider; }
21
21
  namespace margelo::nitro::NitroAuth { struct LoginOptions; }
22
22
  // Forward declaration of `AuthTokens` to properly resolve imports.
23
23
  namespace margelo::nitro::NitroAuth { struct AuthTokens; }
24
- // Forward declaration of `HybridAuthStorageAdapterSpec` to properly resolve imports.
25
- namespace margelo::nitro::NitroAuth { class HybridAuthStorageAdapterSpec; }
26
24
 
27
25
  #include "AuthUser.hpp"
28
26
  #include <optional>
@@ -33,8 +31,6 @@ namespace margelo::nitro::NitroAuth { class HybridAuthStorageAdapterSpec; }
33
31
  #include "LoginOptions.hpp"
34
32
  #include "AuthTokens.hpp"
35
33
  #include <functional>
36
- #include <memory>
37
- #include "HybridAuthStorageAdapterSpec.hpp"
38
34
 
39
35
  namespace margelo::nitro::NitroAuth {
40
36
 
@@ -79,7 +75,6 @@ namespace margelo::nitro::NitroAuth {
79
75
  virtual std::function<void()> onAuthStateChanged(const std::function<void(const std::optional<AuthUser>& /* user */)>& callback) = 0;
80
76
  virtual std::function<void()> onTokensRefreshed(const std::function<void(const AuthTokens& /* tokens */)>& callback) = 0;
81
77
  virtual void setLoggingEnabled(bool enabled) = 0;
82
- virtual void setStorageAdapter(const std::optional<std::shared_ptr<HybridAuthStorageAdapterSpec>>& adapter) = 0;
83
78
 
84
79
  protected:
85
80
  // Hybrid Setup