react-native-firework-sdk 2.4.0-beta.1 → 2.4.0-beta.2

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 (256) hide show
  1. package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/FireworkVideoUI +0 -0
  2. package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Info.plist +0 -0
  3. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/FireworkVideoUI +0 -0
  4. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Info.plist +0 -0
  5. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/_CodeSignature/CodeResources +1 -1
  6. package/lib/commonjs/FWNavigator.js +75 -0
  7. package/lib/commonjs/FWNavigator.js.map +1 -0
  8. package/lib/commonjs/FireworkSDK.js +341 -0
  9. package/lib/commonjs/FireworkSDK.js.map +1 -0
  10. package/lib/commonjs/LiveStream.js +66 -0
  11. package/lib/commonjs/LiveStream.js.map +1 -0
  12. package/lib/commonjs/VideoShopping.js +247 -0
  13. package/lib/commonjs/VideoShopping.js.map +1 -0
  14. package/lib/commonjs/components/FWStoryBlock.js +18 -0
  15. package/lib/commonjs/components/FWStoryBlock.js.map +1 -0
  16. package/lib/commonjs/components/FWVideoFeed.js +18 -0
  17. package/lib/commonjs/components/FWVideoFeed.js.map +1 -0
  18. package/lib/commonjs/components/StoryBlock.js +357 -0
  19. package/lib/commonjs/components/StoryBlock.js.map +1 -0
  20. package/lib/commonjs/components/VideoFeed.js +416 -0
  21. package/lib/commonjs/components/VideoFeed.js.map +1 -0
  22. package/lib/commonjs/constants/FWErrorMessage.js +15 -0
  23. package/lib/commonjs/constants/FWErrorMessage.js.map +1 -0
  24. package/lib/commonjs/index.js +84 -0
  25. package/lib/commonjs/index.js.map +1 -0
  26. package/lib/commonjs/models/AdBadgeConfiguration.js +2 -0
  27. package/lib/commonjs/models/AdBadgeConfiguration.js.map +1 -0
  28. package/lib/commonjs/models/AdConfiguration.js +2 -0
  29. package/lib/commonjs/models/AdConfiguration.js.map +1 -0
  30. package/lib/commonjs/models/AndroidFontInfo.js +2 -0
  31. package/lib/commonjs/models/AndroidFontInfo.js.map +1 -0
  32. package/lib/commonjs/models/FWError.js +2 -0
  33. package/lib/commonjs/models/FWError.js.map +1 -0
  34. package/lib/commonjs/models/FWEventName.js +29 -0
  35. package/lib/commonjs/models/FWEventName.js.map +1 -0
  36. package/lib/commonjs/models/FWEvents.js +6 -0
  37. package/lib/commonjs/models/FWEvents.js.map +1 -0
  38. package/lib/commonjs/models/FeedItemDetails.js +2 -0
  39. package/lib/commonjs/models/FeedItemDetails.js.map +1 -0
  40. package/lib/commonjs/models/GradientDrawable.js +2 -0
  41. package/lib/commonjs/models/GradientDrawable.js.map +1 -0
  42. package/lib/commonjs/models/IOSFontInfo.js +2 -0
  43. package/lib/commonjs/models/IOSFontInfo.js.map +1 -0
  44. package/lib/commonjs/models/LiveStreamChatEventName.js +15 -0
  45. package/lib/commonjs/models/LiveStreamChatEventName.js.map +1 -0
  46. package/lib/commonjs/models/LiveStreamEventDetails.js +2 -0
  47. package/lib/commonjs/models/LiveStreamEventDetails.js.map +1 -0
  48. package/lib/commonjs/models/LiveStreamEventName.js +17 -0
  49. package/lib/commonjs/models/LiveStreamEventName.js.map +1 -0
  50. package/lib/commonjs/models/LiveStreamMessageDetails.js +2 -0
  51. package/lib/commonjs/models/LiveStreamMessageDetails.js.map +1 -0
  52. package/lib/commonjs/models/OpenVideoPlayerConfiguration.js +2 -0
  53. package/lib/commonjs/models/OpenVideoPlayerConfiguration.js.map +1 -0
  54. package/lib/commonjs/models/Product.js +2 -0
  55. package/lib/commonjs/models/Product.js.map +1 -0
  56. package/lib/commonjs/models/ProductInfoViewConfiguration.js +2 -0
  57. package/lib/commonjs/models/ProductInfoViewConfiguration.js.map +1 -0
  58. package/lib/commonjs/models/ProductUnit.js +2 -0
  59. package/lib/commonjs/models/ProductUnit.js.map +1 -0
  60. package/lib/commonjs/models/SDKInitOptions.js +2 -0
  61. package/lib/commonjs/models/SDKInitOptions.js.map +1 -0
  62. package/lib/commonjs/models/ShoppingCTAResult.js +2 -0
  63. package/lib/commonjs/models/ShoppingCTAResult.js.map +1 -0
  64. package/lib/commonjs/models/StoryBlockConfiguration.js +6 -0
  65. package/lib/commonjs/models/StoryBlockConfiguration.js.map +1 -0
  66. package/lib/commonjs/models/StoryBlockNativeConfiguration.js +2 -0
  67. package/lib/commonjs/models/StoryBlockNativeConfiguration.js.map +1 -0
  68. package/lib/commonjs/models/StoryBlockSource.js +2 -0
  69. package/lib/commonjs/models/StoryBlockSource.js.map +1 -0
  70. package/lib/commonjs/models/TrackPurchaseParameters.js +2 -0
  71. package/lib/commonjs/models/TrackPurchaseParameters.js.map +1 -0
  72. package/lib/commonjs/models/VideoFeedConfiguration.js +2 -0
  73. package/lib/commonjs/models/VideoFeedConfiguration.js.map +1 -0
  74. package/lib/commonjs/models/VideoFeedSource.js +2 -0
  75. package/lib/commonjs/models/VideoFeedSource.js.map +1 -0
  76. package/lib/commonjs/models/VideoPlaybackDetails.js +2 -0
  77. package/lib/commonjs/models/VideoPlaybackDetails.js.map +1 -0
  78. package/lib/commonjs/models/VideoPlaybackEventName.js +26 -0
  79. package/lib/commonjs/models/VideoPlaybackEventName.js.map +1 -0
  80. package/lib/commonjs/models/VideoPlayerCTADelay.js +2 -0
  81. package/lib/commonjs/models/VideoPlayerCTADelay.js.map +1 -0
  82. package/lib/commonjs/models/VideoPlayerCTAStyle.js +6 -0
  83. package/lib/commonjs/models/VideoPlayerCTAStyle.js.map +1 -0
  84. package/lib/commonjs/models/VideoPlayerCTAWidth.js +2 -0
  85. package/lib/commonjs/models/VideoPlayerCTAWidth.js.map +1 -0
  86. package/lib/commonjs/models/VideoPlayerCompleteAction.js +2 -0
  87. package/lib/commonjs/models/VideoPlayerCompleteAction.js.map +1 -0
  88. package/lib/commonjs/models/VideoPlayerConfiguration.js +2 -0
  89. package/lib/commonjs/models/VideoPlayerConfiguration.js.map +1 -0
  90. package/lib/commonjs/models/VideoPlayerNativeConfiguration.js +2 -0
  91. package/lib/commonjs/models/VideoPlayerNativeConfiguration.js.map +1 -0
  92. package/lib/commonjs/models/VideoPlayerStyle.js +2 -0
  93. package/lib/commonjs/models/VideoPlayerStyle.js.map +1 -0
  94. package/lib/commonjs/modules/FWNavigatorModule.js +22 -0
  95. package/lib/commonjs/modules/FWNavigatorModule.js.map +1 -0
  96. package/lib/commonjs/modules/FireworkSDKModule.js +22 -0
  97. package/lib/commonjs/modules/FireworkSDKModule.js.map +1 -0
  98. package/lib/commonjs/modules/LiveStreamModule.js +22 -0
  99. package/lib/commonjs/modules/LiveStreamModule.js.map +1 -0
  100. package/lib/commonjs/modules/ShoppingModule.js +22 -0
  101. package/lib/commonjs/modules/ShoppingModule.js.map +1 -0
  102. package/lib/commonjs/utils/FWGlobalState.js +47 -0
  103. package/lib/commonjs/utils/FWGlobalState.js.map +1 -0
  104. package/lib/commonjs/utils/FWLoggerUtil.js +45 -0
  105. package/lib/commonjs/utils/FWLoggerUtil.js.map +1 -0
  106. package/lib/module/FWNavigator.js +58 -0
  107. package/lib/module/FWNavigator.js.map +1 -0
  108. package/lib/module/FireworkSDK.js +310 -0
  109. package/lib/module/FireworkSDK.js.map +1 -0
  110. package/lib/module/LiveStream.js +53 -0
  111. package/lib/module/LiveStream.js.map +1 -0
  112. package/lib/module/VideoShopping.js +222 -0
  113. package/lib/module/VideoShopping.js.map +1 -0
  114. package/lib/module/components/FWStoryBlock.js +8 -0
  115. package/lib/module/components/FWStoryBlock.js.map +1 -0
  116. package/lib/module/components/FWVideoFeed.js +8 -0
  117. package/lib/module/components/FWVideoFeed.js.map +1 -0
  118. package/lib/module/components/StoryBlock.js +316 -0
  119. package/lib/module/components/StoryBlock.js.map +1 -0
  120. package/lib/module/components/VideoFeed.js +387 -0
  121. package/lib/module/components/VideoFeed.js.map +1 -0
  122. package/lib/module/constants/FWErrorMessage.js +7 -0
  123. package/lib/module/constants/FWErrorMessage.js.map +1 -0
  124. package/lib/module/index.js +12 -0
  125. package/lib/module/index.js.map +1 -0
  126. package/lib/module/models/AdBadgeConfiguration.js +2 -0
  127. package/lib/module/models/AdBadgeConfiguration.js.map +1 -0
  128. package/lib/module/models/AdConfiguration.js +2 -0
  129. package/lib/module/models/AdConfiguration.js.map +1 -0
  130. package/lib/module/models/AndroidFontInfo.js +2 -0
  131. package/lib/module/models/AndroidFontInfo.js.map +1 -0
  132. package/lib/module/models/FWError.js +2 -0
  133. package/lib/module/models/FWError.js.map +1 -0
  134. package/lib/module/models/FWEventName.js +22 -0
  135. package/lib/module/models/FWEventName.js.map +1 -0
  136. package/lib/module/models/FWEvents.js +2 -0
  137. package/lib/module/models/FWEvents.js.map +1 -0
  138. package/lib/module/models/FeedItemDetails.js +2 -0
  139. package/lib/module/models/FeedItemDetails.js.map +1 -0
  140. package/lib/module/models/GradientDrawable.js +2 -0
  141. package/lib/module/models/GradientDrawable.js.map +1 -0
  142. package/lib/module/models/IOSFontInfo.js +2 -0
  143. package/lib/module/models/IOSFontInfo.js.map +1 -0
  144. package/lib/module/models/LiveStreamChatEventName.js +8 -0
  145. package/lib/module/models/LiveStreamChatEventName.js.map +1 -0
  146. package/lib/module/models/LiveStreamEventDetails.js +2 -0
  147. package/lib/module/models/LiveStreamEventDetails.js.map +1 -0
  148. package/lib/module/models/LiveStreamEventName.js +10 -0
  149. package/lib/module/models/LiveStreamEventName.js.map +1 -0
  150. package/lib/module/models/LiveStreamMessageDetails.js +2 -0
  151. package/lib/module/models/LiveStreamMessageDetails.js.map +1 -0
  152. package/lib/module/models/OpenVideoPlayerConfiguration.js +2 -0
  153. package/lib/module/models/OpenVideoPlayerConfiguration.js.map +1 -0
  154. package/lib/module/models/Product.js +2 -0
  155. package/lib/module/models/Product.js.map +1 -0
  156. package/lib/module/models/ProductInfoViewConfiguration.js +2 -0
  157. package/lib/module/models/ProductInfoViewConfiguration.js.map +1 -0
  158. package/lib/module/models/ProductUnit.js +2 -0
  159. package/lib/module/models/ProductUnit.js.map +1 -0
  160. package/lib/module/models/SDKInitOptions.js +2 -0
  161. package/lib/module/models/SDKInitOptions.js.map +1 -0
  162. package/lib/module/models/ShoppingCTAResult.js +2 -0
  163. package/lib/module/models/ShoppingCTAResult.js.map +1 -0
  164. package/lib/module/models/StoryBlockConfiguration.js +2 -0
  165. package/lib/module/models/StoryBlockConfiguration.js.map +1 -0
  166. package/lib/module/models/StoryBlockNativeConfiguration.js +2 -0
  167. package/lib/module/models/StoryBlockNativeConfiguration.js.map +1 -0
  168. package/lib/module/models/StoryBlockSource.js +2 -0
  169. package/lib/module/models/StoryBlockSource.js.map +1 -0
  170. package/lib/module/models/TrackPurchaseParameters.js +2 -0
  171. package/lib/module/models/TrackPurchaseParameters.js.map +1 -0
  172. package/lib/module/models/VideoFeedConfiguration.js +2 -0
  173. package/lib/module/models/VideoFeedConfiguration.js.map +1 -0
  174. package/lib/module/models/VideoFeedSource.js +2 -0
  175. package/lib/module/models/VideoFeedSource.js.map +1 -0
  176. package/lib/module/models/VideoPlaybackDetails.js +2 -0
  177. package/lib/module/models/VideoPlaybackDetails.js.map +1 -0
  178. package/lib/module/models/VideoPlaybackEventName.js +19 -0
  179. package/lib/module/models/VideoPlaybackEventName.js.map +1 -0
  180. package/lib/module/models/VideoPlayerCTADelay.js +2 -0
  181. package/lib/module/models/VideoPlayerCTADelay.js.map +1 -0
  182. package/lib/module/models/VideoPlayerCTAStyle.js +2 -0
  183. package/lib/module/models/VideoPlayerCTAStyle.js.map +1 -0
  184. package/lib/module/models/VideoPlayerCTAWidth.js +2 -0
  185. package/lib/module/models/VideoPlayerCTAWidth.js.map +1 -0
  186. package/lib/module/models/VideoPlayerCompleteAction.js +2 -0
  187. package/lib/module/models/VideoPlayerCompleteAction.js.map +1 -0
  188. package/lib/module/models/VideoPlayerConfiguration.js +2 -0
  189. package/lib/module/models/VideoPlayerConfiguration.js.map +1 -0
  190. package/lib/module/models/VideoPlayerNativeConfiguration.js +2 -0
  191. package/lib/module/models/VideoPlayerNativeConfiguration.js.map +1 -0
  192. package/lib/module/models/VideoPlayerStyle.js +2 -0
  193. package/lib/module/models/VideoPlayerStyle.js.map +1 -0
  194. package/lib/module/modules/FWNavigatorModule.js +13 -0
  195. package/lib/module/modules/FWNavigatorModule.js.map +1 -0
  196. package/lib/module/modules/FireworkSDKModule.js +12 -0
  197. package/lib/module/modules/FireworkSDKModule.js.map +1 -0
  198. package/lib/module/modules/LiveStreamModule.js +12 -0
  199. package/lib/module/modules/LiveStreamModule.js.map +1 -0
  200. package/lib/module/modules/ShoppingModule.js +12 -0
  201. package/lib/module/modules/ShoppingModule.js.map +1 -0
  202. package/lib/module/utils/FWGlobalState.js +39 -0
  203. package/lib/module/utils/FWGlobalState.js.map +1 -0
  204. package/lib/module/utils/FWLoggerUtil.js +36 -0
  205. package/lib/module/utils/FWLoggerUtil.js.map +1 -0
  206. package/lib/typescript/FWNavigator.d.ts +26 -0
  207. package/lib/typescript/FireworkSDK.d.ts +113 -0
  208. package/lib/typescript/LiveStream.d.ts +21 -0
  209. package/lib/typescript/VideoShopping.d.ts +74 -0
  210. package/lib/typescript/components/FWStoryBlock.d.ts +2 -0
  211. package/lib/typescript/components/FWVideoFeed.d.ts +2 -0
  212. package/lib/typescript/components/StoryBlock.d.ts +73 -0
  213. package/lib/typescript/components/VideoFeed.d.ts +112 -0
  214. package/lib/typescript/constants/FWErrorMessage.d.ts +2 -0
  215. package/lib/typescript/index.d.ts +53 -0
  216. package/lib/typescript/models/AdBadgeConfiguration.d.ts +25 -0
  217. package/lib/typescript/models/AdConfiguration.d.ts +22 -0
  218. package/lib/typescript/models/AndroidFontInfo.d.ts +14 -0
  219. package/lib/typescript/models/FWError.d.ts +10 -0
  220. package/lib/typescript/models/FWEventName.d.ts +19 -0
  221. package/lib/typescript/models/FWEvents.d.ts +70 -0
  222. package/lib/typescript/models/FeedItemDetails.d.ts +54 -0
  223. package/lib/typescript/models/GradientDrawable.d.ts +5 -0
  224. package/lib/typescript/models/IOSFontInfo.d.ts +21 -0
  225. package/lib/typescript/models/LiveStreamChatEventName.d.ts +7 -0
  226. package/lib/typescript/models/LiveStreamEventDetails.d.ts +3 -0
  227. package/lib/typescript/models/LiveStreamEventName.d.ts +15 -0
  228. package/lib/typescript/models/LiveStreamMessageDetails.d.ts +14 -0
  229. package/lib/typescript/models/OpenVideoPlayerConfiguration.d.ts +7 -0
  230. package/lib/typescript/models/Product.d.ts +23 -0
  231. package/lib/typescript/models/ProductInfoViewConfiguration.d.ts +38 -0
  232. package/lib/typescript/models/ProductUnit.d.ts +38 -0
  233. package/lib/typescript/models/SDKInitOptions.d.ts +11 -0
  234. package/lib/typescript/models/ShoppingCTAResult.d.ts +11 -0
  235. package/lib/typescript/models/StoryBlockConfiguration.d.ts +37 -0
  236. package/lib/typescript/models/StoryBlockNativeConfiguration.d.ts +7 -0
  237. package/lib/typescript/models/StoryBlockSource.d.ts +1 -0
  238. package/lib/typescript/models/TrackPurchaseParameters.d.ts +26 -0
  239. package/lib/typescript/models/VideoFeedConfiguration.d.ts +133 -0
  240. package/lib/typescript/models/VideoFeedSource.d.ts +1 -0
  241. package/lib/typescript/models/VideoPlaybackDetails.d.ts +47 -0
  242. package/lib/typescript/models/VideoPlaybackEventName.d.ts +51 -0
  243. package/lib/typescript/models/VideoPlayerCTADelay.d.ts +11 -0
  244. package/lib/typescript/models/VideoPlayerCTAStyle.d.ts +27 -0
  245. package/lib/typescript/models/VideoPlayerCTAWidth.d.ts +1 -0
  246. package/lib/typescript/models/VideoPlayerCompleteAction.d.ts +1 -0
  247. package/lib/typescript/models/VideoPlayerConfiguration.d.ts +60 -0
  248. package/lib/typescript/models/VideoPlayerNativeConfiguration.d.ts +7 -0
  249. package/lib/typescript/models/VideoPlayerStyle.d.ts +1 -0
  250. package/lib/typescript/modules/FWNavigatorModule.d.ts +11 -0
  251. package/lib/typescript/modules/FireworkSDKModule.d.ts +19 -0
  252. package/lib/typescript/modules/LiveStreamModule.d.ts +8 -0
  253. package/lib/typescript/modules/ShoppingModule.d.ts +18 -0
  254. package/lib/typescript/utils/FWGlobalState.d.ts +10 -0
  255. package/lib/typescript/utils/FWLoggerUtil.d.ts +6 -0
  256. package/package.json +1 -1
@@ -14,7 +14,7 @@
14
14
  </data>
15
15
  <key>Info.plist</key>
16
16
  <data>
17
- NXyBm5qd++QngDkkF/+SblHG/Uo=
17
+ O9ZYW5rn6k1d30mu7kIIf0Lha38=
18
18
  </data>
19
19
  <key>Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
20
20
  <data>
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _FWEventName = require("./models/FWEventName");
9
+
10
+ var _FWNavigatorModule = _interopRequireWildcard(require("./modules/FWNavigatorModule"));
11
+
12
+ var _FWLoggerUtil = _interopRequireDefault(require("./utils/FWLoggerUtil"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
20
+ 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; }
21
+
22
+ /**
23
+ * You can use this class for pushing RN page from the native page.
24
+ */
25
+ class FWNavigator {
26
+ static getInstance() {
27
+ if (!FWNavigator._instance) {
28
+ FWNavigator._instance = new FWNavigator();
29
+ }
30
+
31
+ return FWNavigator._instance;
32
+ }
33
+
34
+ constructor() {
35
+ _FWLoggerUtil.default.log('FWNavigator constructor');
36
+
37
+ _FWNavigatorModule.FWNavigatorModuleEventEmitter.addListener(_FWEventName.FWEventName.LogMessage, () => {});
38
+ }
39
+ /**
40
+ * Pop the native container. You could use the method to close the fullscreen player.
41
+ * But if the enablePictureInPicture of the associated video feed is true,
42
+ * we can't close the fullscreen player.
43
+ * @returns {Promise<boolean>} The result of popping the native container.
44
+ */
45
+
46
+
47
+ popNativeContainer() {
48
+ return _FWNavigatorModule.default.popNativeContainer();
49
+ }
50
+ /**
51
+ * Change current fullscreen player to floating player.
52
+ * @returns {Promise<boolean>} If the result is true, it means that the fullscreen
53
+ * player is changed to floating player.
54
+ */
55
+
56
+
57
+ async startFloatingPlayer() {
58
+ return _FWNavigatorModule.default.startFloatingPlayer();
59
+ }
60
+ /**
61
+ * Stop current floating player.
62
+ */
63
+
64
+
65
+ async stopFloatingPlayer() {
66
+ await _FWNavigatorModule.default.stopFloatingPlayer();
67
+ }
68
+
69
+ }
70
+
71
+ _defineProperty(FWNavigator, "_instance", void 0);
72
+
73
+ var _default = FWNavigator;
74
+ exports.default = _default;
75
+ //# sourceMappingURL=FWNavigator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FWNavigator.ts"],"names":["FWNavigator","getInstance","_instance","constructor","FWLoggerUtil","log","FWNavigatorModuleEventEmitter","addListener","FWEventName","LogMessage","popNativeContainer","FWNavigatorModule","startFloatingPlayer","stopFloatingPlayer"],"mappings":";;;;;;;AAAA;;AACA;;AAGA;;;;;;;;;;AAEA;AACA;AACA;AACA,MAAMA,WAAN,CAAkB;AAGS,SAAXC,WAAW,GAAgB;AACvC,QAAI,CAACD,WAAW,CAACE,SAAjB,EAA4B;AAC1BF,MAAAA,WAAW,CAACE,SAAZ,GAAwB,IAAIF,WAAJ,EAAxB;AACD;;AACD,WAAOA,WAAW,CAACE,SAAnB;AACD;;AAEOC,EAAAA,WAAW,GAAG;AACpBC,0BAAaC,GAAb,CAAiB,yBAAjB;;AACAC,qDAA8BC,WAA9B,CAA0CC,yBAAYC,UAAtD,EAAkE,MAAM,CAAE,CAA1E;AACD;AAED;AACF;AACA;AACA;AACA;AACA;;;AACSC,EAAAA,kBAAkB,GAAqB;AAC5C,WAAOC,2BAAkBD,kBAAlB,EAAP;AACD;AAED;AACF;AACA;AACA;AACA;;;AACkC,QAAnBE,mBAAmB,GAAqB;AACnD,WAAOD,2BAAkBC,mBAAlB,EAAP;AACD;AAED;AACF;AACA;;;AACiC,QAAlBC,kBAAkB,GAAkB;AAC/C,UAAMF,2BAAkBE,kBAAlB,EAAN;AACD;;AAvCe;;gBAAZb,W;;eA0CSA,W","sourcesContent":["import { FWEventName } from './models/FWEventName';\nimport FWNavigatorModule, {\n FWNavigatorModuleEventEmitter,\n} from './modules/FWNavigatorModule';\nimport FWLoggerUtil from './utils/FWLoggerUtil';\n\n/**\n * You can use this class for pushing RN page from the native page.\n */\nclass FWNavigator {\n private static _instance?: FWNavigator;\n\n public static getInstance(): FWNavigator {\n if (!FWNavigator._instance) {\n FWNavigator._instance = new FWNavigator();\n }\n return FWNavigator._instance!;\n }\n\n private constructor() {\n FWLoggerUtil.log('FWNavigator constructor');\n FWNavigatorModuleEventEmitter.addListener(FWEventName.LogMessage, () => {});\n }\n\n /**\n * Pop the native container. You could use the method to close the fullscreen player.\n * But if the enablePictureInPicture of the associated video feed is true,\n * we can't close the fullscreen player.\n * @returns {Promise<boolean>} The result of popping the native container.\n */\n public popNativeContainer(): Promise<boolean> {\n return FWNavigatorModule.popNativeContainer();\n }\n\n /**\n * Change current fullscreen player to floating player.\n * @returns {Promise<boolean>} If the result is true, it means that the fullscreen\n * player is changed to floating player.\n */\n public async startFloatingPlayer(): Promise<boolean> {\n return FWNavigatorModule.startFloatingPlayer();\n }\n\n /**\n * Stop current floating player.\n */\n public async stopFloatingPlayer(): Promise<void> {\n await FWNavigatorModule.stopFloatingPlayer();\n }\n}\n\nexport default FWNavigator;\n"]}
@@ -0,0 +1,341 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ var _FWNavigator = _interopRequireDefault(require("./FWNavigator"));
11
+
12
+ var _LiveStream = _interopRequireDefault(require("./LiveStream"));
13
+
14
+ var _FWEventName = require("./models/FWEventName");
15
+
16
+ var _FireworkSDKModule = _interopRequireWildcard(require("./modules/FireworkSDKModule"));
17
+
18
+ var _LiveStreamModule = _interopRequireDefault(require("./modules/LiveStreamModule"));
19
+
20
+ var _ShoppingModule = _interopRequireDefault(require("./modules/ShoppingModule"));
21
+
22
+ var _FWLoggerUtil = _interopRequireDefault(require("./utils/FWLoggerUtil"));
23
+
24
+ var _VideoShopping = _interopRequireDefault(require("./VideoShopping"));
25
+
26
+ var _FWGlobalState = _interopRequireDefault(require("./utils/FWGlobalState"));
27
+
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
32
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
+
34
+ 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; }
35
+
36
+ /**
37
+ * Firework SDK.
38
+ */
39
+ class FireworkSDK {
40
+ /**
41
+ * The callback of SDK initialization.
42
+ */
43
+
44
+ /**
45
+ * the callback of clicking Video Feed.
46
+ */
47
+
48
+ /**
49
+ * The callback of clicking custom CTA.
50
+ */
51
+ get onCustomCTAClick() {
52
+ return this._onCustomCTAClick;
53
+ }
54
+
55
+ set onCustomCTAClick(value) {
56
+ _FWLoggerUtil.default.log(`Set onCustomCTAClick callback ${!!value}`);
57
+
58
+ this._onCustomCTAClick = value;
59
+
60
+ _FireworkSDKModule.default.setCustomCTAClickEnabled(value ? true : false);
61
+ }
62
+
63
+ /**
64
+ * The callback of video playback.
65
+ */
66
+ get onVideoPlayback() {
67
+ return this._onVideoPlayback;
68
+ }
69
+
70
+ set onVideoPlayback(value) {
71
+ this._onVideoPlayback = value;
72
+
73
+ _FireworkSDKModule.default.setVideoPlaybackEventEnabled(value ? true : false);
74
+ }
75
+
76
+ /**
77
+ * The global share base URL of the video.
78
+ * The {@link VideoPlayerConfiguration.shareBaseURL} in {@link VideoPlayerConfiguration} will override this.
79
+ */
80
+ get shareBaseURL() {
81
+ return this._shareBaseURL;
82
+ }
83
+
84
+ set shareBaseURL(value) {
85
+ this.updateInternalShareBaseURL(value);
86
+
87
+ _FireworkSDKModule.default.setShareBaseURL(value !== null && value !== void 0 ? value : '');
88
+ }
89
+
90
+ /**
91
+ * The configuration for ad badges.
92
+ */
93
+ get adBadgeConfiguration() {
94
+ return this._adBadgeConfiguration;
95
+ }
96
+
97
+ set adBadgeConfiguration(value) {
98
+ var _this$_adBadgeConfigu, _this$_adBadgeConfigu2, _this$_adBadgeConfigu3, _this$_adBadgeConfigu4, _this$_adBadgeConfigu5, _value$androidFontInf, _this$_adBadgeConfigu6, _this$_adBadgeConfigu7, _value$androidFontInf2;
99
+
100
+ const valueHasChanged = ((_this$_adBadgeConfigu = this._adBadgeConfiguration) === null || _this$_adBadgeConfigu === void 0 ? void 0 : _this$_adBadgeConfigu.badgeTextType) !== (value === null || value === void 0 ? void 0 : value.badgeTextType) || ((_this$_adBadgeConfigu2 = this._adBadgeConfiguration) === null || _this$_adBadgeConfigu2 === void 0 ? void 0 : _this$_adBadgeConfigu2.backgroundColor) !== (value === null || value === void 0 ? void 0 : value.backgroundColor) || ((_this$_adBadgeConfigu3 = this._adBadgeConfiguration) === null || _this$_adBadgeConfigu3 === void 0 ? void 0 : _this$_adBadgeConfigu3.textColor) !== (value === null || value === void 0 ? void 0 : value.textColor) || ((_this$_adBadgeConfigu4 = this._adBadgeConfiguration) === null || _this$_adBadgeConfigu4 === void 0 ? void 0 : (_this$_adBadgeConfigu5 = _this$_adBadgeConfigu4.androidFontInfo) === null || _this$_adBadgeConfigu5 === void 0 ? void 0 : _this$_adBadgeConfigu5.isCustom) !== (value === null || value === void 0 ? void 0 : (_value$androidFontInf = value.androidFontInfo) === null || _value$androidFontInf === void 0 ? void 0 : _value$androidFontInf.isCustom) || ((_this$_adBadgeConfigu6 = this._adBadgeConfiguration) === null || _this$_adBadgeConfigu6 === void 0 ? void 0 : (_this$_adBadgeConfigu7 = _this$_adBadgeConfigu6.androidFontInfo) === null || _this$_adBadgeConfigu7 === void 0 ? void 0 : _this$_adBadgeConfigu7.typefaceName) !== (value === null || value === void 0 ? void 0 : (_value$androidFontInf2 = value.androidFontInfo) === null || _value$androidFontInf2 === void 0 ? void 0 : _value$androidFontInf2.typefaceName);
101
+ this._adBadgeConfiguration = value;
102
+
103
+ if (valueHasChanged) {
104
+ this.eventEmitter.emit(_FWEventName.FWEventName.AdBadgeConfigurationUpdated);
105
+ }
106
+
107
+ _FireworkSDKModule.default.setAdBadgeConfiguration(value !== null && value !== void 0 ? value : {});
108
+ }
109
+
110
+ get appLanguage() {
111
+ return this._appLanguage;
112
+ }
113
+
114
+ /**
115
+ * Defaults to false.
116
+ * You can enable debug logs by setting this property to true.
117
+ */
118
+ get debugLogsEnabled() {
119
+ return _FWLoggerUtil.default.enabled;
120
+ }
121
+
122
+ set debugLogsEnabled(value) {
123
+ _FWLoggerUtil.default.enabled = value;
124
+ }
125
+ /**
126
+ * Get video launch behavior.
127
+ */
128
+
129
+
130
+ get videoLaunchBehavior() {
131
+ return this._videoLaunchBehavior;
132
+ }
133
+
134
+ get eventEmitter() {
135
+ return _FireworkSDKModule.FireworkSDKModuleEventEmitter;
136
+ }
137
+ /**
138
+ * Get VideoShopping object.
139
+ */
140
+
141
+
142
+ get shopping() {
143
+ return this._shopping;
144
+ }
145
+
146
+ /**
147
+ * Get LiveStream object.
148
+ */
149
+ get liveStream() {
150
+ return this._liveStream;
151
+ }
152
+
153
+ /**
154
+ * Get FWNavigator object.
155
+ */
156
+ get navigator() {
157
+ return this._navigator;
158
+ }
159
+
160
+ /**
161
+ * Get global single instance of FireworkSDK class.
162
+ * @returns FireworkSDK
163
+ */
164
+ static getInstance() {
165
+ if (!FireworkSDK._instance) {
166
+ FireworkSDK._instance = new FireworkSDK();
167
+ }
168
+
169
+ return FireworkSDK._instance;
170
+ }
171
+
172
+ constructor() {
173
+ _defineProperty(this, "onSDKInit", void 0);
174
+
175
+ _defineProperty(this, "onVideoFeedClick", void 0);
176
+
177
+ _defineProperty(this, "_onCustomCTAClick", void 0);
178
+
179
+ _defineProperty(this, "_onVideoPlayback", void 0);
180
+
181
+ _defineProperty(this, "_shareBaseURL", void 0);
182
+
183
+ _defineProperty(this, "_adBadgeConfiguration", void 0);
184
+
185
+ _defineProperty(this, "_appLanguage", void 0);
186
+
187
+ _defineProperty(this, "_videoLaunchBehavior", void 0);
188
+
189
+ _defineProperty(this, "_shopping", _VideoShopping.default.getInstance());
190
+
191
+ _defineProperty(this, "_liveStream", _LiveStream.default.getInstance());
192
+
193
+ _defineProperty(this, "_navigator", _FWNavigator.default.getInstance());
194
+
195
+ _FWLoggerUtil.default.log('FireworkSDK constructor');
196
+
197
+ this.eventEmitter.addListener(_FWEventName.FWEventName.SDKInit, event => {
198
+ _FWLoggerUtil.default.log(`Receive SDKInit event ${event === null || event === void 0 ? void 0 : event.error}`);
199
+
200
+ if (this.onSDKInit) {
201
+ this.onSDKInit(event !== null && event !== void 0 ? event : {});
202
+ }
203
+ });
204
+ this.eventEmitter.addListener(_FWEventName.FWEventName.LogMessage, event => {
205
+ _FWLoggerUtil.default.logNativeMessage(event.message);
206
+ });
207
+ this.eventEmitter.addListener(_FWEventName.FWEventName.CustomCTAClick, event => {
208
+ _FWLoggerUtil.default.log(`Receive CustomCTAClick url: ${event === null || event === void 0 ? void 0 : event.url}`);
209
+
210
+ if (this.onCustomCTAClick) {
211
+ this.onCustomCTAClick(event !== null && event !== void 0 ? event : {});
212
+ }
213
+ });
214
+ this.eventEmitter.addListener(_FWEventName.FWEventName.VideoPlayback, event => {
215
+ _FWLoggerUtil.default.log(`Receive VideoPlayback event eventName: ${event === null || event === void 0 ? void 0 : event.eventName}`);
216
+
217
+ if (this.onVideoPlayback) {
218
+ this.onVideoPlayback(event !== null && event !== void 0 ? event : {});
219
+ }
220
+ });
221
+ this.eventEmitter.addListener(_FWEventName.FWEventName.VideoFeedClick, event => {
222
+ _FWLoggerUtil.default.log(`Receive VideoFeedClick event id: ${event === null || event === void 0 ? void 0 : event.info.id}`);
223
+
224
+ if (this.onVideoFeedClick) {
225
+ this.onVideoFeedClick(event !== null && event !== void 0 ? event : {});
226
+ }
227
+ });
228
+
229
+ if (_reactNative.Platform.OS === 'ios') {
230
+ this.eventEmitter.addListener(_FWEventName.FWEventName.NativeAppLanguageUpdated, event => {
231
+ _FWLoggerUtil.default.log(`Receive NativeAppLanguageUpdated event appLanguage: ${event.appLanguage}`);
232
+
233
+ const language = event.appLanguage;
234
+ this.updateInternalAppLanguage(language);
235
+ });
236
+ }
237
+ }
238
+ /**
239
+ * Initializes Firework SDK.
240
+ * @param {SDKInitOptions?} options
241
+ */
242
+
243
+
244
+ async init(options) {
245
+ _FWLoggerUtil.default.log('Call FireworkSDK init method');
246
+
247
+ const videoLaunchBehaviorUpdated = this._videoLaunchBehavior !== (options === null || options === void 0 ? void 0 : options.videoLaunchBehavior);
248
+ this._videoLaunchBehavior = options === null || options === void 0 ? void 0 : options.videoLaunchBehavior;
249
+
250
+ if (videoLaunchBehaviorUpdated) {
251
+ this.eventEmitter.emit(_FWEventName.FWEventName.VideoLaunchBehaviorUpdated);
252
+ }
253
+
254
+ await _FireworkSDKModule.default.init(options);
255
+ await _ShoppingModule.default.init();
256
+ await _LiveStreamModule.default.init();
257
+
258
+ _FWGlobalState.default.getInstance().resolveSdkInitCalled();
259
+ }
260
+ /**
261
+ * Open Video URL.
262
+ * @param {string} url
263
+ * @param {VideoPlayerConfiguration} config
264
+ */
265
+
266
+
267
+ async openVideoPlayer(url, config) {
268
+ if (!_FWGlobalState.default.getInstance().sdkInitCalled) {
269
+ await _FWGlobalState.default.getInstance().sdkInitCalledPromise;
270
+ }
271
+
272
+ _FireworkSDKModule.default.openVideoPlayer(url, config !== null && config !== void 0 ? config : {});
273
+ }
274
+ /**
275
+ * Records the user purchase. Only supported on iOS.
276
+ * @param {TrackPurchaseParameters} parameters
277
+ */
278
+
279
+
280
+ async trackPurchase(parameters) {
281
+ if (_reactNative.Platform.OS === 'ios') {
282
+ if (!_FWGlobalState.default.getInstance().sdkInitCalled) {
283
+ await _FWGlobalState.default.getInstance().sdkInitCalledPromise;
284
+ }
285
+
286
+ _FireworkSDKModule.default.trackPurchase(parameters);
287
+ }
288
+ }
289
+ /**
290
+ * Change App level language.
291
+ * @param {string | undefined | null} language Such as en, ar and en-US
292
+ * If language is null or undefined or empty string, SDK will use system language.
293
+ * @returns {Promise<boolean>} The result of changing app language.
294
+ */
295
+
296
+
297
+ async changeAppLanguage(language) {
298
+ if (!_FWGlobalState.default.getInstance().sdkInitCalled) {
299
+ await _FWGlobalState.default.getInstance().sdkInitCalledPromise;
300
+ }
301
+
302
+ const result = await _FireworkSDKModule.default.changeAppLanguage(language);
303
+
304
+ if (result) {
305
+ const languageChanged = this._appLanguage !== language;
306
+
307
+ if (_reactNative.Platform.OS === 'ios' && languageChanged) {
308
+ await this.navigator.stopFloatingPlayer();
309
+ }
310
+
311
+ this.updateInternalAppLanguage(language);
312
+ }
313
+
314
+ return result;
315
+ }
316
+
317
+ updateInternalAppLanguage(language) {
318
+ const valueHasChanged = this._appLanguage !== language;
319
+ this._appLanguage = language;
320
+
321
+ if (valueHasChanged) {
322
+ this.eventEmitter.emit(_FWEventName.FWEventName.AppLanguageUpdated);
323
+ }
324
+ }
325
+
326
+ updateInternalShareBaseURL(shareBaseURL) {
327
+ const shareBaseURLChanged = this._shareBaseURL !== shareBaseURL;
328
+ this._shareBaseURL = shareBaseURL;
329
+
330
+ if (shareBaseURLChanged) {
331
+ this.eventEmitter.emit(_FWEventName.FWEventName.ShareBaseURLUpdated);
332
+ }
333
+ }
334
+
335
+ }
336
+
337
+ _defineProperty(FireworkSDK, "_instance", void 0);
338
+
339
+ var _default = FireworkSDK;
340
+ exports.default = _default;
341
+ //# sourceMappingURL=FireworkSDK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FireworkSDK.ts"],"names":["FireworkSDK","onCustomCTAClick","_onCustomCTAClick","value","FWLoggerUtil","log","FireworkSDKModule","setCustomCTAClickEnabled","onVideoPlayback","_onVideoPlayback","setVideoPlaybackEventEnabled","shareBaseURL","_shareBaseURL","updateInternalShareBaseURL","setShareBaseURL","adBadgeConfiguration","_adBadgeConfiguration","valueHasChanged","badgeTextType","backgroundColor","textColor","androidFontInfo","isCustom","typefaceName","eventEmitter","emit","FWEventName","AdBadgeConfigurationUpdated","setAdBadgeConfiguration","appLanguage","_appLanguage","debugLogsEnabled","enabled","videoLaunchBehavior","_videoLaunchBehavior","FireworkSDKModuleEventEmitter","shopping","_shopping","liveStream","_liveStream","navigator","_navigator","getInstance","_instance","constructor","VideoShopping","LiveStream","FWNavigator","addListener","SDKInit","event","error","onSDKInit","LogMessage","logNativeMessage","message","CustomCTAClick","url","VideoPlayback","eventName","VideoFeedClick","info","id","onVideoFeedClick","Platform","OS","NativeAppLanguageUpdated","language","updateInternalAppLanguage","init","options","videoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","ShoppingModule","LiveStreamModule","FWGlobalState","resolveSdkInitCalled","openVideoPlayer","config","sdkInitCalled","sdkInitCalledPromise","trackPurchase","parameters","changeAppLanguage","result","languageChanged","stopFloatingPlayer","AppLanguageUpdated","shareBaseURLChanged","ShareBaseURLUpdated"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, Platform } from 'react-native';\n\nimport FWNavigator from './FWNavigator';\nimport LiveStream from './LiveStream';\nimport type AdBadgeConfiguration from './models/AdBadgeConfiguration';\nimport { FWEventName } from './models/FWEventName';\nimport type {\n CustomCTAClickEvent,\n SDKInitEvent,\n VideoFeedClickEvent,\n VideoPlaybackEvent,\n} from './models/FWEvents';\nimport type SDKInitOptions from './models/SDKInitOptions';\nimport type { VideoLaunchBehavior } from './models/SDKInitOptions';\nimport type TrackPurchaseParameters from './models/TrackPurchaseParameters';\nimport FireworkSDKModule, {\n FireworkSDKModuleEventEmitter,\n} from './modules/FireworkSDKModule';\nimport LiveStreamModule from './modules/LiveStreamModule';\nimport ShoppingModule from './modules/ShoppingModule';\nimport FWLoggerUtil from './utils/FWLoggerUtil';\nimport VideoShopping from './VideoShopping';\nimport FWGlobalState from './utils/FWGlobalState';\nimport type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\n\nexport type SDKInitCallback = (event: SDKInitEvent) => Promise<void> | void;\nexport type CustomCTAClickCallback = (\n event: CustomCTAClickEvent\n) => Promise<void> | void;\nexport type VideoPlaybackCallback = (\n event: VideoPlaybackEvent\n) => Promise<void> | void;\nexport type VideoFeedClickCallback = (\n event: VideoFeedClickEvent\n) => Promise<void> | void;\n\n/**\n * Firework SDK.\n */\nclass FireworkSDK {\n private static _instance?: FireworkSDK;\n\n /**\n * The callback of SDK initialization.\n */\n public onSDKInit?: SDKInitCallback;\n\n /**\n * the callback of clicking Video Feed.\n */\n public onVideoFeedClick?: VideoFeedClickCallback;\n\n /**\n * The callback of clicking custom CTA.\n */\n public get onCustomCTAClick(): CustomCTAClickCallback | undefined {\n return this._onCustomCTAClick;\n }\n public set onCustomCTAClick(value: CustomCTAClickCallback | undefined) {\n FWLoggerUtil.log(`Set onCustomCTAClick callback ${!!value}`);\n this._onCustomCTAClick = value;\n FireworkSDKModule.setCustomCTAClickEnabled(value ? true : false);\n }\n private _onCustomCTAClick: CustomCTAClickCallback | undefined;\n\n /**\n * The callback of video playback.\n */\n public get onVideoPlayback(): VideoPlaybackCallback | undefined {\n return this._onVideoPlayback;\n }\n public set onVideoPlayback(value: VideoPlaybackCallback | undefined) {\n this._onVideoPlayback = value;\n FireworkSDKModule.setVideoPlaybackEventEnabled(value ? true : false);\n }\n private _onVideoPlayback?: VideoPlaybackCallback | undefined;\n\n /**\n * The global share base URL of the video.\n * The {@link VideoPlayerConfiguration.shareBaseURL} in {@link VideoPlayerConfiguration} will override this.\n */\n public get shareBaseURL(): string | undefined {\n return this._shareBaseURL;\n }\n public set shareBaseURL(value: string | undefined) {\n this.updateInternalShareBaseURL(value);\n FireworkSDKModule.setShareBaseURL(value ?? '');\n }\n private _shareBaseURL: string | undefined;\n\n /**\n * The configuration for ad badges.\n */\n public get adBadgeConfiguration(): AdBadgeConfiguration | undefined {\n return this._adBadgeConfiguration;\n }\n public set adBadgeConfiguration(value: AdBadgeConfiguration | undefined) {\n const valueHasChanged =\n this._adBadgeConfiguration?.badgeTextType !== value?.badgeTextType ||\n this._adBadgeConfiguration?.backgroundColor !== value?.backgroundColor ||\n this._adBadgeConfiguration?.textColor !== value?.textColor ||\n this._adBadgeConfiguration?.androidFontInfo?.isCustom !==\n value?.androidFontInfo?.isCustom ||\n this._adBadgeConfiguration?.androidFontInfo?.typefaceName !==\n value?.androidFontInfo?.typefaceName;\n this._adBadgeConfiguration = value;\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AdBadgeConfigurationUpdated);\n }\n FireworkSDKModule.setAdBadgeConfiguration(value ?? {});\n }\n private _adBadgeConfiguration: AdBadgeConfiguration | undefined;\n\n public get appLanguage(): string | undefined | null {\n return this._appLanguage;\n }\n private _appLanguage: string | undefined | null;\n\n /**\n * Defaults to false.\n * You can enable debug logs by setting this property to true.\n */\n public get debugLogsEnabled(): boolean {\n return FWLoggerUtil.enabled;\n }\n public set debugLogsEnabled(value: boolean) {\n FWLoggerUtil.enabled = value;\n }\n\n /**\n * Get video launch behavior.\n */\n public get videoLaunchBehavior(): VideoLaunchBehavior | undefined {\n return this._videoLaunchBehavior;\n }\n private _videoLaunchBehavior: VideoLaunchBehavior | undefined;\n\n private get eventEmitter(): NativeEventEmitter {\n return FireworkSDKModuleEventEmitter;\n }\n\n /**\n * Get VideoShopping object.\n */\n public get shopping(): VideoShopping {\n return this._shopping;\n }\n private _shopping: VideoShopping = VideoShopping.getInstance();\n\n /**\n * Get LiveStream object.\n */\n public get liveStream(): LiveStream {\n return this._liveStream;\n }\n private _liveStream: LiveStream = LiveStream.getInstance();\n\n /**\n * Get FWNavigator object.\n */\n public get navigator(): FWNavigator {\n return this._navigator;\n }\n private _navigator: FWNavigator = FWNavigator.getInstance();\n\n /**\n * Get global single instance of FireworkSDK class.\n * @returns FireworkSDK\n */\n public static getInstance() {\n if (!FireworkSDK._instance) {\n FireworkSDK._instance = new FireworkSDK();\n }\n\n return FireworkSDK._instance!;\n }\n\n private constructor() {\n FWLoggerUtil.log('FireworkSDK constructor');\n\n this.eventEmitter.addListener(FWEventName.SDKInit, (event) => {\n FWLoggerUtil.log(`Receive SDKInit event ${event?.error}`);\n\n if (this.onSDKInit) {\n this.onSDKInit(event ?? {});\n }\n });\n\n this.eventEmitter.addListener(FWEventName.LogMessage, (event) => {\n FWLoggerUtil.logNativeMessage(event.message);\n });\n\n this.eventEmitter.addListener(FWEventName.CustomCTAClick, (event) => {\n FWLoggerUtil.log(`Receive CustomCTAClick url: ${event?.url}`);\n\n if (this.onCustomCTAClick) {\n this.onCustomCTAClick(event ?? {});\n }\n });\n\n this.eventEmitter.addListener(FWEventName.VideoPlayback, (event) => {\n FWLoggerUtil.log(\n `Receive VideoPlayback event eventName: ${event?.eventName}`\n );\n\n if (this.onVideoPlayback) {\n this.onVideoPlayback(event ?? {});\n }\n });\n\n this.eventEmitter.addListener(FWEventName.VideoFeedClick, (event) => {\n FWLoggerUtil.log(`Receive VideoFeedClick event id: ${event?.info.id}`);\n\n if (this.onVideoFeedClick) {\n this.onVideoFeedClick(event ?? {});\n }\n });\n\n if (Platform.OS === 'ios') {\n this.eventEmitter.addListener(\n FWEventName.NativeAppLanguageUpdated,\n (event) => {\n FWLoggerUtil.log(\n `Receive NativeAppLanguageUpdated event appLanguage: ${event.appLanguage}`\n );\n const language = event.appLanguage;\n this.updateInternalAppLanguage(language);\n }\n );\n }\n }\n\n /**\n * Initializes Firework SDK.\n * @param {SDKInitOptions?} options\n */\n public async init(options?: SDKInitOptions): Promise<void> {\n FWLoggerUtil.log('Call FireworkSDK init method');\n const videoLaunchBehaviorUpdated =\n this._videoLaunchBehavior !== options?.videoLaunchBehavior;\n this._videoLaunchBehavior = options?.videoLaunchBehavior;\n if (videoLaunchBehaviorUpdated) {\n this.eventEmitter.emit(FWEventName.VideoLaunchBehaviorUpdated);\n }\n await FireworkSDKModule.init(options);\n await ShoppingModule.init();\n await LiveStreamModule.init();\n\n FWGlobalState.getInstance().resolveSdkInitCalled();\n }\n\n /**\n * Open Video URL.\n * @param {string} url\n * @param {VideoPlayerConfiguration} config\n */\n public async openVideoPlayer(\n url: string,\n config?: OpenVideoPlayerConfiguration\n ): Promise<void> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.openVideoPlayer(url, config ?? {});\n }\n\n /**\n * Records the user purchase. Only supported on iOS.\n * @param {TrackPurchaseParameters} parameters\n */\n public async trackPurchase(\n parameters: TrackPurchaseParameters\n ): Promise<void> {\n if (Platform.OS === 'ios') {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.trackPurchase(parameters);\n }\n }\n\n /**\n * Change App level language.\n * @param {string | undefined | null} language Such as en, ar and en-US\n * If language is null or undefined or empty string, SDK will use system language.\n * @returns {Promise<boolean>} The result of changing app language.\n */\n public async changeAppLanguage(language?: string | null): Promise<boolean> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n const result = await FireworkSDKModule.changeAppLanguage(language);\n if (result) {\n const languageChanged = this._appLanguage !== language;\n if (Platform.OS === 'ios' && languageChanged) {\n await this.navigator.stopFloatingPlayer();\n }\n this.updateInternalAppLanguage(language);\n }\n return result;\n }\n\n private updateInternalAppLanguage(language?: string | null) {\n const valueHasChanged = this._appLanguage !== language;\n this._appLanguage = language;\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AppLanguageUpdated);\n }\n }\n\n private updateInternalShareBaseURL(shareBaseURL?: string) {\n const shareBaseURLChanged = this._shareBaseURL !== shareBaseURL;\n this._shareBaseURL = shareBaseURL;\n if (shareBaseURLChanged) {\n this.eventEmitter.emit(FWEventName.ShareBaseURLUpdated);\n }\n }\n}\n\nexport default FireworkSDK;\n"]}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _FWEventName = require("./models/FWEventName");
9
+
10
+ var _LiveStreamModule = require("./modules/LiveStreamModule");
11
+
12
+ var _FWLoggerUtil = _interopRequireDefault(require("./utils/FWLoggerUtil"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ 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; }
17
+
18
+ /**
19
+ * The entry class of live stream.
20
+ */
21
+ class LiveStream {
22
+ /**
23
+ * The callback of live stream event.
24
+ */
25
+
26
+ /**
27
+ * The callback of live stream chat event.
28
+ */
29
+ get eventEmitter() {
30
+ return _LiveStreamModule.LiveStreamModuleEventEmitter;
31
+ }
32
+
33
+ static getInstance() {
34
+ if (!LiveStream._instance) {
35
+ LiveStream._instance = new LiveStream();
36
+ }
37
+
38
+ return LiveStream._instance;
39
+ }
40
+
41
+ constructor() {
42
+ _defineProperty(this, "onLiveStreamEvent", void 0);
43
+
44
+ _defineProperty(this, "onLiveStreamChatEvent", void 0);
45
+
46
+ _FWLoggerUtil.default.log('LiveStream constructor');
47
+
48
+ this.eventEmitter.addListener(_FWEventName.FWEventName.LiveStream, event => {
49
+ if (this.onLiveStreamEvent) {
50
+ this.onLiveStreamEvent(event !== null && event !== void 0 ? event : {});
51
+ }
52
+ });
53
+ this.eventEmitter.addListener(_FWEventName.FWEventName.LiveStreamChat, event => {
54
+ if (this.onLiveStreamChatEvent) {
55
+ this.onLiveStreamChatEvent(event !== null && event !== void 0 ? event : {});
56
+ }
57
+ });
58
+ }
59
+
60
+ }
61
+
62
+ _defineProperty(LiveStream, "_instance", void 0);
63
+
64
+ var _default = LiveStream;
65
+ exports.default = _default;
66
+ //# sourceMappingURL=LiveStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["LiveStream.ts"],"names":["LiveStream","eventEmitter","LiveStreamModuleEventEmitter","getInstance","_instance","constructor","FWLoggerUtil","log","addListener","FWEventName","event","onLiveStreamEvent","LiveStreamChat","onLiveStreamChatEvent"],"mappings":";;;;;;;AACA;;AAEA;;AACA;;;;;;AASA;AACA;AACA;AACA,MAAMA,UAAN,CAAiB;AAGf;AACF;AACA;;AAEE;AACF;AACA;AAG0B,MAAZC,YAAY,GAAuB;AAC7C,WAAOC,8CAAP;AACD;;AAEwB,SAAXC,WAAW,GAAG;AAC1B,QAAI,CAACH,UAAU,CAACI,SAAhB,EAA2B;AACzBJ,MAAAA,UAAU,CAACI,SAAX,GAAuB,IAAIJ,UAAJ,EAAvB;AACD;;AAED,WAAOA,UAAU,CAACI,SAAlB;AACD;;AAEOC,EAAAA,WAAW,GAAG;AAAA;;AAAA;;AACpBC,0BAAaC,GAAb,CAAiB,wBAAjB;;AACA,SAAKN,YAAL,CAAkBO,WAAlB,CAA8BC,yBAAYT,UAA1C,EAAuDU,KAAD,IAAW;AAC/D,UAAI,KAAKC,iBAAT,EAA4B;AAC1B,aAAKA,iBAAL,CAAuBD,KAAvB,aAAuBA,KAAvB,cAAuBA,KAAvB,GAAgC,EAAhC;AACD;AACF,KAJD;AAMA,SAAKT,YAAL,CAAkBO,WAAlB,CAA8BC,yBAAYG,cAA1C,EAA2DF,KAAD,IAAW;AACnE,UAAI,KAAKG,qBAAT,EAAgC;AAC9B,aAAKA,qBAAL,CAA2BH,KAA3B,aAA2BA,KAA3B,cAA2BA,KAA3B,GAAoC,EAApC;AACD;AACF,KAJD;AAKD;;AArCc;;gBAAXV,U;;eAwCSA,U","sourcesContent":["import type { NativeEventEmitter } from 'react-native';\nimport { FWEventName } from './models/FWEventName';\nimport type { LiveStreamChatEvent, LiveStreamEvent } from './models/FWEvents';\nimport { LiveStreamModuleEventEmitter } from './modules/LiveStreamModule';\nimport FWLoggerUtil from './utils/FWLoggerUtil';\n\nexport type onLiveStreamEventCallback = (\n event: LiveStreamEvent\n) => Promise<void> | void;\nexport type onLiveStreamChatEventCallback = (\n event: LiveStreamChatEvent\n) => Promise<void> | void;\n\n/**\n * The entry class of live stream.\n */\nclass LiveStream {\n private static _instance?: LiveStream;\n\n /**\n * The callback of live stream event.\n */\n public onLiveStreamEvent?: onLiveStreamEventCallback;\n /**\n * The callback of live stream chat event.\n */\n public onLiveStreamChatEvent?: onLiveStreamChatEventCallback;\n\n private get eventEmitter(): NativeEventEmitter {\n return LiveStreamModuleEventEmitter;\n }\n\n public static getInstance() {\n if (!LiveStream._instance) {\n LiveStream._instance = new LiveStream();\n }\n\n return LiveStream._instance!;\n }\n\n private constructor() {\n FWLoggerUtil.log('LiveStream constructor');\n this.eventEmitter.addListener(FWEventName.LiveStream, (event) => {\n if (this.onLiveStreamEvent) {\n this.onLiveStreamEvent(event ?? {});\n }\n });\n\n this.eventEmitter.addListener(FWEventName.LiveStreamChat, (event) => {\n if (this.onLiveStreamChatEvent) {\n this.onLiveStreamChatEvent(event ?? {});\n }\n });\n }\n}\n\nexport default LiveStream;\n"]}