@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.
- package/ios/Penthera.swift +45 -2
- package/ios/Util.swift +8 -0
- package/lib/commonjs/hooks/usePenthera/usePenthera.js +6 -87
- package/lib/commonjs/hooks/usePenthera/usePenthera.js.map +1 -1
- package/lib/commonjs/hooks/usePenthera/usePenthera.types.js.map +1 -1
- package/lib/commonjs/hooks/usePenthera/usePentheraInit.js +96 -0
- package/lib/commonjs/hooks/usePenthera/usePentheraInit.js.map +1 -0
- package/lib/commonjs/index.js +0 -11
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/hooks/usePenthera/usePenthera.js +8 -88
- package/lib/module/hooks/usePenthera/usePenthera.js.map +1 -1
- package/lib/module/hooks/usePenthera/usePenthera.types.js.map +1 -1
- package/lib/module/hooks/usePenthera/usePentheraInit.js +90 -0
- package/lib/module/hooks/usePenthera/usePentheraInit.js.map +1 -0
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/hooks/usePenthera/usePenthera.d.ts +1 -2
- package/lib/typescript/hooks/usePenthera/usePenthera.d.ts.map +1 -1
- package/lib/typescript/hooks/usePenthera/usePenthera.types.d.ts +6 -3
- package/lib/typescript/hooks/usePenthera/usePenthera.types.d.ts.map +1 -1
- package/lib/typescript/hooks/usePenthera/usePentheraInit.d.ts +3 -0
- package/lib/typescript/hooks/usePenthera/usePentheraInit.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +0 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/hooks/usePenthera/usePenthera.tsx +8 -113
- package/src/hooks/usePenthera/usePenthera.types.ts +7 -3
- package/src/hooks/usePenthera/usePentheraInit.tsx +112 -0
- package/src/index.tsx +0 -1
- package/ios/Penthera.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/Penthera.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/Penthera.xcodeproj/project.xcworkspace/xcuserdata/joseguerreroot.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -104
- package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
- package/lib/commonjs/utils/utils.js +0 -33
- package/lib/commonjs/utils/utils.js.map +0 -1
- package/lib/module/utils/utils.js +0 -25
- package/lib/module/utils/utils.js.map +0 -1
- package/lib/typescript/utils/utils.d.ts +0 -12
- package/lib/typescript/utils/utils.d.ts.map +0 -1
- package/src/utils/utils.ts +0 -35
package/ios/Penthera.swift
CHANGED
|
@@ -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
|
-
|
|
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":["
|
|
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":";;;;;;
|
|
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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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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"
|
|
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 {
|
|
2
|
-
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
1
|
+
import { Platform } from 'react-native';
|
|
3
2
|
import { create } from 'zustand';
|
|
4
|
-
import {
|
|
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":["
|
|
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":"
|
|
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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"}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,iBAAiB;AAE/B,cAAc,qBAAqB
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,iBAAiB;AAE/B,cAAc,qBAAqB"}
|