react-native-marketap-sdk 0.1.0-beta.2 → 0.1.0-beta.3

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 (41) hide show
  1. package/android/src/main/java/com/marketapsdk/MarketapSdkModule.kt +60 -3
  2. package/ios/MarketapSdk.m +9 -0
  3. package/ios/MarketapSdk.swift +46 -5
  4. package/lib/commonjs/MarketapWebBridge.js +82 -0
  5. package/lib/commonjs/MarketapWebBridge.js.map +1 -0
  6. package/lib/commonjs/NativeMarketapSdk.js.map +1 -1
  7. package/lib/commonjs/index.js +97 -31
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/types.js +5 -5
  10. package/lib/commonjs/version.js +9 -0
  11. package/lib/commonjs/version.js.map +1 -0
  12. package/lib/module/MarketapWebBridge.js +76 -0
  13. package/lib/module/MarketapWebBridge.js.map +1 -0
  14. package/lib/module/NativeMarketapSdk.js.map +1 -1
  15. package/lib/module/index.js +87 -30
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/module/types.js.map +0 -1
  18. package/lib/module/version.js +3 -0
  19. package/lib/module/version.js.map +1 -0
  20. package/lib/typescript/MarketapWebBridge.d.ts +13 -0
  21. package/lib/typescript/MarketapWebBridge.d.ts.map +1 -0
  22. package/lib/typescript/{src/NativeMarketapSdk.d.ts → NativeMarketapSdk.d.ts} +1 -0
  23. package/lib/typescript/NativeMarketapSdk.d.ts.map +1 -0
  24. package/lib/typescript/{src/index.d.ts → index.d.ts} +11 -2
  25. package/lib/typescript/index.d.ts.map +1 -0
  26. package/lib/typescript/{src/types.d.ts → types.d.ts} +1 -0
  27. package/lib/typescript/types.d.ts.map +1 -0
  28. package/lib/typescript/version.d.ts +2 -0
  29. package/lib/typescript/version.d.ts.map +1 -0
  30. package/package.json +19 -11
  31. package/lib/typescript/MarketapSDKExample/App.d.ts +0 -4
  32. package/lib/typescript/MarketapSDKExample/App.d.ts.map +0 -1
  33. package/lib/typescript/src/NativeMarketapSdk.d.ts.map +0 -1
  34. package/lib/typescript/src/index.d.ts.map +0 -1
  35. package/lib/typescript/src/types.d.ts.map +0 -1
  36. package/src/NativeMarketapSdk.js +0 -2
  37. package/src/NativeMarketapSdk.ts +0 -43
  38. package/src/index.js +0 -105
  39. package/src/index.tsx +0 -172
  40. package/src/types.js +0 -5
  41. package/src/types.ts +0 -47
@@ -17,55 +17,106 @@ const MarketapSdk = MarketapSdkModule ? MarketapSdkModule : new Proxy({}, {
17
17
  const eventEmitter = new NativeEventEmitter(MarketapSdk);
18
18
  class MarketapSDK {
19
19
  isInitialized = false;
20
+ hasSetupListeners = false;
21
+ pendingCalls = [];
22
+ initializationPromise = null;
23
+ initializedProjectId = null;
20
24
  constructor() {
21
25
  this.setupEventListeners();
22
26
  }
23
27
  setupEventListeners() {
24
- eventEmitter.addListener('MarketapClickEvent', event => {
28
+ if (this.hasSetupListeners) {
29
+ return;
30
+ }
31
+ this.hasSetupListeners = true;
32
+ this.eventListenerSubscription = eventEmitter.addListener('MarketapClickEvent', event => {
25
33
  if (this.clickHandler) {
26
34
  this.clickHandler(event);
27
35
  }
28
36
  });
29
37
  }
38
+ cleanup() {
39
+ if (this.eventListenerSubscription) {
40
+ this.eventListenerSubscription.remove();
41
+ this.eventListenerSubscription = null;
42
+ }
43
+ this.hasSetupListeners = false;
44
+ this.pendingCalls = [];
45
+ }
30
46
  async initialize(projectId) {
31
- await MarketapSdk.initialize(projectId);
32
- this.isInitialized = true;
47
+ if (this.initializationPromise) {
48
+ if (this.initializedProjectId === projectId) {
49
+ return this.initializationPromise;
50
+ } else {
51
+ console.warn(`MarketapSDK already initialized with projectId '${this.initializedProjectId}'. ` + `Ignoring re-initialization with '${projectId}'.`);
52
+ return this.initializationPromise;
53
+ }
54
+ }
55
+ this.initializedProjectId = projectId;
56
+ this.initializationPromise = this.performInitialization(projectId);
57
+ return this.initializationPromise;
58
+ }
59
+ async performInitialization(projectId) {
60
+ try {
61
+ await MarketapSdk.initialize(projectId);
62
+ this.isInitialized = true;
63
+ const callsToExecute = [...this.pendingCalls];
64
+ this.pendingCalls = [];
65
+ for (const call of callsToExecute) {
66
+ try {
67
+ await call();
68
+ } catch (error) {
69
+ console.error('Failed to execute pending SDK call:', error);
70
+ }
71
+ }
72
+ } catch (error) {
73
+ this.initializationPromise = null;
74
+ this.initializedProjectId = null;
75
+ this.isInitialized = false;
76
+ throw error;
77
+ }
78
+ }
79
+ async executeAfterInit(fn) {
80
+ if (this.isInitialized) {
81
+ return fn();
82
+ }
83
+ return new Promise((resolve, reject) => {
84
+ this.pendingCalls.push(async () => {
85
+ try {
86
+ const result = await fn();
87
+ resolve(result);
88
+ } catch (error) {
89
+ reject(error);
90
+ }
91
+ });
92
+ });
33
93
  }
34
94
  async signup(params) {
35
- this.checkInitialized();
36
- return MarketapSdk.signup(params.userId, params.userProperties, params.eventProperties, params.persistUser);
95
+ return this.executeAfterInit(() => MarketapSdk.signup(params.userId, params.userProperties, params.eventProperties, params.persistUser));
37
96
  }
38
97
  async login(params) {
39
- this.checkInitialized();
40
- return MarketapSdk.login(params.userId, params.userProperties, params.eventProperties);
98
+ return this.executeAfterInit(() => MarketapSdk.login(params.userId, params.userProperties, params.eventProperties));
41
99
  }
42
100
  async logout(eventProperties) {
43
- this.checkInitialized();
44
- return MarketapSdk.logout(eventProperties);
101
+ return this.executeAfterInit(() => MarketapSdk.logout(eventProperties));
45
102
  }
46
103
  async track(eventName, eventProperties) {
47
- this.checkInitialized();
48
- return MarketapSdk.track(eventName, eventProperties);
104
+ return this.executeAfterInit(() => MarketapSdk.track(eventName, eventProperties));
49
105
  }
50
106
  async trackPurchase(revenue, eventProperties) {
51
- this.checkInitialized();
52
- return MarketapSdk.trackPurchase(revenue, eventProperties);
107
+ return this.executeAfterInit(() => MarketapSdk.trackPurchase(revenue, eventProperties));
53
108
  }
54
109
  async trackRevenue(eventName, revenue, eventProperties) {
55
- this.checkInitialized();
56
- return MarketapSdk.trackRevenue(eventName, revenue, eventProperties);
110
+ return this.executeAfterInit(() => MarketapSdk.trackRevenue(eventName, revenue, eventProperties));
57
111
  }
58
112
  async trackPageView(eventProperties) {
59
- this.checkInitialized();
60
- return MarketapSdk.trackPageView(eventProperties);
113
+ return this.executeAfterInit(() => MarketapSdk.trackPageView(eventProperties));
61
114
  }
62
115
  async identify(userId, userProperties) {
63
- this.checkInitialized();
64
- return MarketapSdk.identify(userId, userProperties);
116
+ return this.executeAfterInit(() => MarketapSdk.identify(userId, userProperties));
65
117
  }
66
118
  async resetIdentity() {
67
- this.checkInitialized();
68
- return MarketapSdk.resetIdentity();
119
+ return this.executeAfterInit(() => MarketapSdk.resetIdentity());
69
120
  }
70
121
  async setClickHandler(handler) {
71
122
  this.clickHandler = handler;
@@ -75,20 +126,26 @@ class MarketapSDK {
75
126
  return MarketapSdk.requestAuthorizationForPushNotifications();
76
127
  }
77
128
  async setPushToken(token) {
78
- this.checkInitialized();
79
- if (Platform.OS === 'android') {
80
- console.warn('setPushToken is not needed on Android - MarketapFirebaseMessagingService handles push notifications automatically');
81
- return Promise.resolve();
82
- }
83
- return MarketapSdk.setPushToken(token);
129
+ // Fix Blocker: checkInitialized() 전면 제거 - 안전한 executeAfterInit 사용
130
+ return this.executeAfterInit(async () => {
131
+ if (Platform.OS === 'android') {
132
+ console.warn('setPushToken is not needed on Android - MarketapFirebaseMessagingService handles push notifications automatically');
133
+ return;
134
+ }
135
+ return MarketapSdk.setPushToken(token);
136
+ });
84
137
  }
85
- checkInitialized() {
86
- if (!this.isInitialized) {
87
- throw new Error('MarketapSDK must be initialized before calling this method');
138
+ async getInitialNotification() {
139
+ try {
140
+ return await MarketapSdk.getInitialNotification();
141
+ } catch (error) {
142
+ console.error('Failed to get initial notification:', error);
143
+ return null;
88
144
  }
89
145
  }
90
146
  }
91
147
  const Marketap = new MarketapSDK();
92
148
  export default Marketap;
93
149
  export * from './types';
150
+ export { default as MarketapWebBridge } from './MarketapWebBridge';
94
151
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","NativeModules","Platform","LINKING_ERROR","select","ios","default","MarketapSdkModule","MarketapSdk","Error","OS","Proxy","get","eventEmitter","MarketapSDK","isInitialized","constructor","setupEventListeners","addListener","event","clickHandler","initialize","projectId","signup","params","checkInitialized","userId","userProperties","eventProperties","persistUser","login","logout","track","eventName","trackPurchase","revenue","trackRevenue","trackPageView","identify","resetIdentity","setClickHandler","handler","requestAuthorizationForPushNotifications","setPushToken","token","console","warn","Promise","resolve","Marketap"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeEventEmitter","NativeModules","Platform","LINKING_ERROR","select","ios","default","MarketapSdkModule","MarketapSdk","Error","OS","Proxy","get","eventEmitter","MarketapSDK","isInitialized","hasSetupListeners","pendingCalls","initializationPromise","initializedProjectId","constructor","setupEventListeners","eventListenerSubscription","addListener","event","clickHandler","cleanup","remove","initialize","projectId","console","warn","performInitialization","callsToExecute","call","error","executeAfterInit","fn","Promise","resolve","reject","push","result","signup","params","userId","userProperties","eventProperties","persistUser","login","logout","track","eventName","trackPurchase","revenue","trackRevenue","trackPageView","identify","resetIdentity","setClickHandler","handler","requestAuthorizationForPushNotifications","setPushToken","token","getInitialNotification","Marketap","MarketapWebBridge"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1 @@
1
1
  {"version":3,"names":["MarketapCampaignType"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"AAMA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA","ignoreList":[]}
2
- AG,MAAM;EAClCD,oBAAoB,CAACE,cAAc,GAAG,cAAc;AACtD,CAAC,EAAEF,oBAAoB,KAAKA,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ // This file is auto-generated by scripts/generate-version.js
2
+ export const SDK_VERSION = '0.1.0-beta.3';
3
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SDK_VERSION"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":"AAAA;AACA,OAAO,MAAMA,WAAW,GAAG,cAAc","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ type InjectJavaScriptFunction = (script: string) => void;
2
+ declare class MarketapWebBridgeClass {
3
+ private injectJavaScriptFunction;
4
+ setInjectJavaScriptFunction(fn: InjectJavaScriptFunction): void;
5
+ private getInjectJavaScriptFunction;
6
+ handleMessage(message: string): void;
7
+ private handleTrack;
8
+ private handleIdentify;
9
+ private handleBridgeCheck;
10
+ }
11
+ declare const MarketapWebBridge: MarketapWebBridgeClass;
12
+ export default MarketapWebBridge;
13
+ //# sourceMappingURL=MarketapWebBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarketapWebBridge.d.ts","sourceRoot":"","sources":["../../src/MarketapWebBridge.ts"],"names":[],"mappings":"AAcA,KAAK,wBAAwB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAEzD,cAAM,sBAAsB;IAC1B,OAAO,CAAC,wBAAwB,CAAyC;IAEzE,2BAA2B,CAAC,EAAE,EAAE,wBAAwB,GAAG,IAAI;IAI/D,OAAO,CAAC,2BAA2B;IAUnC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IA2CpC,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;CAgB1B;AAED,QAAA,MAAM,iBAAiB,wBAA+B,CAAC;AAEvD,eAAe,iBAAiB,CAAC"}
@@ -13,6 +13,7 @@ export interface Spec extends TurboModule {
13
13
  setClickHandler(): Promise<void>;
14
14
  requestAuthorizationForPushNotifications(): Promise<void>;
15
15
  setPushToken(token: string): Promise<void>;
16
+ getInitialNotification(): Promise<any>;
16
17
  addListener(eventName: string): void;
17
18
  removeListeners(count: number): void;
18
19
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeMarketapSdk.d.ts","sourceRoot":"","sources":["../../src/NativeMarketapSdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CACJ,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrC,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CACH,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CACX,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,wCAAwC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,sBAAsB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAGvC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;;AAED,wBAAqE"}
@@ -1,10 +1,18 @@
1
- import type { MarketapClickHandler, MarketapSDKInterface } from './types';
1
+ import type { MarketapClickEvent, MarketapClickHandler, MarketapSDKInterface } from './types';
2
2
  declare class MarketapSDK implements MarketapSDKInterface {
3
3
  private clickHandler?;
4
4
  private isInitialized;
5
+ private hasSetupListeners;
6
+ private pendingCalls;
7
+ private initializationPromise;
8
+ private initializedProjectId;
9
+ private eventListenerSubscription?;
5
10
  constructor();
6
11
  private setupEventListeners;
12
+ cleanup(): void;
7
13
  initialize(projectId: string): Promise<void>;
14
+ private performInitialization;
15
+ private executeAfterInit;
8
16
  signup(params: {
9
17
  userId: string;
10
18
  userProperties?: Record<string, any>;
@@ -26,9 +34,10 @@ declare class MarketapSDK implements MarketapSDKInterface {
26
34
  setClickHandler(handler: MarketapClickHandler): Promise<void>;
27
35
  requestAuthorizationForPushNotifications(): Promise<void>;
28
36
  setPushToken(token: string): Promise<void>;
29
- private checkInitialized;
37
+ getInitialNotification(): Promise<MarketapClickEvent | null>;
30
38
  }
31
39
  declare const Marketap: MarketapSDK;
32
40
  export default Marketap;
33
41
  export * from './types';
42
+ export { default as MarketapWebBridge } from './MarketapWebBridge';
34
43
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAkCjB,cAAM,WAAY,YAAW,oBAAoB;IAC/C,OAAO,CAAC,YAAY,CAAC,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,yBAAyB,CAAC,CAAM;;IAMxC,OAAO,CAAC,mBAAmB;IAgBpB,OAAO,IAAI,IAAI;IAShB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAkBpC,qBAAqB;YAuBrB,gBAAgB;IAiBxB,MAAM,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWX,KAAK,CAAC,MAAM,EAAE;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACvC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUX,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAMV,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAMV,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAMV,aAAa,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnE,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;IAMV,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,wCAAwC,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa1C,sBAAsB,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;CAQnE;AAED,QAAA,MAAM,QAAQ,aAAoB,CAAC;AAEnC,eAAe,QAAQ,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -31,5 +31,6 @@ export interface MarketapSDKInterface {
31
31
  setClickHandler(handler: MarketapClickHandler): Promise<void>;
32
32
  requestAuthorizationForPushNotifications(): Promise<void>;
33
33
  setPushToken(token: string): Promise<void>;
34
+ getInitialNotification(): Promise<MarketapClickEvent | null>;
34
35
  }
35
36
  //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,oBAAoB,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;IACb,cAAc,iBAAiB;CAChC;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,MAAM,EAAE;QACb,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,KAAK,CAAC,MAAM,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACvC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CACX,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,wCAAwC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,sBAAsB,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;CAC9D"}
@@ -0,0 +1,2 @@
1
+ export declare const SDK_VERSION = "0.1.0-beta.3";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,14 +1,22 @@
1
1
  {
2
2
  "name": "react-native-marketap-sdk",
3
- "version": "0.1.0-beta.2",
3
+ "version": "0.1.0-beta.3",
4
4
  "description": "React Native SDK for Marketap",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
7
- "types": "lib/typescript/src/index.d.ts",
8
- "react-native": "src/index.tsx",
7
+ "types": "lib/typescript/index.d.ts",
8
+ "react-native": "lib/module/index.js",
9
9
  "source": "src/index.tsx",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./lib/typescript/index.d.ts",
13
+ "react-native": "./lib/module/index.js",
14
+ "import": "./lib/module/index.js",
15
+ "require": "./lib/commonjs/index.js",
16
+ "default": "./lib/module/index.js"
17
+ }
18
+ },
10
19
  "files": [
11
- "src",
12
20
  "lib",
13
21
  "android",
14
22
  "ios",
@@ -26,15 +34,18 @@
26
34
  "!**/.*"
27
35
  ],
28
36
  "scripts": {
29
- "example": "yarn workspace react-native-marketap-sdk-example",
30
- "test": "jest",
37
+ "generate:version": "node scripts/generate-version.js",
38
+ "example": "cd example && npm",
39
+ "test": "jest --passWithNoTests",
31
40
  "typecheck": "tsc --noEmit",
32
41
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
33
42
  "lint:fix": "eslint \"**/*.{js,ts,tsx}\" --fix",
34
43
  "format": "prettier --write \"**/*.{js,ts,tsx,json,md}\"",
35
44
  "format:check": "prettier --check \"**/*.{js,ts,tsx,json,md}\"",
36
45
  "clean": "del-cli android/build example/android/build example/ios/build lib",
37
- "prepare": "bob build",
46
+ "prepare": "npm run generate:version && bob build",
47
+ "build": "bob build",
48
+ "prepack": "bob build",
38
49
  "release": "release-it"
39
50
  },
40
51
  "keywords": [
@@ -89,14 +100,11 @@
89
100
  "react": "*",
90
101
  "react-native": "*"
91
102
  },
92
- "workspaces": [
93
- "example"
94
- ],
95
- "packageManager": "yarn@3.6.1",
96
103
  "jest": {
97
104
  "preset": "react-native",
98
105
  "modulePathIgnorePatterns": [
99
106
  "<rootDir>/example/node_modules",
107
+ "<rootDir>/MarketapSDKExample/",
100
108
  "<rootDir>/lib/"
101
109
  ]
102
110
  },
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- declare const App: () => React.JSX.Element;
3
- export default App;
4
- //# sourceMappingURL=App.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../MarketapSDKExample/App.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAejD,QAAA,MAAM,GAAG,yBAyVR,CAAC;AA8FF,eAAe,GAAG,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NativeMarketapSdk.d.ts","sourceRoot":"","sources":["../../../src/NativeMarketapSdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CACJ,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrC,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CACH,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CACX,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,wCAAwC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG3C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;;AAED,wBAAqE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAkCjB,cAAM,WAAY,YAAW,oBAAoB;IAC/C,OAAO,CAAC,YAAY,CAAC,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAS;;IAM9B,OAAO,CAAC,mBAAmB;IAWrB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,MAAM,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUX,KAAK,CAAC,MAAM,EAAE;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACvC,GAAG,OAAO,CAAC,IAAI,CAAC;IASX,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAKV,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAKV,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAKV,aAAa,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnE,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;IAKV,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,wCAAwC,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhD,OAAO,CAAC,gBAAgB;CAOzB;AAED,QAAA,MAAM,QAAQ,aAAoB,CAAC;AAEnC,eAAe,QAAQ,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,oBAAoB,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;IACb,cAAc,iBAAiB;CAChC;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,MAAM,EAAE;QACb,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,KAAK,CAAC,MAAM,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACvC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CACX,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,wCAAwC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C"}
@@ -1,2 +0,0 @@
1
- import { TurboModuleRegistry } from 'react-native';
2
- export default TurboModuleRegistry.getEnforcing('MarketapSdk');
@@ -1,43 +0,0 @@
1
- import type { TurboModule } from 'react-native';
2
- import { TurboModuleRegistry } from 'react-native';
3
-
4
- export interface Spec extends TurboModule {
5
- initialize(projectId: string): Promise<void>;
6
- signup(
7
- userId: string,
8
- userProperties?: Record<string, any>,
9
- eventProperties?: Record<string, any>,
10
- persistUser?: boolean
11
- ): Promise<void>;
12
- login(
13
- userId: string,
14
- userProperties?: Record<string, any>,
15
- eventProperties?: Record<string, any>
16
- ): Promise<void>;
17
- logout(eventProperties?: Record<string, any>): Promise<void>;
18
- track(
19
- eventName: string,
20
- eventProperties?: Record<string, any>
21
- ): Promise<void>;
22
- trackPurchase(
23
- revenue: number,
24
- eventProperties?: Record<string, any>
25
- ): Promise<void>;
26
- trackRevenue(
27
- eventName: string,
28
- revenue: number,
29
- eventProperties?: Record<string, any>
30
- ): Promise<void>;
31
- trackPageView(eventProperties?: Record<string, any>): Promise<void>;
32
- identify(userId: string, userProperties?: Record<string, any>): Promise<void>;
33
- resetIdentity(): Promise<void>;
34
- setClickHandler(): Promise<void>;
35
- requestAuthorizationForPushNotifications(): Promise<void>;
36
- setPushToken(token: string): Promise<void>;
37
-
38
- // Event emitter methods for React Native EventEmitter
39
- addListener(eventName: string): void;
40
- removeListeners(count: number): void;
41
- }
42
-
43
- export default TurboModuleRegistry.getEnforcing<Spec>('MarketapSdk');
package/src/index.js DELETED
@@ -1,105 +0,0 @@
1
- import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
2
- const LINKING_ERROR =
3
- `The package 'react-native-marketap-sdk' doesn't seem to be linked. Make sure: \n\n` +
4
- Platform.select({
5
- ios: "- You have run 'cd ios && pod install'\n",
6
- default: '',
7
- }) +
8
- '- You rebuilt the app after installing the package\n' +
9
- '- You are not using Expo Go\n';
10
- // @ts-expect-error
11
- const isTurboModuleEnabled = global.__turboModuleProxy != null;
12
- const MarketapSdkModule = isTurboModuleEnabled
13
- ? require('./NativeMarketapSdk').default
14
- : NativeModules.MarketapSdk;
15
- const MarketapSdk = MarketapSdkModule
16
- ? MarketapSdkModule
17
- : new Proxy(
18
- {},
19
- {
20
- get() {
21
- throw new Error(LINKING_ERROR);
22
- },
23
- }
24
- );
25
- const eventEmitter = new NativeEventEmitter(MarketapSdk);
26
- class MarketapSDK {
27
- clickHandler;
28
- isInitialized = false;
29
- constructor() {
30
- this.setupEventListeners();
31
- }
32
- setupEventListeners() {
33
- eventEmitter.addListener('MarketapClickEvent', (event) => {
34
- if (this.clickHandler) {
35
- this.clickHandler(event);
36
- }
37
- });
38
- }
39
- async initialize(projectId) {
40
- await MarketapSdk.initialize(projectId);
41
- this.isInitialized = true;
42
- }
43
- async signup(params) {
44
- this.checkInitialized();
45
- return MarketapSdk.signup(
46
- params.userId,
47
- params.userProperties,
48
- params.eventProperties,
49
- params.persistUser
50
- );
51
- }
52
- async login(params) {
53
- this.checkInitialized();
54
- return MarketapSdk.login(
55
- params.userId,
56
- params.userProperties,
57
- params.eventProperties
58
- );
59
- }
60
- async logout(eventProperties) {
61
- this.checkInitialized();
62
- return MarketapSdk.logout(eventProperties);
63
- }
64
- async track(eventName, eventProperties) {
65
- this.checkInitialized();
66
- return MarketapSdk.track(eventName, eventProperties);
67
- }
68
- async trackPurchase(revenue, eventProperties) {
69
- this.checkInitialized();
70
- return MarketapSdk.trackPurchase(revenue, eventProperties);
71
- }
72
- async trackRevenue(eventName, revenue, eventProperties) {
73
- this.checkInitialized();
74
- return MarketapSdk.trackRevenue(eventName, revenue, eventProperties);
75
- }
76
- async trackPageView(eventProperties) {
77
- this.checkInitialized();
78
- return MarketapSdk.trackPageView(eventProperties);
79
- }
80
- async identify(userId, userProperties) {
81
- this.checkInitialized();
82
- return MarketapSdk.identify(userId, userProperties);
83
- }
84
- async resetIdentity() {
85
- this.checkInitialized();
86
- return MarketapSdk.resetIdentity();
87
- }
88
- async setClickHandler(handler) {
89
- this.clickHandler = handler;
90
- return MarketapSdk.setClickHandler();
91
- }
92
- async requestAuthorizationForPushNotifications() {
93
- return MarketapSdk.requestAuthorizationForPushNotifications();
94
- }
95
- checkInitialized() {
96
- if (!this.isInitialized) {
97
- throw new Error(
98
- 'MarketapSDK must be initialized before calling this method'
99
- );
100
- }
101
- }
102
- }
103
- const Marketap = new MarketapSDK();
104
- export default Marketap;
105
- export * from './types';