@takeoffmedia/react-native-penthera 0.2.11 → 0.2.14

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/ios/Penthera.swift +45 -2
  2. package/ios/Util.swift +8 -0
  3. package/lib/commonjs/hooks/usePenthera/usePenthera.js +6 -87
  4. package/lib/commonjs/hooks/usePenthera/usePenthera.js.map +1 -1
  5. package/lib/commonjs/hooks/usePenthera/usePenthera.types.js.map +1 -1
  6. package/lib/commonjs/hooks/usePenthera/usePentheraInit.js +96 -0
  7. package/lib/commonjs/hooks/usePenthera/usePentheraInit.js.map +1 -0
  8. package/lib/commonjs/index.js +0 -11
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/module/hooks/usePenthera/usePenthera.js +8 -88
  11. package/lib/module/hooks/usePenthera/usePenthera.js.map +1 -1
  12. package/lib/module/hooks/usePenthera/usePenthera.types.js.map +1 -1
  13. package/lib/module/hooks/usePenthera/usePentheraInit.js +90 -0
  14. package/lib/module/hooks/usePenthera/usePentheraInit.js.map +1 -0
  15. package/lib/module/index.js +0 -1
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/typescript/hooks/usePenthera/usePenthera.d.ts +1 -2
  18. package/lib/typescript/hooks/usePenthera/usePenthera.d.ts.map +1 -1
  19. package/lib/typescript/hooks/usePenthera/usePenthera.types.d.ts +6 -3
  20. package/lib/typescript/hooks/usePenthera/usePenthera.types.d.ts.map +1 -1
  21. package/lib/typescript/hooks/usePenthera/usePentheraInit.d.ts +3 -0
  22. package/lib/typescript/hooks/usePenthera/usePentheraInit.d.ts.map +1 -0
  23. package/lib/typescript/index.d.ts +0 -1
  24. package/lib/typescript/index.d.ts.map +1 -1
  25. package/package.json +1 -1
  26. package/src/hooks/usePenthera/usePenthera.tsx +8 -113
  27. package/src/hooks/usePenthera/usePenthera.types.ts +7 -3
  28. package/src/hooks/usePenthera/usePentheraInit.tsx +112 -0
  29. package/src/index.tsx +0 -1
  30. package/ios/Penthera.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  31. package/ios/Penthera.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  32. package/ios/Penthera.xcodeproj/project.xcworkspace/xcuserdata/joseguerreroot.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  33. package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -104
  34. package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  35. package/lib/commonjs/utils/utils.js +0 -33
  36. package/lib/commonjs/utils/utils.js.map +0 -1
  37. package/lib/module/utils/utils.js +0 -25
  38. package/lib/module/utils/utils.js.map +0 -1
  39. package/lib/typescript/utils/utils.d.ts +0 -12
  40. package/lib/typescript/utils/utils.d.ts.map +0 -1
  41. package/src/utils/utils.ts +0 -35
@@ -10,6 +10,38 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
10
10
  }
11
11
 
12
12
  var statusDownload: StatusDownload = StatusDownload()
13
+ var usedStorage = "0 MB"
14
+ var freeStorage = "0 MB"
15
+ var downloadBandWidth = "0 MBps"
16
+ var currentAset: VirtuosoAsset?
17
+
18
+ func updateStatusInfo() {
19
+ DispatchQueue.global().async {
20
+ let used = VirtuosoAsset.storageUsed()/1024/1024
21
+ let kbps = VirtuosoDownloadEngine.instance().downloadBandwidthString
22
+ let kbpsInt = VirtuosoDownloadEngine.instance().downloadBandwidth
23
+ let allowableStorageRemaining = VirtuosoAsset.allowableStorageRemaining()/1024/1024
24
+ DispatchQueue.main.async {
25
+ self.usedStorage = String(format: "%qi MB", used)
26
+ self.freeStorage = String(format: "%qi MB", allowableStorageRemaining)
27
+ if (kbps.count > 0) {
28
+ self.downloadBandWidth = kbps
29
+ }
30
+ let assetId = self.currentAset?.assetID
31
+ // allowableStorageRemaining Returns the amount of device storage (in bytes) still available for Virtuoso to use
32
+ if(allowableStorageRemaining <= 0){
33
+ EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.ERROR_DOWNLOAD, assetId: assetId ?? "", body: "Insufficient storage for download")
34
+ self.currentAset?.delete()
35
+ //This condition starts with the interval of 30 since we can have an estimate of kbps per second from approximately 20
36
+ } else if kbpsInt > 0 {
37
+ if(kbpsInt <= 500){
38
+ EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.ERROR_DOWNLOAD, assetId: assetId ?? "", body: "Low bandwidth or no connection")
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
44
+
13
45
 
14
46
  @objc(initializeSdk:withBackplaneUrl:withPublicKey:withPrivateKey:withResolver:withRejecter:)
15
47
  func initializeSdk(user: String, backplaneUrl: String, publicKey: String, privateKey: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
@@ -81,10 +113,14 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
81
113
  }
82
114
 
83
115
  public func downloadEngineDidStartDownloadingAsset(_ asset: VirtuosoAsset) {
84
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.DID_START_DOWNLOADING, assetId: asset.assetID, body: "")
116
+ self.currentAset = asset
117
+ updateStatusInfo()
118
+ EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.DID_START_DOWNLOADING, assetId: asset.assetID, body: "")
85
119
  }
86
120
 
121
+
87
122
  public func downloadEngineProgressUpdated(for asset: VirtuosoAsset) {
123
+ updateStatusInfo()
88
124
  let percentage: Float = Float(asset.fractionComplete)/Float(asset.estimatedSize)
89
125
  if(percentage.isFinite) {
90
126
  EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.PROGRESS_UPDATED, assetId: asset.assetID, body: "\(Int(asset.fractionComplete*100))")
@@ -92,13 +128,18 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
92
128
  }
93
129
 
94
130
  public func downloadEngineProgressUpdatedProcessing(for asset: VirtuosoAsset) {
95
-
131
+ updateStatusInfo()
96
132
  }
97
133
 
98
134
  public func downloadEngineDidFinishDownloadingAsset(_ asset: VirtuosoAsset) {
135
+ updateStatusInfo()
99
136
  EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.DOWNLOAD_COMPLETE, assetId: asset.assetID, body: "")
100
137
  }
101
138
 
139
+ func downloadEngineStatusChange(_ status: kVDE_DownloadEngineStatus) {
140
+ updateStatusInfo()
141
+ }
142
+
102
143
  public func downloadEngineDidEncounterError(for asset: VirtuosoAsset, error: Error?, task: URLSessionTask?, data: Data?, statusCode: NSNumber?) {
103
144
  asset.delete()
104
145
  var eventError = parseErrorRulesPenthera(anyElement: error);
@@ -158,6 +199,7 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
158
199
  }
159
200
 
160
201
  let assetID = item["id"] as! String? ?? ""
202
+
161
203
  let hasDRM = item["drm"] as! Bool? ?? false
162
204
  let title = item["title"] as! String? ?? ""
163
205
 
@@ -232,6 +274,7 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
232
274
  }
233
275
  }
234
276
 
277
+
235
278
  @objc(getDownloads:withResolver:withRejecter:)
236
279
  func getDownloads(blank: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
237
280
  let completedAssets = VirtuosoAsset.completedAssets(withAvailabilityFilter: false)
package/ios/Util.swift CHANGED
@@ -131,3 +131,11 @@ func parseErrorRulesPenthera(anyElement: Error?) -> String {
131
131
  return localizedDescription
132
132
  }
133
133
 
134
+ func extractInteger(from string: String) -> Int {
135
+ if let firstNumber = string.components(separatedBy: CharacterSet.decimalDigits.inverted)
136
+ .compactMap({ Int($0) })
137
+ .first {
138
+ return firstNumber
139
+ }
140
+ return 0
141
+ }
@@ -4,17 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.usePenthera = void 0;
7
- exports.usePentheraInit = usePentheraInit;
8
- var _react = require("react");
9
7
  var _reactNative = require("react-native");
10
8
  var _zustand = require("zustand");
11
- var _usePenthera = require("./usePenthera.types");
12
9
  var _nativeModules = require("../../nativeModules");
13
- var _utils = require("../../utils/utils");
14
10
  const usePenthera = (0, _zustand.create)(set => ({
15
11
  assets: [],
16
12
  assetsProgress: {},
17
- assetError: {},
13
+ assetError: {
14
+ assetId: '',
15
+ description: ''
16
+ },
18
17
  loadAssets: assets => set(() => ({
19
18
  assets
20
19
  })),
@@ -107,90 +106,10 @@ const usePenthera = (0, _zustand.create)(set => ({
107
106
  },
108
107
  setError: dataParse => {
109
108
  return set(() => ({
110
- assetError: dataParse
109
+ assetError: dataParse,
110
+ assetsProgress: {}
111
111
  }));
112
112
  }
113
113
  }));
114
114
  exports.usePenthera = usePenthera;
115
- const onListener = sessionConnect => {
116
- const NEventEmitter = _reactNative.NativeModules.Penthera;
117
- const eventEmitter = new _reactNative.NativeEventEmitter(NEventEmitter);
118
- eventEmitter.removeAllListeners('penthera');
119
- const eventListener = eventEmitter.addListener('penthera', sessionConnect);
120
- return eventListener;
121
- };
122
- function usePentheraInit(_ref2) {
123
- let {
124
- userId,
125
- BACKPLANE_PRIVATE_KEY,
126
- BACKPLANE_PUBLIC_KEY,
127
- BACKPLANE_URL
128
- } = _ref2;
129
- const [isInitialized, setIsInitialized] = (0, _react.useState)(false);
130
- const addAsset = usePenthera(state => state.addAsset);
131
- const deleteManyAssets = usePenthera(state => state.deleteManyAssets);
132
- const updateAssetsProgress = usePenthera(state => state.updateAssetsProgress);
133
- const onGetAllAssets = usePenthera(state => state.onGetAllAssets);
134
- const setError = usePenthera(state => state.setError);
135
- (0, _react.useEffect)(() => {
136
- if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
137
- return;
138
- }
139
- const init = async () => {
140
- await (0, _nativeModules.initialize)(userId, BACKPLANE_URL, BACKPLANE_PUBLIC_KEY, BACKPLANE_PRIVATE_KEY);
141
- setIsInitialized(true);
142
- };
143
- init();
144
- }, [userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL]);
145
- (0, _react.useEffect)(() => {
146
- if (!isInitialized) return;
147
- console.log('starting init');
148
- const sessionConnect = newEvent => {
149
- const info = JSON.parse(newEvent);
150
- console.log('info', info);
151
- switch (info.code) {
152
- case _usePenthera.PentheraEvent.VIRTUOSO_SUCCESS:
153
- break;
154
- case _usePenthera.PentheraEvent.DID_START_DOWNLOADING:
155
- updateAssetsProgress({
156
- [info === null || info === void 0 ? void 0 : info.assetId]: '0'
157
- });
158
- break;
159
- case _usePenthera.PentheraEvent.PROGRESS_UPDATED:
160
- updateAssetsProgress({
161
- [info === null || info === void 0 ? void 0 : info.assetId]: info.body
162
- });
163
- break;
164
- case _usePenthera.PentheraEvent.DOWNLOAD_COMPLETE:
165
- updateAssetsProgress({
166
- [info.assetId]: '100'
167
- });
168
- onGetAllAssets();
169
- break;
170
- case _usePenthera.PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED:
171
- //TODO: Can be util for pause and resume download state
172
- break;
173
- case _usePenthera.PentheraEvent.ASSET_DELETED:
174
- deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
175
- break;
176
- case _usePenthera.PentheraEvent.ERROR_DOWNLOAD:
177
- setError((0, _utils.manageDataError)(info));
178
- break;
179
- case _usePenthera.PentheraEvent.CONFIG_ASSET_FAILED:
180
- case _usePenthera.PentheraEvent.PENDING_ASSET_FOUND:
181
- default:
182
- console.log('case nout found:', info);
183
- break;
184
- }
185
- };
186
- onGetAllAssets();
187
- let eventListener;
188
- eventListener = onListener(sessionConnect);
189
- return () => {
190
- var _eventListener;
191
- (_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
192
- setIsInitialized(false);
193
- };
194
- }, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress, setError]);
195
- }
196
115
  //# sourceMappingURL=usePenthera.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_zustand","_usePenthera","_nativeModules","_utils","usePenthera","create","set","assets","assetsProgress","assetError","loadAssets","addAsset","asset","state","deleteManyAssets","assetIds","filter","includes","id","updateAssetsProgress","progress","onGetAllAssets","getDownloads","Array","isArray","error","console","log","onDownload","_ref","_item$thumbnails","item","url","drm","dataAndroid","asset_id","content_url","poster","thumbnails","thumbnail","subtitle","dataBySO","Platform","OS","download","JSON","stringify","onDelete","response","deleteMany","deleted","Object","keys","updatedAssetsProgress","forEach","assetId","onPauseDownload","pauseDownload","onPlayVideo","playAsset","setError","dataParse","exports","onListener","sessionConnect","NEventEmitter","NativeModules","Penthera","eventEmitter","NativeEventEmitter","removeAllListeners","eventListener","addListener","usePentheraInit","_ref2","userId","BACKPLANE_PRIVATE_KEY","BACKPLANE_PUBLIC_KEY","BACKPLANE_URL","isInitialized","setIsInitialized","useState","useEffect","init","initialize","newEvent","info","parse","code","PentheraEvent","VIRTUOSO_SUCCESS","DID_START_DOWNLOADING","PROGRESS_UPDATED","body","DOWNLOAD_COMPLETE","ASSET_RESUME_DOWNLOAD_UPDATED","ASSET_DELETED","ERROR_DOWNLOAD","manageDataError","CONFIG_ASSET_FAILED","PENDING_ASSET_FOUND","_eventListener","remove"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_zustand","_nativeModules","usePenthera","create","set","assets","assetsProgress","assetError","assetId","description","loadAssets","addAsset","asset","state","deleteManyAssets","assetIds","filter","includes","id","updateAssetsProgress","progress","onGetAllAssets","getDownloads","Array","isArray","error","console","log","onDownload","_ref","_item$thumbnails","item","url","drm","dataAndroid","asset_id","content_url","poster","thumbnails","thumbnail","subtitle","dataBySO","Platform","OS","download","JSON","stringify","onDelete","response","deleteMany","deleted","Object","keys","updatedAssetsProgress","forEach","onPauseDownload","pauseDownload","onPlayVideo","playAsset","setError","dataParse","exports"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["PentheraEvent","exports"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.types.ts"],"mappings":";;;;;;IAGYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAAC,OAAA,CAAAD,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"names":["PentheraEvent","exports"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.types.ts"],"mappings":";;;;;;IAEYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAAC,OAAA,CAAAD,aAAA,GAAAA,aAAA"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.usePentheraInit = usePentheraInit;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _usePenthera = require("./usePenthera.types");
10
+ var _nativeModules = require("../../nativeModules");
11
+ var _usePenthera2 = require("./usePenthera");
12
+ const onListener = sessionConnect => {
13
+ const NEventEmitter = _reactNative.NativeModules.Penthera;
14
+ const eventEmitter = new _reactNative.NativeEventEmitter(NEventEmitter);
15
+ eventEmitter.removeAllListeners('penthera');
16
+ const eventListener = eventEmitter.addListener('penthera', sessionConnect);
17
+ return eventListener;
18
+ };
19
+ function usePentheraInit(_ref) {
20
+ let {
21
+ userId,
22
+ BACKPLANE_PRIVATE_KEY,
23
+ BACKPLANE_PUBLIC_KEY,
24
+ BACKPLANE_URL
25
+ } = _ref;
26
+ const [isInitialized, setIsInitialized] = (0, _react.useState)(false);
27
+ const addAsset = (0, _usePenthera2.usePenthera)(state => state.addAsset);
28
+ const deleteManyAssets = (0, _usePenthera2.usePenthera)(state => state.deleteManyAssets);
29
+ const updateAssetsProgress = (0, _usePenthera2.usePenthera)(state => state.updateAssetsProgress);
30
+ const onGetAllAssets = (0, _usePenthera2.usePenthera)(state => state.onGetAllAssets);
31
+ const setError = (0, _usePenthera2.usePenthera)(state => state.setError);
32
+ (0, _react.useEffect)(() => {
33
+ if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
34
+ return;
35
+ }
36
+ const init = async () => {
37
+ await (0, _nativeModules.initialize)(userId, BACKPLANE_URL, BACKPLANE_PUBLIC_KEY, BACKPLANE_PRIVATE_KEY);
38
+ setIsInitialized(true);
39
+ };
40
+ init();
41
+ }, [userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL]);
42
+ (0, _react.useEffect)(() => {
43
+ if (!isInitialized) return;
44
+ console.log('starting init');
45
+ const sessionConnect = newEvent => {
46
+ const info = JSON.parse(newEvent);
47
+ console.log('info', info);
48
+ switch (info.code) {
49
+ case _usePenthera.PentheraEvent.VIRTUOSO_SUCCESS:
50
+ break;
51
+ case _usePenthera.PentheraEvent.DID_START_DOWNLOADING:
52
+ updateAssetsProgress({
53
+ [info === null || info === void 0 ? void 0 : info.assetId]: '0'
54
+ });
55
+ break;
56
+ case _usePenthera.PentheraEvent.PROGRESS_UPDATED:
57
+ updateAssetsProgress({
58
+ [info === null || info === void 0 ? void 0 : info.assetId]: info.body
59
+ });
60
+ break;
61
+ case _usePenthera.PentheraEvent.DOWNLOAD_COMPLETE:
62
+ updateAssetsProgress({
63
+ [info.assetId]: '100'
64
+ });
65
+ onGetAllAssets();
66
+ break;
67
+ case _usePenthera.PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED:
68
+ //TODO: Can be util for pause and resume download state
69
+ break;
70
+ case _usePenthera.PentheraEvent.ASSET_DELETED:
71
+ deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
72
+ break;
73
+ case _usePenthera.PentheraEvent.ERROR_DOWNLOAD:
74
+ setError({
75
+ assetId: info === null || info === void 0 ? void 0 : info.assetId,
76
+ description: info === null || info === void 0 ? void 0 : info.body
77
+ });
78
+ break;
79
+ case _usePenthera.PentheraEvent.CONFIG_ASSET_FAILED:
80
+ case _usePenthera.PentheraEvent.PENDING_ASSET_FOUND:
81
+ default:
82
+ console.log('case nout found:', info);
83
+ break;
84
+ }
85
+ };
86
+ onGetAllAssets();
87
+ let eventListener;
88
+ eventListener = onListener(sessionConnect);
89
+ return () => {
90
+ var _eventListener;
91
+ (_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
92
+ setIsInitialized(false);
93
+ };
94
+ }, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress, setError]);
95
+ }
96
+ //# sourceMappingURL=usePentheraInit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_usePenthera","_nativeModules","_usePenthera2","onListener","sessionConnect","NEventEmitter","NativeModules","Penthera","eventEmitter","NativeEventEmitter","removeAllListeners","eventListener","addListener","usePentheraInit","_ref","userId","BACKPLANE_PRIVATE_KEY","BACKPLANE_PUBLIC_KEY","BACKPLANE_URL","isInitialized","setIsInitialized","useState","addAsset","usePenthera","state","deleteManyAssets","updateAssetsProgress","onGetAllAssets","setError","useEffect","init","initialize","console","log","newEvent","info","JSON","parse","code","PentheraEvent","VIRTUOSO_SUCCESS","DID_START_DOWNLOADING","assetId","PROGRESS_UPDATED","body","DOWNLOAD_COMPLETE","ASSET_RESUME_DOWNLOAD_UPDATED","ASSET_DELETED","ERROR_DOWNLOAD","description","CONFIG_ASSET_FAILED","PENDING_ASSET_FOUND","_eventListener","remove"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePentheraInit.tsx"],"mappings":"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"}
@@ -25,15 +25,4 @@ Object.keys(_usePenthera).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
- var _utils = require("./utils/utils");
29
- Object.keys(_utils).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _utils[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function () {
35
- return _utils[key];
36
- }
37
- });
38
- });
39
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_nativeModules","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_usePenthera","_utils"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAK,YAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,YAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,YAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,YAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,MAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,MAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,MAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,MAAA,CAAAN,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_nativeModules","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_usePenthera"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAK,YAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,YAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,YAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,YAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
@@ -1,13 +1,13 @@
1
- import { useEffect, useState } from 'react';
2
- import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
1
+ import { Platform } from 'react-native';
3
2
  import { create } from 'zustand';
4
- import { PentheraEvent } from './usePenthera.types';
5
- import { deleteMany, download, getDownloads, initialize, pauseDownload, playAsset } from '../../nativeModules';
6
- import { manageDataError } from '../../utils/utils';
3
+ import { deleteMany, download, getDownloads, pauseDownload, playAsset } from '../../nativeModules';
7
4
  export const usePenthera = create(set => ({
8
5
  assets: [],
9
6
  assetsProgress: {},
10
- assetError: {},
7
+ assetError: {
8
+ assetId: '',
9
+ description: ''
10
+ },
11
11
  loadAssets: assets => set(() => ({
12
12
  assets
13
13
  })),
@@ -100,89 +100,9 @@ export const usePenthera = create(set => ({
100
100
  },
101
101
  setError: dataParse => {
102
102
  return set(() => ({
103
- assetError: dataParse
103
+ assetError: dataParse,
104
+ assetsProgress: {}
104
105
  }));
105
106
  }
106
107
  }));
107
- const onListener = sessionConnect => {
108
- const NEventEmitter = NativeModules.Penthera;
109
- const eventEmitter = new NativeEventEmitter(NEventEmitter);
110
- eventEmitter.removeAllListeners('penthera');
111
- const eventListener = eventEmitter.addListener('penthera', sessionConnect);
112
- return eventListener;
113
- };
114
- export function usePentheraInit(_ref2) {
115
- let {
116
- userId,
117
- BACKPLANE_PRIVATE_KEY,
118
- BACKPLANE_PUBLIC_KEY,
119
- BACKPLANE_URL
120
- } = _ref2;
121
- const [isInitialized, setIsInitialized] = useState(false);
122
- const addAsset = usePenthera(state => state.addAsset);
123
- const deleteManyAssets = usePenthera(state => state.deleteManyAssets);
124
- const updateAssetsProgress = usePenthera(state => state.updateAssetsProgress);
125
- const onGetAllAssets = usePenthera(state => state.onGetAllAssets);
126
- const setError = usePenthera(state => state.setError);
127
- useEffect(() => {
128
- if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
129
- return;
130
- }
131
- const init = async () => {
132
- await initialize(userId, BACKPLANE_URL, BACKPLANE_PUBLIC_KEY, BACKPLANE_PRIVATE_KEY);
133
- setIsInitialized(true);
134
- };
135
- init();
136
- }, [userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL]);
137
- useEffect(() => {
138
- if (!isInitialized) return;
139
- console.log('starting init');
140
- const sessionConnect = newEvent => {
141
- const info = JSON.parse(newEvent);
142
- console.log('info', info);
143
- switch (info.code) {
144
- case PentheraEvent.VIRTUOSO_SUCCESS:
145
- break;
146
- case PentheraEvent.DID_START_DOWNLOADING:
147
- updateAssetsProgress({
148
- [info === null || info === void 0 ? void 0 : info.assetId]: '0'
149
- });
150
- break;
151
- case PentheraEvent.PROGRESS_UPDATED:
152
- updateAssetsProgress({
153
- [info === null || info === void 0 ? void 0 : info.assetId]: info.body
154
- });
155
- break;
156
- case PentheraEvent.DOWNLOAD_COMPLETE:
157
- updateAssetsProgress({
158
- [info.assetId]: '100'
159
- });
160
- onGetAllAssets();
161
- break;
162
- case PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED:
163
- //TODO: Can be util for pause and resume download state
164
- break;
165
- case PentheraEvent.ASSET_DELETED:
166
- deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
167
- break;
168
- case PentheraEvent.ERROR_DOWNLOAD:
169
- setError(manageDataError(info));
170
- break;
171
- case PentheraEvent.CONFIG_ASSET_FAILED:
172
- case PentheraEvent.PENDING_ASSET_FOUND:
173
- default:
174
- console.log('case nout found:', info);
175
- break;
176
- }
177
- };
178
- onGetAllAssets();
179
- let eventListener;
180
- eventListener = onListener(sessionConnect);
181
- return () => {
182
- var _eventListener;
183
- (_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
184
- setIsInitialized(false);
185
- };
186
- }, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress, setError]);
187
- }
188
108
  //# sourceMappingURL=usePenthera.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","NativeEventEmitter","NativeModules","Platform","create","PentheraEvent","deleteMany","download","getDownloads","initialize","pauseDownload","playAsset","manageDataError","usePenthera","set","assets","assetsProgress","assetError","loadAssets","addAsset","asset","state","deleteManyAssets","assetIds","filter","includes","id","updateAssetsProgress","progress","onGetAllAssets","Array","isArray","error","console","log","onDownload","_ref","_item$thumbnails","item","url","drm","dataAndroid","asset_id","content_url","poster","thumbnails","thumbnail","subtitle","dataBySO","OS","JSON","stringify","onDelete","response","deleted","Object","keys","updatedAssetsProgress","forEach","assetId","onPauseDownload","onPlayVideo","setError","dataParse","onListener","sessionConnect","NEventEmitter","Penthera","eventEmitter","removeAllListeners","eventListener","addListener","usePentheraInit","_ref2","userId","BACKPLANE_PRIVATE_KEY","BACKPLANE_PUBLIC_KEY","BACKPLANE_URL","isInitialized","setIsInitialized","init","newEvent","info","parse","code","VIRTUOSO_SUCCESS","DID_START_DOWNLOADING","PROGRESS_UPDATED","body","DOWNLOAD_COMPLETE","ASSET_RESUME_DOWNLOAD_UPDATED","ASSET_DELETED","ERROR_DOWNLOAD","CONFIG_ASSET_FAILED","PENDING_ASSET_FOUND","_eventListener","remove"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["Platform","create","deleteMany","download","getDownloads","pauseDownload","playAsset","usePenthera","set","assets","assetsProgress","assetError","assetId","description","loadAssets","addAsset","asset","state","deleteManyAssets","assetIds","filter","includes","id","updateAssetsProgress","progress","onGetAllAssets","Array","isArray","error","console","log","onDownload","_ref","_item$thumbnails","item","url","drm","dataAndroid","asset_id","content_url","poster","thumbnails","thumbnail","subtitle","dataBySO","OS","JSON","stringify","onDelete","response","deleted","Object","keys","updatedAssetsProgress","forEach","onPauseDownload","onPlayVideo","setError","dataParse"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["PentheraEvent"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.types.ts"],"mappings":"AAGA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA"}
1
+ {"version":3,"names":["PentheraEvent"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.types.ts"],"mappings":"AAEA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA"}
@@ -0,0 +1,90 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { NativeEventEmitter, NativeModules } from 'react-native';
3
+ import { PentheraEvent } from './usePenthera.types';
4
+ import { initialize } from '../../nativeModules';
5
+ import { usePenthera } from './usePenthera';
6
+ const onListener = sessionConnect => {
7
+ const NEventEmitter = NativeModules.Penthera;
8
+ const eventEmitter = new NativeEventEmitter(NEventEmitter);
9
+ eventEmitter.removeAllListeners('penthera');
10
+ const eventListener = eventEmitter.addListener('penthera', sessionConnect);
11
+ return eventListener;
12
+ };
13
+ export function usePentheraInit(_ref) {
14
+ let {
15
+ userId,
16
+ BACKPLANE_PRIVATE_KEY,
17
+ BACKPLANE_PUBLIC_KEY,
18
+ BACKPLANE_URL
19
+ } = _ref;
20
+ const [isInitialized, setIsInitialized] = useState(false);
21
+ const addAsset = usePenthera(state => state.addAsset);
22
+ const deleteManyAssets = usePenthera(state => state.deleteManyAssets);
23
+ const updateAssetsProgress = usePenthera(state => state.updateAssetsProgress);
24
+ const onGetAllAssets = usePenthera(state => state.onGetAllAssets);
25
+ const setError = usePenthera(state => state.setError);
26
+ useEffect(() => {
27
+ if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
28
+ return;
29
+ }
30
+ const init = async () => {
31
+ await initialize(userId, BACKPLANE_URL, BACKPLANE_PUBLIC_KEY, BACKPLANE_PRIVATE_KEY);
32
+ setIsInitialized(true);
33
+ };
34
+ init();
35
+ }, [userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL]);
36
+ useEffect(() => {
37
+ if (!isInitialized) return;
38
+ console.log('starting init');
39
+ const sessionConnect = newEvent => {
40
+ const info = JSON.parse(newEvent);
41
+ console.log('info', info);
42
+ switch (info.code) {
43
+ case PentheraEvent.VIRTUOSO_SUCCESS:
44
+ break;
45
+ case PentheraEvent.DID_START_DOWNLOADING:
46
+ updateAssetsProgress({
47
+ [info === null || info === void 0 ? void 0 : info.assetId]: '0'
48
+ });
49
+ break;
50
+ case PentheraEvent.PROGRESS_UPDATED:
51
+ updateAssetsProgress({
52
+ [info === null || info === void 0 ? void 0 : info.assetId]: info.body
53
+ });
54
+ break;
55
+ case PentheraEvent.DOWNLOAD_COMPLETE:
56
+ updateAssetsProgress({
57
+ [info.assetId]: '100'
58
+ });
59
+ onGetAllAssets();
60
+ break;
61
+ case PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED:
62
+ //TODO: Can be util for pause and resume download state
63
+ break;
64
+ case PentheraEvent.ASSET_DELETED:
65
+ deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
66
+ break;
67
+ case PentheraEvent.ERROR_DOWNLOAD:
68
+ setError({
69
+ assetId: info === null || info === void 0 ? void 0 : info.assetId,
70
+ description: info === null || info === void 0 ? void 0 : info.body
71
+ });
72
+ break;
73
+ case PentheraEvent.CONFIG_ASSET_FAILED:
74
+ case PentheraEvent.PENDING_ASSET_FOUND:
75
+ default:
76
+ console.log('case nout found:', info);
77
+ break;
78
+ }
79
+ };
80
+ onGetAllAssets();
81
+ let eventListener;
82
+ eventListener = onListener(sessionConnect);
83
+ return () => {
84
+ var _eventListener;
85
+ (_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
86
+ setIsInitialized(false);
87
+ };
88
+ }, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress, setError]);
89
+ }
90
+ //# sourceMappingURL=usePentheraInit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useState","NativeEventEmitter","NativeModules","PentheraEvent","initialize","usePenthera","onListener","sessionConnect","NEventEmitter","Penthera","eventEmitter","removeAllListeners","eventListener","addListener","usePentheraInit","_ref","userId","BACKPLANE_PRIVATE_KEY","BACKPLANE_PUBLIC_KEY","BACKPLANE_URL","isInitialized","setIsInitialized","addAsset","state","deleteManyAssets","updateAssetsProgress","onGetAllAssets","setError","init","console","log","newEvent","info","JSON","parse","code","VIRTUOSO_SUCCESS","DID_START_DOWNLOADING","assetId","PROGRESS_UPDATED","body","DOWNLOAD_COMPLETE","ASSET_RESUME_DOWNLOAD_UPDATED","ASSET_DELETED","ERROR_DOWNLOAD","description","CONFIG_ASSET_FAILED","PENDING_ASSET_FOUND","_eventListener","remove"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePentheraInit.tsx"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
1
  export * from './nativeModules';
2
2
  export * from './hooks/usePenthera';
3
- export * from './utils/utils';
4
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,iBAAiB;AAE/B,cAAc,qBAAqB;AACnC,cAAc,eAAe"}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,iBAAiB;AAE/B,cAAc,qBAAqB"}