react-native-glance-chat 0.1.22 → 0.1.23

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.
@@ -1,6 +1,31 @@
1
1
  "use strict";
2
2
 
3
+ import { DeviceEventEmitter } from 'react-native';
3
4
  import GlanceChat from "./NativeGlanceChat.js";
5
+ // The names the native module emits under — `GlanceChatModuleImpl.EVENT_*`.
6
+ const EVENT_NAMES = {
7
+ onProductClick: 'onProductClick',
8
+ onDeeplinkClick: 'onDeeplinkClick',
9
+ onAddToCart: 'onAddToCart',
10
+ onViewCart: 'onViewCart',
11
+ onTryOnStatesChanged: 'onTryOnStatesChanged',
12
+ onSessionExpired: 'onSessionExpired'
13
+ };
14
+
15
+ // The native module delivers every event through `RCTDeviceEventEmitter`
16
+ // (`GlanceChatModuleImpl.emit`), and only there. `DeviceEventEmitter` is that same emitter,
17
+ // so this is the one place a listener can be attached.
18
+ //
19
+ // It is also the only place one *can* be: an `EventEmitter<...>` property in the codegen
20
+ // spec generates a native-side `emit<Name>()` helper and nothing else (see
21
+ // `GenerateModuleJavaSpec.js`), so the spec offers no subscribe function, and the native
22
+ // class implements no `on<Name>` methods. Calling `GlanceChat.onViewCart(listener)` as
23
+ // though it were one therefore never attached a listener — product taps and "View Cart"
24
+ // were emitted with nothing listening.
25
+ function subscribe(eventName, listener) {
26
+ return DeviceEventEmitter.addListener(eventName, listener);
27
+ }
28
+
4
29
  // Native UI components (Fabric). Each hosts the corresponding SDK Composable.
5
30
  export { default as GlanceChatOverlay } from './GlanceChatOverlayNativeComponent';
6
31
  export { default as GlanceProductTryOnWidget } from './GlanceProductTryOnWidgetNativeComponent';
@@ -53,22 +78,22 @@ export const Glance = {
53
78
  },
54
79
  // --- Event subscriptions -------------------------------------------------
55
80
  onProductClick(listener) {
56
- return GlanceChat.onProductClick(listener);
81
+ return subscribe(EVENT_NAMES.onProductClick, listener);
57
82
  },
58
83
  onDeeplinkClick(listener) {
59
- return GlanceChat.onDeeplinkClick(listener);
84
+ return subscribe(EVENT_NAMES.onDeeplinkClick, listener);
60
85
  },
61
86
  onAddToCart(listener) {
62
- return GlanceChat.onAddToCart(listener);
87
+ return subscribe(EVENT_NAMES.onAddToCart, listener);
63
88
  },
64
89
  onViewCart(listener) {
65
- return GlanceChat.onViewCart(listener);
90
+ return subscribe(EVENT_NAMES.onViewCart, listener);
66
91
  },
67
92
  onTryOnStatesChanged(listener) {
68
- return GlanceChat.onTryOnStatesChanged(listener);
93
+ return subscribe(EVENT_NAMES.onTryOnStatesChanged, listener);
69
94
  },
70
95
  onSessionExpired(listener) {
71
- return GlanceChat.onSessionExpired(listener);
96
+ return subscribe(EVENT_NAMES.onSessionExpired, listener);
72
97
  }
73
98
  };
74
99
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GlanceChat","default","GlanceChatOverlay","GlanceProductTryOnWidget","GlanceMixAndMatchWidget","GlancePdpSuggestions","GlanceEnvironment","DEVELOPMENT","UAT","PRODUCTION","Glance","initialize","partnerId","config","userId","setUser","destroy","isInitialized","isLoggedIn","setPageContext","context","metadata","clearPageContext","closeChat","openChatWithSuggestion","suggestion","handleDeepLink","uri","startOnboarding","variantId","onProductClick","listener","onDeeplinkClick","onAddToCart","onViewCart","onTryOnStatesChanged","onSessionExpired"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,UAAU,MAAM,uBAAoB;AAe3C;AACA,SAASC,OAAO,IAAIC,iBAAiB,QAAQ,oCAAoC;AACjF,SAASD,OAAO,IAAIE,wBAAwB,QAAQ,2CAA2C;AAC/F,SAASF,OAAO,IAAIG,uBAAuB,QAAQ,0CAA0C;AAC7F,SAASH,OAAO,IAAII,oBAAoB,QAAQ,uCAAuC;;AAEvF;AACA,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,WAAW,EAAE,aAAa;EAC1BC,GAAG,EAAE,KAAK;EACVC,UAAU,EAAE;AACd,CAAU;AAIV;AACA;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAG;EACpBC,UAAUA,CACRC,SAAiB,EACjBC,MAAwB,EACxBC,MAAsB,EAChB;IACNd,UAAU,CAACW,UAAU,CAACC,SAAS,EAAEC,MAAM,EAAEC,MAAM,IAAI,IAAI,CAAC;EAC1D,CAAC;EACDC,OAAOA,CAACD,MAAc,EAAQ;IAC5Bd,UAAU,CAACe,OAAO,CAACD,MAAM,CAAC;EAC5B,CAAC;EACDE,OAAOA,CAAA,EAAS;IACdhB,UAAU,CAACgB,OAAO,CAAC,CAAC;EACtB,CAAC;EACDC,aAAaA,CAAA,EAAY;IACvB,OAAOjB,UAAU,CAACiB,aAAa,CAAC,CAAC;EACnC,CAAC;EACDC,UAAUA,CAAA,EAAY;IACpB,OAAOlB,UAAU,CAACkB,UAAU,CAAC,CAAC;EAChC,CAAC;EACDC,cAAcA,CAACC,OAAe,EAAEC,QAAgC,GAAG,CAAC,CAAC,EAAQ;IAC3ErB,UAAU,CAACmB,cAAc,CAACC,OAAO,EAAEC,QAAQ,CAAC;EAC9C,CAAC;EACDC,gBAAgBA,CAAA,EAAS;IACvBtB,UAAU,CAACsB,gBAAgB,CAAC,CAAC;EAC/B,CAAC;EACDC,SAASA,CAAA,EAAS;IAChBvB,UAAU,CAACuB,SAAS,CAAC,CAAC;EACxB,CAAC;EACDC,sBAAsBA,CAACC,UAAkB,EAAQ;IAC/CzB,UAAU,CAACwB,sBAAsB,CAACC,UAAU,CAAC;EAC/C,CAAC;EACDC,cAAcA,CAACC,GAAW,EAAW;IACnC,OAAO3B,UAAU,CAAC0B,cAAc,CAACC,GAAG,CAAC;EACvC,CAAC;EACDC,eAAeA,CAACC,SAAkB,EAAQ;IACxC7B,UAAU,CAAC4B,eAAe,CAACC,SAAS,CAAC;EACvC,CAAC;EAED;EACAC,cAAcA,CAACC,QAA4C,EAAE;IAC3D,OAAO/B,UAAU,CAAC8B,cAAc,CAACC,QAAQ,CAAC;EAC5C,CAAC;EACDC,eAAeA,CAACD,QAA+B,EAAE;IAC/C,OAAO/B,UAAU,CAACgC,eAAe,CAACD,QAAQ,CAAC;EAC7C,CAAC;EACDE,WAAWA,CAACF,QAAyC,EAAE;IACrD,OAAO/B,UAAU,CAACiC,WAAW,CAACF,QAAQ,CAAC;EACzC,CAAC;EACDG,UAAUA,CAACH,QAAoB,EAAE;IAC/B,OAAO/B,UAAU,CAACkC,UAAU,CAACH,QAAQ,CAAC;EACxC,CAAC;EACDI,oBAAoBA,CAACJ,QAA2C,EAAE;IAChE,OAAO/B,UAAU,CAACmC,oBAAoB,CAACJ,QAAQ,CAAC;EAClD,CAAC;EACDK,gBAAgBA,CAACL,QAAoB,EAAE;IACrC,OAAO/B,UAAU,CAACoC,gBAAgB,CAACL,QAAQ,CAAC;EAC9C;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["DeviceEventEmitter","GlanceChat","EVENT_NAMES","onProductClick","onDeeplinkClick","onAddToCart","onViewCart","onTryOnStatesChanged","onSessionExpired","subscribe","eventName","listener","addListener","default","GlanceChatOverlay","GlanceProductTryOnWidget","GlanceMixAndMatchWidget","GlancePdpSuggestions","GlanceEnvironment","DEVELOPMENT","UAT","PRODUCTION","Glance","initialize","partnerId","config","userId","setUser","destroy","isInitialized","isLoggedIn","setPageContext","context","metadata","clearPageContext","closeChat","openChatWithSuggestion","suggestion","handleDeepLink","uri","startOnboarding","variantId"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -27,11 +27,11 @@ export declare const Glance: {
27
27
  openChatWithSuggestion(suggestion: string): void;
28
28
  handleDeepLink(uri: string): boolean;
29
29
  startOnboarding(variantId?: string): void;
30
- onProductClick(listener: (event: ProductClickEvent) => void): import("react-native").EventSubscription;
31
- onDeeplinkClick(listener: (uri: string) => void): import("react-native").EventSubscription;
32
- onAddToCart(listener: (event: AddToCartEvent) => void): import("react-native").EventSubscription;
33
- onViewCart(listener: () => void): import("react-native").EventSubscription;
34
- onTryOnStatesChanged(listener: (event: TryOnStatesEvent) => void): import("react-native").EventSubscription;
35
- onSessionExpired(listener: () => void): import("react-native").EventSubscription;
30
+ onProductClick(listener: (event: ProductClickEvent) => void): import("react-native").EmitterSubscription;
31
+ onDeeplinkClick(listener: (uri: string) => void): import("react-native").EmitterSubscription;
32
+ onAddToCart(listener: (event: AddToCartEvent) => void): import("react-native").EmitterSubscription;
33
+ onViewCart(listener: () => void): import("react-native").EmitterSubscription;
34
+ onTryOnStatesChanged(listener: (event: TryOnStatesEvent) => void): import("react-native").EmitterSubscription;
35
+ onSessionExpired(listener: () => void): import("react-native").EmitterSubscription;
36
36
  };
37
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,CAAC;AAGF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAExF,qCAAqC;AACrC,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,MAAM;0BAEJ,MAAM,UACT,gBAAgB,WACf,MAAM,GAAG,IAAI,GACrB,IAAI;oBAGS,MAAM,GAAG,IAAI;eAGlB,IAAI;qBAGE,OAAO;kBAGV,OAAO;4BAGG,MAAM,aAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAQ,IAAI;wBAGxD,IAAI;iBAGX,IAAI;uCAGkB,MAAM,GAAG,IAAI;wBAG5B,MAAM,GAAG,OAAO;gCAGR,MAAM,GAAG,IAAI;6BAKhB,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI;8BAGjC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;0BAGzB,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI;yBAGhC,MAAM,IAAI;mCAGA,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI;+BAGrC,MAAM,IAAI;CAGtC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,CAAC;AA2BF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAExF,qCAAqC;AACrC,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,MAAM;0BAEJ,MAAM,UACT,gBAAgB,WACf,MAAM,GAAG,IAAI,GACrB,IAAI;oBAGS,MAAM,GAAG,IAAI;eAGlB,IAAI;qBAGE,OAAO;kBAGV,OAAO;4BAGG,MAAM,aAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAQ,IAAI;wBAGxD,IAAI;iBAGX,IAAI;uCAGkB,MAAM,GAAG,IAAI;wBAG5B,MAAM,GAAG,OAAO;gCAGR,MAAM,GAAG,IAAI;6BAKhB,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI;8BAGjC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;0BAGzB,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI;yBAGhC,MAAM,IAAI;mCAGA,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI;+BAGrC,MAAM,IAAI;CAGtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-glance-chat",
3
- "version": "0.1.22",
3
+ "version": "0.1.23",
4
4
  "description": "React Native wrapper for the Glance Chat SDK (Android + iOS)",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
package/src/index.tsx CHANGED
@@ -1,3 +1,4 @@
1
+ import { DeviceEventEmitter } from 'react-native';
1
2
  import GlanceChat from './NativeGlanceChat';
2
3
  import type {
3
4
  AddToCartEvent,
@@ -13,6 +14,30 @@ export type {
13
14
  TryOnStatesEvent,
14
15
  };
15
16
 
17
+ // The names the native module emits under — `GlanceChatModuleImpl.EVENT_*`.
18
+ const EVENT_NAMES = {
19
+ onProductClick: 'onProductClick',
20
+ onDeeplinkClick: 'onDeeplinkClick',
21
+ onAddToCart: 'onAddToCart',
22
+ onViewCart: 'onViewCart',
23
+ onTryOnStatesChanged: 'onTryOnStatesChanged',
24
+ onSessionExpired: 'onSessionExpired',
25
+ } as const;
26
+
27
+ // The native module delivers every event through `RCTDeviceEventEmitter`
28
+ // (`GlanceChatModuleImpl.emit`), and only there. `DeviceEventEmitter` is that same emitter,
29
+ // so this is the one place a listener can be attached.
30
+ //
31
+ // It is also the only place one *can* be: an `EventEmitter<...>` property in the codegen
32
+ // spec generates a native-side `emit<Name>()` helper and nothing else (see
33
+ // `GenerateModuleJavaSpec.js`), so the spec offers no subscribe function, and the native
34
+ // class implements no `on<Name>` methods. Calling `GlanceChat.onViewCart(listener)` as
35
+ // though it were one therefore never attached a listener — product taps and "View Cart"
36
+ // were emitted with nothing listening.
37
+ function subscribe<T>(eventName: string, listener: (event: T) => void) {
38
+ return DeviceEventEmitter.addListener(eventName, listener);
39
+ }
40
+
16
41
  // Native UI components (Fabric). Each hosts the corresponding SDK Composable.
17
42
  export { default as GlanceChatOverlay } from './GlanceChatOverlayNativeComponent';
18
43
  export { default as GlanceProductTryOnWidget } from './GlanceProductTryOnWidgetNativeComponent';
@@ -73,21 +98,21 @@ export const Glance = {
73
98
 
74
99
  // --- Event subscriptions -------------------------------------------------
75
100
  onProductClick(listener: (event: ProductClickEvent) => void) {
76
- return GlanceChat.onProductClick(listener);
101
+ return subscribe(EVENT_NAMES.onProductClick, listener);
77
102
  },
78
103
  onDeeplinkClick(listener: (uri: string) => void) {
79
- return GlanceChat.onDeeplinkClick(listener);
104
+ return subscribe(EVENT_NAMES.onDeeplinkClick, listener);
80
105
  },
81
106
  onAddToCart(listener: (event: AddToCartEvent) => void) {
82
- return GlanceChat.onAddToCart(listener);
107
+ return subscribe(EVENT_NAMES.onAddToCart, listener);
83
108
  },
84
109
  onViewCart(listener: () => void) {
85
- return GlanceChat.onViewCart(listener);
110
+ return subscribe(EVENT_NAMES.onViewCart, listener as (event: void) => void);
86
111
  },
87
112
  onTryOnStatesChanged(listener: (event: TryOnStatesEvent) => void) {
88
- return GlanceChat.onTryOnStatesChanged(listener);
113
+ return subscribe(EVENT_NAMES.onTryOnStatesChanged, listener);
89
114
  },
90
115
  onSessionExpired(listener: () => void) {
91
- return GlanceChat.onSessionExpired(listener);
116
+ return subscribe(EVENT_NAMES.onSessionExpired, listener as (event: void) => void);
92
117
  },
93
118
  };