idwise-react-native-sdk 6.8.3 → 6.8.5-alpha.1

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.
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
16
16
  s.source_files = "ios/**/*.{h,m,mm,cpp,swift}"
17
17
  s.private_header_files = "ios/**/*.h"
18
18
 
19
- s.dependency 'IDWise', '6.8.3'
19
+ s.dependency 'IDWise', '6.8.4'
20
20
  s.pod_target_xcconfig = {
21
21
  "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
22
22
  "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
package/README.md CHANGED
@@ -38,6 +38,20 @@ OR
38
38
  yarn add idwise-react-native-sdk
39
39
  ```
40
40
 
41
+ ### Expo (managed workflow)
42
+
43
+ This package ships a [config plugin](https://docs.expo.dev/config-plugins/introduction/) so it works in Expo managed projects without ejecting. Add it to the `plugins` array in your `app.json` / `app.config.js`:
44
+
45
+ ```json
46
+ {
47
+ "expo": {
48
+ "plugins": ["idwise-react-native-sdk"]
49
+ }
50
+ }
51
+ ```
52
+
53
+ The plugin registers the Android Maven repository and the private CocoaPods spec source the SDK depends on, so `npx expo prebuild` (and EAS Build) generate native projects that can resolve the IDWise native SDKs automatically — no manual edits to `android/build.gradle` or `ios/Podfile` are required.
54
+
41
55
  <!-- badges -->
42
56
 
43
57
  [version-badge]: https://img.shields.io/npm/v/idwise-react-native-sdk.svg?style=flat-square
@@ -4,4 +4,4 @@ IdwiseReactNativeSdk_targetSdkVersion=34
4
4
  IdwiseReactNativeSdk_compileSdkVersion=35
5
5
  IdwiseReactNativeSdk_ndkVersion=27.1.12297006
6
6
  # Idwise SDK version
7
- idwise_sdk_version=6.8.3
7
+ idwise_sdk_version=6.8.5
package/app.plugin.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./plugin/withIdwise');
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ export default {
4
+ FULL_NAME: 'full_name',
5
+ BIRTH_DATE: 'birth_date',
6
+ SEX: 'sex',
7
+ COUNTRY_CODE: 'country_code'
8
+ };
9
+ //# sourceMappingURL=ApplicantDetailsKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FULL_NAME","BIRTH_DATE","SEX","COUNTRY_CODE"],"sourceRoot":"../../src","sources":["ApplicantDetailsKeys.js"],"mappings":";;AAAA,eAAe;EACbA,SAAS,EAAE,WAAW;EACtBC,UAAU,EAAE,YAAY;EACxBC,GAAG,EAAE,KAAK;EACVC,YAAY,EAAE;AAChB,CAAC","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ import { NativeModules, Platform } from 'react-native';
4
+ import IdwiseReactNativeSdk from "./NativeIdwiseReactNativeSdk.js";
5
+ import { setInitializeEventListeners, setJourneyEventListeners, setStepEventListeners, setJourneyResultEventListener } from "./IDWiseEventListeners.js";
6
+ const LINKING_ERROR = `The package 'idwise-mobile-sdk' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
7
+ ios: "- You have run 'pod install'\n",
8
+ default: ''
9
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
10
+ const RNIDWise = IdwiseReactNativeSdk ? IdwiseReactNativeSdk : new Proxy({}, {
11
+ get() {
12
+ throw new Error(LINKING_ERROR);
13
+ }
14
+ });
15
+ const initialize = (clientKey, theme, callback) => {
16
+ console.log('IDWise - initialize');
17
+ setInitializeEventListeners(callback);
18
+ RNIDWise.initialize(clientKey, theme);
19
+ };
20
+ const isDeviceBlocked = () => {
21
+ console.log('IDWise - isDeviceBlocked');
22
+ return RNIDWise.isDeviceBlocked();
23
+ };
24
+ const startJourney = (journeyDefinitionId, referenceNo, locale, applicantDetails, journeyCallback) => {
25
+ console.log('IDWise - startJourney');
26
+ setJourneyEventListeners(journeyCallback);
27
+ setStepEventListeners(null);
28
+ RNIDWise.startJourney(journeyDefinitionId, referenceNo, locale, applicantDetails);
29
+ };
30
+ const resumeJourney = (journeyDefinitionId, journeyId, locale, journeyCallback) => {
31
+ console.log('IDWise - resumeJourney');
32
+ setJourneyEventListeners(journeyCallback);
33
+ RNIDWise.resumeJourney(journeyDefinitionId, journeyId, locale);
34
+ };
35
+ const getJourneyResult = callback => {
36
+ console.log('IDWise - getJourneyResult');
37
+ setJourneyResultEventListener(callback);
38
+ RNIDWise.getJourneyResult();
39
+ };
40
+ export const IDWise = {
41
+ initialize,
42
+ startJourney,
43
+ resumeJourney,
44
+ isDeviceBlocked,
45
+ getJourneyResult
46
+ };
47
+ //# sourceMappingURL=IDWise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","IdwiseReactNativeSdk","setInitializeEventListeners","setJourneyEventListeners","setStepEventListeners","setJourneyResultEventListener","LINKING_ERROR","select","ios","default","RNIDWise","Proxy","get","Error","initialize","clientKey","theme","callback","console","log","isDeviceBlocked","startJourney","journeyDefinitionId","referenceNo","locale","applicantDetails","journeyCallback","resumeJourney","journeyId","getJourneyResult","IDWise"],"sourceRoot":"../../src","sources":["IDWise.js"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,OAAOC,oBAAoB,MAAM,iCAA8B;AAC/D,SACEC,2BAA2B,EAC3BC,wBAAwB,EACxBC,qBAAqB,EACrBC,6BAA6B,QACxB,2BAAwB;AAE/B,MAAMC,aAAa,GACjB,4EAA4E,GAC5EN,QAAQ,CAACO,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,QAAQ,GAAGT,oBAAoB,GACjCA,oBAAoB,GACpB,IAAIU,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,MAAMQ,UAAU,GAAGA,CAACC,SAAS,EAAEC,KAAK,EAAEC,QAAQ,KAAK;EACjDC,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;EAClCjB,2BAA2B,CAACe,QAAQ,CAAC;EAErCP,QAAQ,CAACI,UAAU,CAACC,SAAS,EAAEC,KAAK,CAAC;AACvC,CAAC;AAED,MAAMI,eAAe,GAAGA,CAAA,KAAM;EAC5BF,OAAO,CAACC,GAAG,CAAC,0BAA0B,CAAC;EAEvC,OAAOT,QAAQ,CAACU,eAAe,CAAC,CAAC;AACnC,CAAC;AAED,MAAMC,YAAY,GAAGA,CACnBC,mBAAmB,EACnBC,WAAW,EACXC,MAAM,EACNC,gBAAgB,EAChBC,eAAe,KACZ;EACHR,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;EACpChB,wBAAwB,CAACuB,eAAe,CAAC;EACzCtB,qBAAqB,CAAC,IAAI,CAAC;EAE3BM,QAAQ,CAACW,YAAY,CACnBC,mBAAmB,EACnBC,WAAW,EACXC,MAAM,EACNC,gBACF,CAAC;AACH,CAAC;AAED,MAAME,aAAa,GAAGA,CACpBL,mBAAmB,EACnBM,SAAS,EACTJ,MAAM,EACNE,eAAe,KACZ;EACHR,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;EACrChB,wBAAwB,CAACuB,eAAe,CAAC;EAEzChB,QAAQ,CAACiB,aAAa,CAACL,mBAAmB,EAAEM,SAAS,EAAEJ,MAAM,CAAC;AAChE,CAAC;AAED,MAAMK,gBAAgB,GAAIZ,QAAQ,IAAK;EACrCC,OAAO,CAACC,GAAG,CAAC,2BAA2B,CAAC;EACxCd,6BAA6B,CAACY,QAAQ,CAAC;EAEvCP,QAAQ,CAACmB,gBAAgB,CAAC,CAAC;AAC7B,CAAC;AAED,OAAO,MAAMC,MAAM,GAAG;EACpBhB,UAAU;EACVO,YAAY;EACZM,aAAa;EACbP,eAAe;EACfS;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ export const IDWiseEvents = {
4
+ EVENT_INITIALIZE_ERRROR: 'onInitializeError',
5
+ EVENT_INITIALIZE_SUCCESS: 'onInitializeSuccess',
6
+ EVENT_JOURNEY_STARTED: 'onJourneyStarted',
7
+ EVENT_JOURNEY_RESUMED: 'onJourneyResumed',
8
+ EVENT_JOURNEY_FINISHED: 'onJourneyCompleted',
9
+ EVENT_JOURNEY_CANCELLED: 'onJourneyCancelled',
10
+ EVENT_JOURNEY_BLOCKED: 'onJourneyBlocked',
11
+ EVENT_JOURNEY_ERROR: 'onJourneyError',
12
+ EVENT_JOURNEY_SUMMARY: 'onJourneySummary',
13
+ EVENT_JOURNEY_SUMMARY_ERROR: 'onJourneySummaryError',
14
+ EVENT_JOURNEY_RESULT: 'onJourneyResult',
15
+ EVENT_JOURNEY_RESULT_ERROR: 'onJourneyResultError',
16
+ EVENT_STEP_CAPTURED: 'onStepCaptured',
17
+ EVENT_STEP_RESULT: 'onStepResult',
18
+ EVENT_STEP_CANCELLED: 'onStepCancelled',
19
+ EVENT_STEP_SKIPPED: 'onStepSkipped'
20
+ };
21
+ export const IDWiseTheme = {
22
+ LIGHT: 'LIGHT',
23
+ DARK: 'DARK',
24
+ SYSTEM_DEFAULT: 'SYSTEM_DEFAULT'
25
+ };
26
+ export const ApplicantDetailsKeys = {
27
+ FULL_NAME: 'full_name',
28
+ BIRTH_DATE: 'birth_date',
29
+ SEX: 'sex',
30
+ ADDRESS: 'address'
31
+ };
32
+ //# sourceMappingURL=IDWiseConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IDWiseEvents","EVENT_INITIALIZE_ERRROR","EVENT_INITIALIZE_SUCCESS","EVENT_JOURNEY_STARTED","EVENT_JOURNEY_RESUMED","EVENT_JOURNEY_FINISHED","EVENT_JOURNEY_CANCELLED","EVENT_JOURNEY_BLOCKED","EVENT_JOURNEY_ERROR","EVENT_JOURNEY_SUMMARY","EVENT_JOURNEY_SUMMARY_ERROR","EVENT_JOURNEY_RESULT","EVENT_JOURNEY_RESULT_ERROR","EVENT_STEP_CAPTURED","EVENT_STEP_RESULT","EVENT_STEP_CANCELLED","EVENT_STEP_SKIPPED","IDWiseTheme","LIGHT","DARK","SYSTEM_DEFAULT","ApplicantDetailsKeys","FULL_NAME","BIRTH_DATE","SEX","ADDRESS"],"sourceRoot":"../../src","sources":["IDWiseConstants.js"],"mappings":";;AAAA,OAAO,MAAMA,YAAY,GAAG;EAC1BC,uBAAuB,EAAE,mBAAmB;EAC5CC,wBAAwB,EAAE,qBAAqB;EAE/CC,qBAAqB,EAAE,kBAAkB;EACzCC,qBAAqB,EAAE,kBAAkB;EACzCC,sBAAsB,EAAE,oBAAoB;EAC5CC,uBAAuB,EAAE,oBAAoB;EAC7CC,qBAAqB,EAAE,kBAAkB;EACzCC,mBAAmB,EAAE,gBAAgB;EAErCC,qBAAqB,EAAE,kBAAkB;EACzCC,2BAA2B,EAAE,uBAAuB;EAEpDC,oBAAoB,EAAE,iBAAiB;EACvCC,0BAA0B,EAAE,sBAAsB;EAElDC,mBAAmB,EAAE,gBAAgB;EACrCC,iBAAiB,EAAE,cAAc;EACjCC,oBAAoB,EAAE,iBAAiB;EACvCC,kBAAkB,EAAE;AACtB,CAAC;AAED,OAAO,MAAMC,WAAW,GAAG;EACzBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,cAAc,EAAE;AAClB,CAAC;AAED,OAAO,MAAMC,oBAAoB,GAAG;EAClCC,SAAS,EAAE,WAAW;EACtBC,UAAU,EAAE,YAAY;EACxBC,GAAG,EAAE,KAAK;EACVC,OAAO,EAAE;AACX,CAAC","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ import { NativeModules, Platform } from 'react-native';
4
+ import { setInitializeEventListeners, setJourneyEventListeners, setJourneySummaryEventListener, setStepEventListeners } from "./IDWiseEventListeners.js";
5
+ const LINKING_ERROR = `The package 'idwise-mobile-sdk' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
6
+ ios: "- You have run 'pod install'\n",
7
+ default: ''
8
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
9
+ const RNIDWise = NativeModules.IdwiseReactNativeSdk ? NativeModules.IdwiseReactNativeSdk : new Proxy({}, {
10
+ get() {
11
+ throw new Error(LINKING_ERROR);
12
+ }
13
+ });
14
+ const initialize = (clientKey, theme, callback) => {
15
+ console.log('IDWise - initialize');
16
+ setInitializeEventListeners(callback);
17
+ RNIDWise.initialize(clientKey, theme);
18
+ };
19
+ const isDeviceBlocked = () => {
20
+ console.log('IDWise - isDeviceBlocked');
21
+ return RNIDWise.isDeviceBlocked();
22
+ };
23
+ const startJourney = (journeyDefinitionId, referenceNo, locale, applicantDetails, journeyCallback, stepCallback) => {
24
+ console.log('IDWise - startDynamicJourney');
25
+ setJourneyEventListeners(journeyCallback);
26
+ setStepEventListeners(stepCallback);
27
+ RNIDWise.startDynamicJourney(journeyDefinitionId, referenceNo, locale, applicantDetails);
28
+ };
29
+ const resumeJourney = (journeyDefinitionId, journeyId, locale, journeyCallback, stepCallback) => {
30
+ console.log('IDWise - resumeDynamicJourney');
31
+ setJourneyEventListeners(journeyCallback);
32
+ setStepEventListeners(stepCallback);
33
+ RNIDWise.resumeDynamicJourney(journeyDefinitionId, journeyId, locale);
34
+ };
35
+ const startStep = stepId => RNIDWise.startStep(stepId);
36
+ const skipStep = stepId => RNIDWise.skipStep(stepId);
37
+ const getJourneySummary = callback => {
38
+ console.log('IDWise - getJourneySummary');
39
+ setJourneySummaryEventListener(callback);
40
+ RNIDWise.getJourneySummary();
41
+ };
42
+ const finishJourney = () => {
43
+ console.log('IDWise - finishDynamicJourney');
44
+ RNIDWise.finishDynamicJourney();
45
+ };
46
+ const unloadSDK = () => {
47
+ console.log('IDWise - unloadSDK');
48
+ RNIDWise.unloadSDK();
49
+ };
50
+ export const IDWiseDynamic = {
51
+ initialize,
52
+ startJourney,
53
+ startStep,
54
+ getJourneySummary,
55
+ finishJourney,
56
+ skipStep,
57
+ resumeJourney,
58
+ isDeviceBlocked,
59
+ unloadSDK
60
+ };
61
+ //# sourceMappingURL=IDWiseDynamic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","setInitializeEventListeners","setJourneyEventListeners","setJourneySummaryEventListener","setStepEventListeners","LINKING_ERROR","select","ios","default","RNIDWise","IdwiseReactNativeSdk","Proxy","get","Error","initialize","clientKey","theme","callback","console","log","isDeviceBlocked","startJourney","journeyDefinitionId","referenceNo","locale","applicantDetails","journeyCallback","stepCallback","startDynamicJourney","resumeJourney","journeyId","resumeDynamicJourney","startStep","stepId","skipStep","getJourneySummary","finishJourney","finishDynamicJourney","unloadSDK","IDWiseDynamic"],"sourceRoot":"../../src","sources":["IDWiseDynamic.js"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SACEC,2BAA2B,EAC3BC,wBAAwB,EACxBC,8BAA8B,EAC9BC,qBAAqB,QAChB,2BAAwB;AAE/B,MAAMC,aAAa,GACjB,4EAA4E,GAC5EL,QAAQ,CAACM,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,QAAQ,GAAGV,aAAa,CAACW,oBAAoB,GAC/CX,aAAa,CAACW,oBAAoB,GAClC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACR,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,MAAMS,UAAU,GAAGA,CAACC,SAAS,EAAEC,KAAK,EAAEC,QAAQ,KAAK;EACjDC,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;EAClClB,2BAA2B,CAACgB,QAAQ,CAAC;EAErCR,QAAQ,CAACK,UAAU,CAACC,SAAS,EAAEC,KAAK,CAAC;AACvC,CAAC;AAED,MAAMI,eAAe,GAAGA,CAAA,KAAM;EAC5BF,OAAO,CAACC,GAAG,CAAC,0BAA0B,CAAC;EAEvC,OAAOV,QAAQ,CAACW,eAAe,CAAC,CAAC;AACnC,CAAC;AAED,MAAMC,YAAY,GAAGA,CACnBC,mBAAmB,EACnBC,WAAW,EACXC,MAAM,EACNC,gBAAgB,EAChBC,eAAe,EACfC,YAAY,KACT;EACHT,OAAO,CAACC,GAAG,CAAC,8BAA8B,CAAC;EAC3CjB,wBAAwB,CAACwB,eAAe,CAAC;EACzCtB,qBAAqB,CAACuB,YAAY,CAAC;EAEnClB,QAAQ,CAACmB,mBAAmB,CAC1BN,mBAAmB,EACnBC,WAAW,EACXC,MAAM,EACNC,gBACF,CAAC;AACH,CAAC;AAED,MAAMI,aAAa,GAAGA,CACpBP,mBAAmB,EACnBQ,SAAS,EACTN,MAAM,EACNE,eAAe,EACfC,YAAY,KACT;EACHT,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;EAC5CjB,wBAAwB,CAACwB,eAAe,CAAC;EACzCtB,qBAAqB,CAACuB,YAAY,CAAC;EAEnClB,QAAQ,CAACsB,oBAAoB,CAACT,mBAAmB,EAAEQ,SAAS,EAAEN,MAAM,CAAC;AACvE,CAAC;AAED,MAAMQ,SAAS,GAAIC,MAAM,IAAKxB,QAAQ,CAACuB,SAAS,CAACC,MAAM,CAAC;AAExD,MAAMC,QAAQ,GAAID,MAAM,IAAKxB,QAAQ,CAACyB,QAAQ,CAACD,MAAM,CAAC;AAEtD,MAAME,iBAAiB,GAAIlB,QAAQ,IAAK;EACtCC,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;EACzChB,8BAA8B,CAACc,QAAQ,CAAC;EAExCR,QAAQ,CAAC0B,iBAAiB,CAAC,CAAC;AAC9B,CAAC;AAED,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC1BlB,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;EAE5CV,QAAQ,CAAC4B,oBAAoB,CAAC,CAAC;AACjC,CAAC;AAED,MAAMC,SAAS,GAAGA,CAAA,KAAM;EACtBpB,OAAO,CAACC,GAAG,CAAC,oBAAoB,CAAC;EACjCV,QAAQ,CAAC6B,SAAS,CAAC,CAAC;AACtB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC3BzB,UAAU;EACVO,YAAY;EACZW,SAAS;EACTG,iBAAiB;EACjBC,aAAa;EACbF,QAAQ;EACRL,aAAa;EACbT,eAAe;EACfkB;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
4
+ import { IDWiseEvents } from "./IDWiseConstants.js";
5
+ const LINKING_ERROR = `The package 'idwise-mobile-sdk' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
6
+ ios: "- You have run 'pod install'\n",
7
+ default: ''
8
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
9
+ const RNIDWise = NativeModules.IdwiseReactNativeSdk ? NativeModules.IdwiseReactNativeSdk : new Proxy({}, {
10
+ get() {
11
+ throw new Error(LINKING_ERROR);
12
+ }
13
+ });
14
+ const eventEmitter = new NativeEventEmitter(RNIDWise);
15
+ const setInitializeEventListeners = idwiseInitializeCallback => {
16
+ console.log('IDWise - setInitializeEventListeners');
17
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_INITIALIZE_ERRROR);
18
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_INITIALIZE_SUCCESS);
19
+ eventEmitter.addListener(IDWiseEvents.EVENT_INITIALIZE_ERRROR, event => {
20
+ idwiseInitializeCallback?.onError(JSON.parse(event.data));
21
+ });
22
+ eventEmitter.addListener(IDWiseEvents.EVENT_INITIALIZE_SUCCESS, event => {
23
+ try {
24
+ idwiseInitializeCallback?.onSuccess();
25
+ } catch (error) {}
26
+ });
27
+ };
28
+ const setJourneyEventListeners = idwiseJourneyCallback => {
29
+ console.log('IDWise - setJourneyEventListeners');
30
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_JOURNEY_STARTED);
31
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_JOURNEY_RESUMED);
32
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_JOURNEY_FINISHED);
33
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_JOURNEY_CANCELLED);
34
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_JOURNEY_BLOCKED);
35
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_JOURNEY_ERROR);
36
+ eventEmitter.addListener(IDWiseEvents.EVENT_JOURNEY_STARTED, event => {
37
+ idwiseJourneyCallback?.onJourneyStarted(JSON.parse(event.data));
38
+ });
39
+ eventEmitter.addListener(IDWiseEvents.EVENT_JOURNEY_RESUMED, event => {
40
+ idwiseJourneyCallback?.onJourneyResumed(JSON.parse(event.data));
41
+ });
42
+ eventEmitter.addListener(IDWiseEvents.EVENT_JOURNEY_FINISHED, event => {
43
+ idwiseJourneyCallback?.onJourneyCompleted(JSON.parse(event.data));
44
+ });
45
+ eventEmitter.addListener(IDWiseEvents.EVENT_JOURNEY_CANCELLED, event => {
46
+ idwiseJourneyCallback?.onJourneyCancelled(JSON.parse(event.data));
47
+ });
48
+ eventEmitter.addListener(IDWiseEvents.EVENT_JOURNEY_BLOCKED, event => {
49
+ idwiseJourneyCallback?.onJourneyBlocked(JSON.parse(event.data));
50
+ });
51
+ eventEmitter.addListener(IDWiseEvents.EVENT_JOURNEY_ERROR, event => {
52
+ idwiseJourneyCallback?.onError(JSON.parse(event.data));
53
+ });
54
+ };
55
+ const setStepEventListeners = idwiseStepCallback => {
56
+ console.log('IDWise - setStepEventListener');
57
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_STEP_CAPTURED);
58
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_STEP_RESULT);
59
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_STEP_CANCELLED);
60
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_STEP_SKIPPED);
61
+ eventEmitter.addListener(IDWiseEvents.EVENT_STEP_CAPTURED, event => {
62
+ idwiseStepCallback?.onStepCaptured(JSON.parse(event.data));
63
+ });
64
+ eventEmitter.addListener(IDWiseEvents.EVENT_STEP_RESULT, event => {
65
+ idwiseStepCallback?.onStepResult(JSON.parse(event.data));
66
+ });
67
+ eventEmitter.addListener(IDWiseEvents.EVENT_STEP_CANCELLED, event => {
68
+ idwiseStepCallback?.onStepCancelled(JSON.parse(event.data));
69
+ });
70
+ eventEmitter.addListener(IDWiseEvents.EVENT_STEP_SKIPPED, event => {
71
+ idwiseStepCallback?.onStepSkipped(JSON.parse(event.data));
72
+ });
73
+ };
74
+ const setJourneyResultEventListener = idwiseJourneySummaryCallback => {
75
+ console.log('IDWise - setJourneyResultEventListener');
76
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_JOURNEY_RESULT);
77
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_JOURNEY_RESULT_ERROR);
78
+ eventEmitter.addListener(IDWiseEvents.EVENT_JOURNEY_RESULT, event => {
79
+ let summary = JSON.parse(event.data);
80
+ console.log('IDWise - Journey Result received', summary);
81
+ if (summary.error == null) {
82
+ idwiseJourneySummaryCallback?.onJourneyResult(summary.result);
83
+ } else {
84
+ idwiseJourneySummaryCallback?.onError(summary.error);
85
+ }
86
+ });
87
+ eventEmitter.addListener(IDWiseEvents.EVENT_JOURNEY_RESULT_ERROR, event => {
88
+ idwiseJourneySummaryCallback?.onError(JSON.parse(event.error));
89
+ });
90
+ };
91
+ const setJourneySummaryEventListener = idwiseJourneySummaryCallback => {
92
+ console.log('IDWise - setJourneySummaryEventListener');
93
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_JOURNEY_SUMMARY);
94
+ eventEmitter.removeAllListeners(IDWiseEvents.EVENT_JOURNEY_SUMMARY_ERROR);
95
+ eventEmitter.addListener(IDWiseEvents.EVENT_JOURNEY_SUMMARY, event => {
96
+ let summary = JSON.parse(event.data);
97
+ if (summary.error == null) {
98
+ idwiseJourneySummaryCallback?.onJourneySummary(summary.summary);
99
+ } else {
100
+ idwiseJourneySummaryCallback?.onError(summary.error);
101
+ }
102
+ });
103
+ eventEmitter.addListener(IDWiseEvents.EVENT_JOURNEY_SUMMARY_ERROR, event => {
104
+ idwiseJourneySummaryCallback?.onError(JSON.parse(event.error));
105
+ });
106
+ };
107
+ export { setInitializeEventListeners, setJourneyEventListeners, setJourneySummaryEventListener, setStepEventListeners, setJourneyResultEventListener };
108
+ //# sourceMappingURL=IDWiseEventListeners.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeEventEmitter","NativeModules","Platform","IDWiseEvents","LINKING_ERROR","select","ios","default","RNIDWise","IdwiseReactNativeSdk","Proxy","get","Error","eventEmitter","setInitializeEventListeners","idwiseInitializeCallback","console","log","removeAllListeners","EVENT_INITIALIZE_ERRROR","EVENT_INITIALIZE_SUCCESS","addListener","event","onError","JSON","parse","data","onSuccess","error","setJourneyEventListeners","idwiseJourneyCallback","EVENT_JOURNEY_STARTED","EVENT_JOURNEY_RESUMED","EVENT_JOURNEY_FINISHED","EVENT_JOURNEY_CANCELLED","EVENT_JOURNEY_BLOCKED","EVENT_JOURNEY_ERROR","onJourneyStarted","onJourneyResumed","onJourneyCompleted","onJourneyCancelled","onJourneyBlocked","setStepEventListeners","idwiseStepCallback","EVENT_STEP_CAPTURED","EVENT_STEP_RESULT","EVENT_STEP_CANCELLED","EVENT_STEP_SKIPPED","onStepCaptured","onStepResult","onStepCancelled","onStepSkipped","setJourneyResultEventListener","idwiseJourneySummaryCallback","EVENT_JOURNEY_RESULT","EVENT_JOURNEY_RESULT_ERROR","summary","onJourneyResult","result","setJourneySummaryEventListener","EVENT_JOURNEY_SUMMARY","EVENT_JOURNEY_SUMMARY_ERROR","onJourneySummary"],"sourceRoot":"../../src","sources":["IDWiseEventListeners.js"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ import { TurboModuleRegistry } from 'react-native';
4
+ export default TurboModuleRegistry.getEnforcing('IdwiseReactNativeSdk');
5
+ //# sourceMappingURL=NativeIdwiseReactNativeSdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeIdwiseReactNativeSdk.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAmBlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,sBAAsB,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ // index.d.ts
4
+ // ===== Common Types =====
5
+ // ===== IDWise Module =====
6
+ export let IDWise;
7
+ // ===== IDWiseDynamic Module =====
8
+ export let IDWiseDynamic; // ===== IDWiseTheme =====
9
+ // ===== Default Export =====
10
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IDWise","IDWiseDynamic"],"sourceRoot":"../../src","sources":["index.d.ts"],"mappings":";;AAAA;AAEA;AA0CA;AAAA,WACiBA,MAAM;AA2BvB;AAAA,WACiBC,aAAa,EAqC9B;AAgBA","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ import { IDWise } from "./IDWise.js";
4
+ import { IDWiseTheme, ApplicantDetailsKeys } from "./IDWiseConstants.js";
5
+ import { IDWiseDynamic } from "./IDWiseDynamic.js";
6
+ export { IDWise, IDWiseTheme, IDWiseDynamic, ApplicantDetailsKeys };
7
+ export default {
8
+ IDWise,
9
+ IDWiseTheme,
10
+ IDWiseDynamic
11
+ };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IDWise","IDWiseTheme","ApplicantDetailsKeys","IDWiseDynamic"],"sourceRoot":"../../src","sources":["index.js"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,aAAU;AACjC,SAASC,WAAW,EAAEC,oBAAoB,QAAQ,sBAAmB;AACrE,SAASC,aAAa,QAAQ,oBAAiB;AAE/C,SAASH,MAAM,EAAEC,WAAW,EAAEE,aAAa,EAAED,oBAAoB;AAEjE,eAAe;EAAEF,MAAM;EAAEC,WAAW;EAAEE;AAAc,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
package/package.json CHANGED
@@ -1,15 +1,19 @@
1
1
  {
2
2
  "name": "idwise-react-native-sdk",
3
- "version": "6.8.3",
3
+ "version": "6.8.5-alpha.1",
4
4
  "description": "React-Native Wrapper for IDWise SDK",
5
5
  "main": "./lib/index.js",
6
6
  "react-native": "./src/index.js",
7
7
  "types": "./index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
- "default": "./lib/index.js",
11
- "types": "./index.d.ts"
12
- }
10
+ "types": "./index.d.ts",
11
+ "react-native": "./src/index.js",
12
+ "default": "./lib/index.js"
13
+ },
14
+ "./app.plugin": "./app.plugin.js",
15
+ "./app.plugin.js": "./app.plugin.js",
16
+ "./package.json": "./package.json"
13
17
  },
14
18
  "files": [
15
19
  "src",
@@ -20,6 +24,8 @@
20
24
  "ios",
21
25
  "cpp",
22
26
  "*.podspec",
27
+ "app.plugin.js",
28
+ "plugin",
23
29
  "react-native.config.js",
24
30
  "!ios/build",
25
31
  "!android/build",
@@ -65,6 +71,9 @@
65
71
  "publishConfig": {
66
72
  "registry": "https://registry.npmjs.org/"
67
73
  },
74
+ "dependencies": {
75
+ "@expo/config-plugins": "^57.0.0"
76
+ },
68
77
  "devDependencies": {
69
78
  "@commitlint/config-conventional": "^19.6.0",
70
79
  "@eslint/compat": "^1.2.7",
@@ -0,0 +1,18 @@
1
+ const { createRunOncePlugin, withPlugins } = require('@expo/config-plugins');
2
+
3
+ const withIdwiseAndroidMavenRepo = require('./withIdwiseAndroid');
4
+ const withIdwiseAndroidManifest = require('./withIdwiseAndroidManifest');
5
+ const withIdwiseAndroidDataBinding = require('./withIdwiseAndroidDataBinding');
6
+ const withIdwiseIosPodSource = require('./withIdwiseIos');
7
+ const pkg = require('../package.json');
8
+
9
+ function withIdwise(config) {
10
+ return withPlugins(config, [
11
+ withIdwiseAndroidMavenRepo,
12
+ withIdwiseAndroidManifest,
13
+ withIdwiseAndroidDataBinding,
14
+ withIdwiseIosPodSource,
15
+ ]);
16
+ }
17
+
18
+ module.exports = createRunOncePlugin(withIdwise, pkg.name, pkg.version);
@@ -0,0 +1,37 @@
1
+ const { withGradleProperties } = require('@expo/config-plugins');
2
+
3
+ const ANDROID_MAVEN_REPO_URL = 'https://mobile-sdk.idwise.ai/releases/';
4
+ const EXTRA_MAVEN_REPOS_KEY = 'android.extraMavenRepos';
5
+
6
+ function withIdwiseAndroidMavenRepo(config) {
7
+ return withGradleProperties(config, (config) => {
8
+ const properties = config.modResults;
9
+ const existing = properties.find(
10
+ (item) => item.type === 'property' && item.key === EXTRA_MAVEN_REPOS_KEY
11
+ );
12
+
13
+ let repos = [];
14
+ if (existing) {
15
+ try {
16
+ repos = JSON.parse(existing.value);
17
+ } catch {
18
+ repos = [];
19
+ }
20
+ }
21
+
22
+ if (!repos.some((repo) => repo.url === ANDROID_MAVEN_REPO_URL)) {
23
+ repos.push({ url: ANDROID_MAVEN_REPO_URL });
24
+ }
25
+
26
+ const value = JSON.stringify(repos);
27
+ if (existing) {
28
+ existing.value = value;
29
+ } else {
30
+ properties.push({ type: 'property', key: EXTRA_MAVEN_REPOS_KEY, value });
31
+ }
32
+
33
+ return config;
34
+ });
35
+ }
36
+
37
+ module.exports = withIdwiseAndroidMavenRepo;
@@ -0,0 +1,38 @@
1
+ const { withAppBuildGradle, CodeGenerator } = require('@expo/config-plugins');
2
+
3
+ const MERGE_TAG = 'idwise-react-native-sdk-databinding';
4
+
5
+ // The IDWise Android SDK relies on data binding for its UI layouts, so the consuming app's
6
+ // own android/app/build.gradle needs `buildFeatures { dataBinding true }` as well.
7
+ function withIdwiseAndroidDataBinding(config) {
8
+ return withAppBuildGradle(config, (config) => {
9
+ if (config.modResults.language !== 'groovy') {
10
+ return config;
11
+ }
12
+
13
+ const { contents } = config.modResults;
14
+
15
+ if (/buildFeatures\s*\{/.test(contents)) {
16
+ if (!/buildFeatures\s*\{[^}]*dataBinding/.test(contents)) {
17
+ config.modResults.contents = contents.replace(
18
+ /buildFeatures\s*\{/,
19
+ (match) => `${match}\n dataBinding true`
20
+ );
21
+ }
22
+ return config;
23
+ }
24
+
25
+ config.modResults.contents = CodeGenerator.mergeContents({
26
+ src: contents,
27
+ newSrc: ' buildFeatures {\n dataBinding true\n }',
28
+ tag: MERGE_TAG,
29
+ anchor: /^android\s*\{/,
30
+ offset: 1,
31
+ comment: '//',
32
+ }).contents;
33
+
34
+ return config;
35
+ });
36
+ }
37
+
38
+ module.exports = withIdwiseAndroidDataBinding;
@@ -0,0 +1,36 @@
1
+ const { AndroidConfig, withAndroidManifest } = require('@expo/config-plugins');
2
+
3
+ const MLKIT_DEPENDENCIES_META_DATA = 'com.google.mlkit.vision.DEPENDENCIES';
4
+
5
+ // The IDWise Android SDK declares this meta-data tag to request the MLKit modules it bundles
6
+ // (ocr, face, custom_ica). expo-dev-launcher's QR-to-connect scanner declares the same tag with
7
+ // its own module (barcode_ui). The Android manifest merger cannot reconcile two different values
8
+ // for the same tag, so we take ownership of it at the app level and union the known values.
9
+ const REQUIRED_MLKIT_MODULES = ['ocr', 'face', 'custom_ica', 'barcode_ui'];
10
+
11
+ function withIdwiseAndroidManifest(config) {
12
+ return withAndroidManifest(config, (config) => {
13
+ const androidManifest = config.modResults;
14
+ androidManifest.manifest.$['xmlns:tools'] =
15
+ androidManifest.manifest.$['xmlns:tools'] || 'http://schemas.android.com/tools';
16
+
17
+ const mainApplication = AndroidConfig.Manifest.getMainApplicationOrThrow(androidManifest);
18
+
19
+ AndroidConfig.Manifest.addMetaDataItemToMainApplication(
20
+ mainApplication,
21
+ MLKIT_DEPENDENCIES_META_DATA,
22
+ REQUIRED_MLKIT_MODULES.join(',')
23
+ );
24
+
25
+ const metaDataItem = mainApplication['meta-data'].find(
26
+ (item) => item.$['android:name'] === MLKIT_DEPENDENCIES_META_DATA
27
+ );
28
+ if (metaDataItem) {
29
+ metaDataItem.$['tools:replace'] = 'android:value';
30
+ }
31
+
32
+ return config;
33
+ });
34
+ }
35
+
36
+ module.exports = withIdwiseAndroidManifest;
@@ -0,0 +1,30 @@
1
+ const { withPodfileProperties } = require('@expo/config-plugins');
2
+
3
+ const IOS_POD_NAME = 'IDWise';
4
+ const IOS_POD_SOURCE_URL = 'https://github.com/idwise/ios-sdk';
5
+ const EXTRA_PODS_KEY = 'apple.extraPods';
6
+
7
+ function withIdwiseIosPodSource(config) {
8
+ return withPodfileProperties(config, (config) => {
9
+ const properties = config.modResults;
10
+
11
+ let pods = [];
12
+ if (properties[EXTRA_PODS_KEY]) {
13
+ try {
14
+ pods = JSON.parse(properties[EXTRA_PODS_KEY]);
15
+ } catch {
16
+ pods = [];
17
+ }
18
+ }
19
+
20
+ if (!pods.some((pod) => pod.name === IOS_POD_NAME)) {
21
+ pods.push({ name: IOS_POD_NAME, source: IOS_POD_SOURCE_URL });
22
+ }
23
+
24
+ properties[EXTRA_PODS_KEY] = JSON.stringify(pods);
25
+
26
+ return config;
27
+ });
28
+ }
29
+
30
+ module.exports = withIdwiseIosPodSource;