react-native-authsignal 0.4.2 → 0.4.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.
@@ -17,6 +17,7 @@ RCT_EXTERN_METHOD(signUp:(NSString)token
17
17
  RCT_EXTERN_METHOD(signIn:(NSString)action
18
18
  withToken:(NSString)token
19
19
  withAutofill:(BOOL)autofill
20
+ withPreferImmediatelyAvailableCredentials:(BOOL)preferImmediatelyAvailableCredentials
20
21
  resolver:(RCTPromiseResolveBlock)resolve
21
22
  rejecter:(RCTPromiseRejectBlock)reject)
22
23
 
@@ -41,7 +41,7 @@ class AuthsignalPasskeyModule: NSObject {
41
41
  let response = await authsignal!.signUp(token: tokenStr, userName: userNameStr, displayName: displayNameStr)
42
42
 
43
43
  if (response.error != nil) {
44
- reject("signUp error", response.error, nil)
44
+ reject("signUpError", response.error, nil)
45
45
  } else {
46
46
  let signUpResponse: [String: String?] = [
47
47
  "token": response.data!.token,
@@ -56,6 +56,7 @@ class AuthsignalPasskeyModule: NSObject {
56
56
  _ action: NSString?,
57
57
  withToken token: NSString?,
58
58
  withAutofill autofill: Bool,
59
+ withPreferImmediatelyAvailableCredentials preferImmediatelyAvailableCredentials: Bool,
59
60
  resolver resolve: @escaping RCTPromiseResolveBlock,
60
61
  rejecter reject: @escaping RCTPromiseRejectBlock
61
62
  ) -> Void {
@@ -68,10 +69,17 @@ class AuthsignalPasskeyModule: NSObject {
68
69
  let tokenStr = token as String?
69
70
 
70
71
  Task.init {
71
- let response = await authsignal!.signIn(token: tokenStr, action: actionStr, autofill: autofill)
72
+ let response = await authsignal!.signIn(
73
+ token: tokenStr,
74
+ action: actionStr,
75
+ autofill: autofill,
76
+ preferImmediatelyAvailableCredentials: preferImmediatelyAvailableCredentials
77
+ )
72
78
 
73
- if (response.error != nil) {
74
- reject("signIn error", response.error, nil)
79
+ if (response.errorCode == .canceled) {
80
+ reject("signInCanceled", "SIGN_IN_CANCELED", nil)
81
+ } else if (response.error != nil) {
82
+ reject("signInError", response.error, nil)
75
83
  } else {
76
84
  let signInResponse: [String: Any?] = [
77
85
  "isVerified": response.data!.isVerified,
@@ -3,11 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.LINKING_ERROR = void 0;
6
+ exports.LINKING_ERROR = exports.ErrorCode = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  const LINKING_ERROR = `The package 'react-native-authsignal' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
9
9
  ios: "- You have run 'pod install'\n",
10
10
  default: ''
11
11
  }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
12
12
  exports.LINKING_ERROR = LINKING_ERROR;
13
+ let ErrorCode;
14
+ exports.ErrorCode = ErrorCode;
15
+ (function (ErrorCode) {
16
+ ErrorCode["passkeySignInCanceled"] = "passkeySignInCanceled";
17
+ })(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
13
18
  //# sourceMappingURL=error.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["LINKING_ERROR","Platform","select","ios","default"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":";;;;;;AAAA;AAEO,MAAMA,aAAa,GACvB,kFAAiF,GAClFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAAC"}
1
+ {"version":3,"names":["LINKING_ERROR","Platform","select","ios","default","ErrorCode"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":";;;;;;AAAA;AAEO,MAAMA,aAAa,GACvB,kFAAiF,GAClFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAAC;AAAA,IAEtBC,SAAS;AAAA;AAAA,WAATA,SAAS;EAATA,SAAS;AAAA,GAATA,SAAS,yBAATA,SAAS"}
@@ -5,9 +5,16 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  var _exportNames = {
7
7
  Authsignal: true,
8
- launch: true
8
+ launch: true,
9
+ ErrorCode: true
9
10
  };
10
11
  exports.Authsignal = void 0;
12
+ Object.defineProperty(exports, "ErrorCode", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _error.ErrorCode;
16
+ }
17
+ });
11
18
  exports.launch = launch;
12
19
  var _reactNative = require("react-native");
13
20
  var _error = require("./error");
@@ -1 +1 @@
1
- {"version":3,"names":["AuthsignalModule","NativeModules","Proxy","get","Error","LINKING_ERROR","Authsignal","constructor","tenantID","baseURL","enableLogging","__DEV__","passkey","AuthsignalPasskey","push","AuthsignalPush","launch","url","Platform","OS","Promise","resolve","reject","callback","error","token"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AAEA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAAwB;AAExB,MAAMA,gBAAgB,GAAGC,0BAAa,CAACD,gBAAgB,GACnDC,0BAAa,CAACD,gBAAgB,GAC9B,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACC,oBAAa,CAAC;EAChC;AACF,CAAC,CACF;AAQE,MAAMC,UAAU,CAAC;EAQtBC,WAAW,OAIS;IAAA,IAJR;MACVC,QAAQ;MACRC,OAAO,GAAG,+BAA+B;MACzCC,aAAa,GAAGC;IACD,CAAC;IAAA;IAAA;IAAA;IAAA;IAAA;IAChB,IAAI,CAACH,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;IAElC,IAAI,CAACE,OAAO,GAAG,IAAIC,0BAAiB,CAAC;MAAEL,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IAC1E,IAAI,CAACI,IAAI,GAAG,IAAIC,oBAAc,CAAC;MAAEP,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;EACtE;AACF;AAAC;AAEM,SAASM,MAAM,CAACC,GAAW,EAA0B;EAC1D,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOnB,gBAAgB,CAACgB,MAAM,CAACC,GAAG,CAAC;EACrC,CAAC,MAAM;IACL,OAAO,IAAIG,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,MAAMC,QAAQ,GAAG,CAACC,KAAU,EAAEC,KAAa,KAAK;QAC9C,IAAIA,KAAK,EAAE;UACTJ,OAAO,CAACI,KAAK,CAAC;QAChB,CAAC,MAAM,IAAID,KAAK,EAAE;UAChB,IAAIA,KAAK,CAACA,KAAK,KAAK,gBAAgB,EAAE;YACpCH,OAAO,CAAC,IAAI,CAAC;UACf,CAAC,MAAM;YACLC,MAAM,CAACE,KAAK,CAAC;UACf;QACF,CAAC,MAAM;UACLF,MAAM,CAAC,kBAAkB,CAAC;QAC5B;MACF,CAAC;MAEDtB,gBAAgB,CAACgB,MAAM,CAACC,GAAG,EAAEM,QAAQ,CAAC;IACxC,CAAC,CAAC;EACJ;AACF"}
1
+ {"version":3,"names":["AuthsignalModule","NativeModules","Proxy","get","Error","LINKING_ERROR","Authsignal","constructor","tenantID","baseURL","enableLogging","__DEV__","passkey","AuthsignalPasskey","push","AuthsignalPush","launch","url","Platform","OS","Promise","resolve","reject","callback","error","token"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAEA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAAwB;AAGxB,MAAMA,gBAAgB,GAAGC,0BAAa,CAACD,gBAAgB,GACnDC,0BAAa,CAACD,gBAAgB,GAC9B,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACC,oBAAa,CAAC;EAChC;AACF,CAAC,CACF;AAQE,MAAMC,UAAU,CAAC;EAQtBC,WAAW,OAIS;IAAA,IAJR;MACVC,QAAQ;MACRC,OAAO,GAAG,+BAA+B;MACzCC,aAAa,GAAGC;IACD,CAAC;IAAA;IAAA;IAAA;IAAA;IAAA;IAChB,IAAI,CAACH,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;IAElC,IAAI,CAACE,OAAO,GAAG,IAAIC,0BAAiB,CAAC;MAAEL,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IAC1E,IAAI,CAACI,IAAI,GAAG,IAAIC,oBAAc,CAAC;MAAEP,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;EACtE;AACF;AAAC;AAEM,SAASM,MAAM,CAACC,GAAW,EAA0B;EAC1D,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOnB,gBAAgB,CAACgB,MAAM,CAACC,GAAG,CAAC;EACrC,CAAC,MAAM;IACL,OAAO,IAAIG,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,MAAMC,QAAQ,GAAG,CAACC,KAAU,EAAEC,KAAa,KAAK;QAC9C,IAAIA,KAAK,EAAE;UACTJ,OAAO,CAACI,KAAK,CAAC;QAChB,CAAC,MAAM,IAAID,KAAK,EAAE;UAChB,IAAIA,KAAK,CAACA,KAAK,KAAK,gBAAgB,EAAE;YACpCH,OAAO,CAAC,IAAI,CAAC;UACf,CAAC,MAAM;YACLC,MAAM,CAACE,KAAK,CAAC;UACf;QACF,CAAC,MAAM;UACLF,MAAM,CAAC,kBAAkB,CAAC;QAC5B;MACF,CAAC;MAEDtB,gBAAgB,CAACgB,MAAM,CAACC,GAAG,EAAEM,QAAQ,CAAC;IACxC,CAAC,CAAC;EACJ;AACF"}
@@ -56,7 +56,8 @@ class AuthsignalPasskey {
56
56
  let {
57
57
  action,
58
58
  token,
59
- autofill = false
59
+ autofill = false,
60
+ preferImmediatelyAvailableCredentials = true
60
61
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
61
62
  await this.ensureModuleIsInitialized();
62
63
  try {
@@ -68,7 +69,7 @@ class AuthsignalPasskey {
68
69
  }
69
70
  }
70
71
  if (_reactNative.Platform.OS === 'ios') {
71
- const data = await AuthsignalPasskeyModule.signIn(action, token, autofill);
72
+ const data = await AuthsignalPasskeyModule.signIn(action, token, autofill, preferImmediatelyAvailableCredentials);
72
73
  autofillRequestPending = false;
73
74
  return {
74
75
  data
@@ -86,7 +87,10 @@ class AuthsignalPasskey {
86
87
  }
87
88
  autofillRequestPending = false;
88
89
  if (ex instanceof Error) {
89
- return {
90
+ return ex.message === 'SIGN_IN_CANCELED' ? {
91
+ errorCode: _error.ErrorCode.passkeySignInCanceled,
92
+ error: 'Passkey sign-in canceled'
93
+ } : {
90
94
  error: ex.message
91
95
  };
92
96
  }
@@ -1 +1 @@
1
- {"version":3,"names":["initialized","autofillRequestPending","AuthsignalPasskeyModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalPasskey","constructor","tenantID","baseURL","enableLogging","signUp","token","userName","displayName","ensureModuleIsInitialized","data","ex","console","log","error","message","signIn","action","autofill","Platform","OS","cancel","isAvailableOnDevice","initialize"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":"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"}
1
+ {"version":3,"names":["initialized","autofillRequestPending","AuthsignalPasskeyModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalPasskey","constructor","tenantID","baseURL","enableLogging","signUp","token","userName","displayName","ensureModuleIsInitialized","data","ex","console","log","error","message","signIn","action","autofill","preferImmediatelyAvailableCredentials","Platform","OS","errorCode","ErrorCode","passkeySignInCanceled","cancel","isAvailableOnDevice","initialize"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":"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"}
@@ -1,2 +1,6 @@
1
1
  "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
2
6
  //# sourceMappingURL=types.js.map
@@ -3,4 +3,8 @@ export const LINKING_ERROR = `The package 'react-native-authsignal' doesn't seem
3
3
  ios: "- You have run 'pod install'\n",
4
4
  default: ''
5
5
  }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
6
+ export let ErrorCode;
7
+ (function (ErrorCode) {
8
+ ErrorCode["passkeySignInCanceled"] = "passkeySignInCanceled";
9
+ })(ErrorCode || (ErrorCode = {}));
6
10
  //# sourceMappingURL=error.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","LINKING_ERROR","select","ios","default"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,aAAa,GACvB,kFAAiF,GAClFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B"}
1
+ {"version":3,"names":["Platform","LINKING_ERROR","select","ios","default","ErrorCode"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,aAAa,GACvB,kFAAiF,GAClFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,WAAYC,SAAS;AAEpB,WAFWA,SAAS;EAATA,SAAS;AAAA,GAATA,SAAS,KAATA,SAAS"}
@@ -4,6 +4,7 @@ import { LINKING_ERROR } from './error';
4
4
  import { AuthsignalPasskey } from './passkey';
5
5
  import { AuthsignalPush } from './push';
6
6
  export * from './types';
7
+ export { ErrorCode } from './error';
7
8
  const AuthsignalModule = NativeModules.AuthsignalModule ? NativeModules.AuthsignalModule : new Proxy({}, {
8
9
  get() {
9
10
  throw new Error(LINKING_ERROR);
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","AuthsignalPasskey","AuthsignalPush","AuthsignalModule","Proxy","get","Error","Authsignal","constructor","tenantID","baseURL","enableLogging","__DEV__","passkey","push","launch","url","OS","Promise","resolve","reject","callback","error","token"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,aAAa,QAAQ,SAAS;AACvC,SAASC,iBAAiB,QAAQ,WAAW;AAC7C,SAASC,cAAc,QAAQ,QAAQ;AAEvC,cAAc,SAAS;AAEvB,MAAMC,gBAAgB,GAAGL,aAAa,CAACK,gBAAgB,GACnDL,aAAa,CAACK,gBAAgB,GAC9B,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACN,aAAa,CAAC;EAChC;AACF,CAAC,CACF;AAQL,OAAO,MAAMO,UAAU,CAAC;EAQtBC,WAAW,OAIS;IAAA,IAJR;MACVC,QAAQ;MACRC,OAAO,GAAG,+BAA+B;MACzCC,aAAa,GAAGC;IACD,CAAC;IAAA;IAAA;IAAA;IAAA;IAAA;IAChB,IAAI,CAACH,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;IAElC,IAAI,CAACE,OAAO,GAAG,IAAIZ,iBAAiB,CAAC;MAAEQ,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IAC1E,IAAI,CAACG,IAAI,GAAG,IAAIZ,cAAc,CAAC;MAAEO,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;EACtE;AACF;AAEA,OAAO,SAASI,MAAM,CAACC,GAAW,EAA0B;EAC1D,IAAIjB,QAAQ,CAACkB,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOd,gBAAgB,CAACY,MAAM,CAACC,GAAG,CAAC;EACrC,CAAC,MAAM;IACL,OAAO,IAAIE,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,MAAMC,QAAQ,GAAG,CAACC,KAAU,EAAEC,KAAa,KAAK;QAC9C,IAAIA,KAAK,EAAE;UACTJ,OAAO,CAACI,KAAK,CAAC;QAChB,CAAC,MAAM,IAAID,KAAK,EAAE;UAChB,IAAIA,KAAK,CAACA,KAAK,KAAK,gBAAgB,EAAE;YACpCH,OAAO,CAAC,IAAI,CAAC;UACf,CAAC,MAAM;YACLC,MAAM,CAACE,KAAK,CAAC;UACf;QACF,CAAC,MAAM;UACLF,MAAM,CAAC,kBAAkB,CAAC;QAC5B;MACF,CAAC;MAEDjB,gBAAgB,CAACY,MAAM,CAACC,GAAG,EAAEK,QAAQ,CAAC;IACxC,CAAC,CAAC;EACJ;AACF"}
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","AuthsignalPasskey","AuthsignalPush","ErrorCode","AuthsignalModule","Proxy","get","Error","Authsignal","constructor","tenantID","baseURL","enableLogging","__DEV__","passkey","push","launch","url","OS","Promise","resolve","reject","callback","error","token"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,aAAa,QAAQ,SAAS;AACvC,SAASC,iBAAiB,QAAQ,WAAW;AAC7C,SAASC,cAAc,QAAQ,QAAQ;AAEvC,cAAc,SAAS;AACvB,SAASC,SAAS,QAAQ,SAAS;AAEnC,MAAMC,gBAAgB,GAAGN,aAAa,CAACM,gBAAgB,GACnDN,aAAa,CAACM,gBAAgB,GAC9B,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CAAC,CACF;AAQL,OAAO,MAAMQ,UAAU,CAAC;EAQtBC,WAAW,OAIS;IAAA,IAJR;MACVC,QAAQ;MACRC,OAAO,GAAG,+BAA+B;MACzCC,aAAa,GAAGC;IACD,CAAC;IAAA;IAAA;IAAA;IAAA;IAAA;IAChB,IAAI,CAACH,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;IAElC,IAAI,CAACE,OAAO,GAAG,IAAIb,iBAAiB,CAAC;MAAES,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IAC1E,IAAI,CAACG,IAAI,GAAG,IAAIb,cAAc,CAAC;MAAEQ,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;EACtE;AACF;AAEA,OAAO,SAASI,MAAM,CAACC,GAAW,EAA0B;EAC1D,IAAIlB,QAAQ,CAACmB,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOd,gBAAgB,CAACY,MAAM,CAACC,GAAG,CAAC;EACrC,CAAC,MAAM;IACL,OAAO,IAAIE,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,MAAMC,QAAQ,GAAG,CAACC,KAAU,EAAEC,KAAa,KAAK;QAC9C,IAAIA,KAAK,EAAE;UACTJ,OAAO,CAACI,KAAK,CAAC;QAChB,CAAC,MAAM,IAAID,KAAK,EAAE;UAChB,IAAIA,KAAK,CAACA,KAAK,KAAK,gBAAgB,EAAE;YACpCH,OAAO,CAAC,IAAI,CAAC;UACf,CAAC,MAAM;YACLC,MAAM,CAACE,KAAK,CAAC;UACf;QACF,CAAC,MAAM;UACLF,MAAM,CAAC,kBAAkB,CAAC;QAC5B;MACF,CAAC;MAEDjB,gBAAgB,CAACY,MAAM,CAACC,GAAG,EAAEK,QAAQ,CAAC;IACxC,CAAC,CAAC;EACJ;AACF"}
@@ -1,6 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
2
  import { NativeModules, Platform } from 'react-native';
3
- import { LINKING_ERROR } from './error';
3
+ import { LINKING_ERROR, ErrorCode } from './error';
4
4
  let initialized = false;
5
5
  let autofillRequestPending = false;
6
6
  const AuthsignalPasskeyModule = NativeModules.AuthsignalPasskeyModule ? NativeModules.AuthsignalPasskeyModule : new Proxy({}, {
@@ -50,7 +50,8 @@ export class AuthsignalPasskey {
50
50
  let {
51
51
  action,
52
52
  token,
53
- autofill = false
53
+ autofill = false,
54
+ preferImmediatelyAvailableCredentials = true
54
55
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
55
56
  await this.ensureModuleIsInitialized();
56
57
  try {
@@ -62,7 +63,7 @@ export class AuthsignalPasskey {
62
63
  }
63
64
  }
64
65
  if (Platform.OS === 'ios') {
65
- const data = await AuthsignalPasskeyModule.signIn(action, token, autofill);
66
+ const data = await AuthsignalPasskeyModule.signIn(action, token, autofill, preferImmediatelyAvailableCredentials);
66
67
  autofillRequestPending = false;
67
68
  return {
68
69
  data
@@ -80,7 +81,10 @@ export class AuthsignalPasskey {
80
81
  }
81
82
  autofillRequestPending = false;
82
83
  if (ex instanceof Error) {
83
- return {
84
+ return ex.message === 'SIGN_IN_CANCELED' ? {
85
+ errorCode: ErrorCode.passkeySignInCanceled,
86
+ error: 'Passkey sign-in canceled'
87
+ } : {
84
88
  error: ex.message
85
89
  };
86
90
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","initialized","autofillRequestPending","AuthsignalPasskeyModule","Proxy","get","Error","AuthsignalPasskey","constructor","tenantID","baseURL","enableLogging","signUp","token","userName","displayName","ensureModuleIsInitialized","data","ex","console","log","error","message","signIn","action","autofill","OS","cancel","isAvailableOnDevice","initialize"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":"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"}
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","ErrorCode","initialized","autofillRequestPending","AuthsignalPasskeyModule","Proxy","get","Error","AuthsignalPasskey","constructor","tenantID","baseURL","enableLogging","signUp","token","userName","displayName","ensureModuleIsInitialized","data","ex","console","log","error","message","signIn","action","autofill","preferImmediatelyAvailableCredentials","OS","errorCode","passkeySignInCanceled","cancel","isAvailableOnDevice","initialize"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
-
1
+ export {};
2
2
  //# sourceMappingURL=types.js.map
@@ -1,2 +1,5 @@
1
1
  export declare const LINKING_ERROR: string;
2
+ export declare enum ErrorCode {
3
+ passkeySignInCanceled = "passkeySignInCanceled"
4
+ }
2
5
  //# sourceMappingURL=error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,QAIO,CAAC"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,QAIO,CAAC;AAElC,oBAAY,SAAS;IACnB,qBAAqB,0BAA0B;CAChD"}
@@ -1,6 +1,7 @@
1
1
  import { AuthsignalPasskey } from './passkey';
2
2
  import { AuthsignalPush } from './push';
3
3
  export * from './types';
4
+ export { ErrorCode } from './error';
4
5
  interface ConstructorArgs {
5
6
  tenantID: string;
6
7
  baseURL?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,cAAc,SAAS,CAAC;AAaxB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,UAAU;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IAEvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,cAAc,CAAC;gBAET,EACV,QAAQ,EACR,OAAyC,EACzC,aAAuB,GACxB,EAAE,eAAe;CAQnB;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsB1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAapC,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,UAAU;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IAEvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,cAAc,CAAC;gBAET,EACV,QAAQ,EACR,OAAyC,EACzC,aAAuB,GACxB,EAAE,eAAe;CAQnB;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsB1D"}
@@ -13,6 +13,7 @@ interface PasskeySignInInput {
13
13
  action?: string;
14
14
  token?: string;
15
15
  autofill?: boolean;
16
+ preferImmediatelyAvailableCredentials?: boolean;
16
17
  }
17
18
  export declare class AuthsignalPasskey {
18
19
  tenantID: string;
@@ -20,7 +21,7 @@ export declare class AuthsignalPasskey {
20
21
  enableLogging: boolean;
21
22
  constructor({ tenantID, baseURL, enableLogging }: ConstructorArgs);
22
23
  signUp({ token, userName, displayName, }: PasskeySignUpInput): Promise<AuthsignalResponse<SignUpResponse>>;
23
- signIn({ action, token, autofill, }?: PasskeySignInInput): Promise<AuthsignalResponse<SignInResponse>>;
24
+ signIn({ action, token, autofill, preferImmediatelyAvailableCredentials, }?: PasskeySignInInput): Promise<AuthsignalResponse<SignInResponse>>;
24
25
  cancel(): void;
25
26
  isAvailableOnDevice(): Promise<boolean>;
26
27
  private ensureModuleIsInitialized;
@@ -1 +1 @@
1
- {"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/passkey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAgBD,qBAAa,iBAAiB;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;gBAEX,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,eAAe;IAM3D,MAAM,CAAC,EACX,KAAK,EACL,QAAQ,EACR,WAAW,GACZ,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAwB7D,MAAM,CAAC,EACX,MAAM,EACN,KAAK,EACL,QAAgB,GACjB,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IA4CxE,MAAM;IAMA,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;YAM/B,yBAAyB;CASxC"}
1
+ {"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/passkey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qCAAqC,CAAC,EAAE,OAAO,CAAC;CACjD;AAgBD,qBAAa,iBAAiB;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;gBAEX,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,eAAe;IAM3D,MAAM,CAAC,EACX,KAAK,EACL,QAAQ,EACR,WAAW,GACZ,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAwB7D,MAAM,CAAC,EACX,MAAM,EACN,KAAK,EACL,QAAgB,EAChB,qCAA4C,GAC7C,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAkDxE,MAAM;IAMA,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;YAM/B,yBAAyB;CASxC"}
@@ -1,6 +1,8 @@
1
+ import type { ErrorCode } from './error';
1
2
  export interface AuthsignalResponse<T> {
2
3
  data?: T;
3
4
  error?: string;
5
+ errorCode?: ErrorCode;
4
6
  }
5
7
  export interface TokenPayload {
6
8
  aud: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-authsignal",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "description": "The official Authsignal React Native library.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
18
 
19
19
  s.dependency "React-Core"
20
- s.dependency 'Authsignal', '0.3.0'
20
+ s.dependency 'Authsignal', '0.3.1'
21
21
 
22
22
  # Don't install the dependencies when we run `pod install` in the old architecture.
23
23
  if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
package/src/error.ts CHANGED
@@ -5,3 +5,7 @@ export const LINKING_ERROR =
5
5
  Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) +
6
6
  '- You rebuilt the app after installing the package\n' +
7
7
  '- You are not using Expo Go\n';
8
+
9
+ export enum ErrorCode {
10
+ passkeySignInCanceled = 'passkeySignInCanceled',
11
+ }
package/src/index.tsx CHANGED
@@ -4,6 +4,7 @@ import { AuthsignalPasskey } from './passkey';
4
4
  import { AuthsignalPush } from './push';
5
5
 
6
6
  export * from './types';
7
+ export { ErrorCode } from './error';
7
8
 
8
9
  const AuthsignalModule = NativeModules.AuthsignalModule
9
10
  ? NativeModules.AuthsignalModule
package/src/passkey.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { NativeModules, Platform } from 'react-native';
2
- import { LINKING_ERROR } from './error';
2
+ import { LINKING_ERROR, ErrorCode } from './error';
3
3
  import type {
4
4
  AuthsignalResponse,
5
5
  SignInResponse,
@@ -22,6 +22,7 @@ interface PasskeySignInInput {
22
22
  action?: string;
23
23
  token?: string;
24
24
  autofill?: boolean;
25
+ preferImmediatelyAvailableCredentials?: boolean;
25
26
  }
26
27
 
27
28
  let initialized = false;
@@ -81,6 +82,7 @@ export class AuthsignalPasskey {
81
82
  action,
82
83
  token,
83
84
  autofill = false,
85
+ preferImmediatelyAvailableCredentials = true,
84
86
  }: PasskeySignInInput = {}): Promise<AuthsignalResponse<SignInResponse>> {
85
87
  await this.ensureModuleIsInitialized();
86
88
 
@@ -97,7 +99,8 @@ export class AuthsignalPasskey {
97
99
  const data = await AuthsignalPasskeyModule.signIn(
98
100
  action,
99
101
  token,
100
- autofill
102
+ autofill,
103
+ preferImmediatelyAvailableCredentials
101
104
  );
102
105
 
103
106
  autofillRequestPending = false;
@@ -118,7 +121,12 @@ export class AuthsignalPasskey {
118
121
  autofillRequestPending = false;
119
122
 
120
123
  if (ex instanceof Error) {
121
- return { error: ex.message };
124
+ return ex.message === 'SIGN_IN_CANCELED'
125
+ ? {
126
+ errorCode: ErrorCode.passkeySignInCanceled,
127
+ error: 'Passkey sign-in canceled',
128
+ }
129
+ : { error: ex.message };
122
130
  }
123
131
 
124
132
  throw ex;
package/src/types.ts CHANGED
@@ -1,6 +1,9 @@
1
+ import type { ErrorCode } from './error';
2
+
1
3
  export interface AuthsignalResponse<T> {
2
4
  data?: T;
3
5
  error?: string;
6
+ errorCode?: ErrorCode;
4
7
  }
5
8
 
6
9
  export interface TokenPayload {