@takeoffmedia/react-native-penthera 0.2.8 → 0.2.10
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.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/ios/Penthera.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/Penthera.xcodeproj/project.xcworkspace/xcuserdata/joseguerreroot.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +104 -0
- package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
- package/ios/Util.swift +5 -17
- package/lib/commonjs/hooks/usePenthera/usePenthera.js +12 -15
- package/lib/commonjs/hooks/usePenthera/usePenthera.js.map +1 -1
- package/lib/commonjs/hooks/usePenthera/usePenthera.types.js.map +1 -1
- package/lib/commonjs/index.js +11 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/utils.js +33 -0
- package/lib/commonjs/utils/utils.js.map +1 -0
- package/lib/module/hooks/usePenthera/usePenthera.js +12 -15
- package/lib/module/hooks/usePenthera/usePenthera.js.map +1 -1
- package/lib/module/hooks/usePenthera/usePenthera.types.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/utils.js +25 -0
- package/lib/module/utils/utils.js.map +1 -0
- package/lib/typescript/hooks/usePenthera/usePenthera.d.ts.map +1 -1
- package/lib/typescript/hooks/usePenthera/usePenthera.types.d.ts +3 -0
- package/lib/typescript/hooks/usePenthera/usePenthera.types.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/utils.d.ts +12 -0
- package/lib/typescript/utils/utils.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/hooks/usePenthera/usePenthera.tsx +12 -21
- package/src/hooks/usePenthera/usePenthera.types.ts +3 -0
- package/src/index.tsx +1 -0
- package/src/utils/utils.ts +35 -0
|
Binary file
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<Bucket
|
|
3
|
+
uuid = "3AE98629-7421-4561-B12C-C06B8B6A3023"
|
|
4
|
+
type = "1"
|
|
5
|
+
version = "2.0">
|
|
6
|
+
<Breakpoints>
|
|
7
|
+
<BreakpointProxy
|
|
8
|
+
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
9
|
+
<BreakpointContent
|
|
10
|
+
uuid = "A5D166B0-3C57-4F4D-A845-BDB81498DA0F"
|
|
11
|
+
shouldBeEnabled = "No"
|
|
12
|
+
ignoreCount = "0"
|
|
13
|
+
continueAfterRunningActions = "No"
|
|
14
|
+
filePath = "Penthera.swift"
|
|
15
|
+
startingColumnNumber = "9223372036854775807"
|
|
16
|
+
endingColumnNumber = "9223372036854775807"
|
|
17
|
+
startingLineNumber = "18"
|
|
18
|
+
endingLineNumber = "18"
|
|
19
|
+
landmarkName = "initializeSdk(user:backplaneUrl:publicKey:privateKey:resolve:reject:)"
|
|
20
|
+
landmarkType = "7">
|
|
21
|
+
</BreakpointContent>
|
|
22
|
+
</BreakpointProxy>
|
|
23
|
+
<BreakpointProxy
|
|
24
|
+
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
25
|
+
<BreakpointContent
|
|
26
|
+
uuid = "5D7AE47B-D5FC-4468-A75B-C414F3F8A58C"
|
|
27
|
+
shouldBeEnabled = "No"
|
|
28
|
+
ignoreCount = "0"
|
|
29
|
+
continueAfterRunningActions = "No"
|
|
30
|
+
filePath = "Penthera.swift"
|
|
31
|
+
startingColumnNumber = "9223372036854775807"
|
|
32
|
+
endingColumnNumber = "9223372036854775807"
|
|
33
|
+
startingLineNumber = "25"
|
|
34
|
+
endingLineNumber = "25"
|
|
35
|
+
landmarkName = "initializeSdk(user:backplaneUrl:publicKey:privateKey:resolve:reject:)"
|
|
36
|
+
landmarkType = "7">
|
|
37
|
+
</BreakpointContent>
|
|
38
|
+
</BreakpointProxy>
|
|
39
|
+
<BreakpointProxy
|
|
40
|
+
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
41
|
+
<BreakpointContent
|
|
42
|
+
uuid = "E3C50B30-46CF-4D56-8C49-C257C70E0ACC"
|
|
43
|
+
shouldBeEnabled = "No"
|
|
44
|
+
ignoreCount = "0"
|
|
45
|
+
continueAfterRunningActions = "No"
|
|
46
|
+
filePath = "Penthera.swift"
|
|
47
|
+
startingColumnNumber = "9223372036854775807"
|
|
48
|
+
endingColumnNumber = "9223372036854775807"
|
|
49
|
+
startingLineNumber = "26"
|
|
50
|
+
endingLineNumber = "26"
|
|
51
|
+
landmarkName = "initializeSdk(user:backplaneUrl:publicKey:privateKey:resolve:reject:)"
|
|
52
|
+
landmarkType = "7">
|
|
53
|
+
</BreakpointContent>
|
|
54
|
+
</BreakpointProxy>
|
|
55
|
+
<BreakpointProxy
|
|
56
|
+
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
57
|
+
<BreakpointContent
|
|
58
|
+
uuid = "75EF43BF-56FF-4727-B372-E1A0EBC02C61"
|
|
59
|
+
shouldBeEnabled = "Yes"
|
|
60
|
+
ignoreCount = "0"
|
|
61
|
+
continueAfterRunningActions = "No"
|
|
62
|
+
filePath = "Penthera.swift"
|
|
63
|
+
startingColumnNumber = "9223372036854775807"
|
|
64
|
+
endingColumnNumber = "9223372036854775807"
|
|
65
|
+
startingLineNumber = "101"
|
|
66
|
+
endingLineNumber = "101"
|
|
67
|
+
landmarkName = "getDownloads(blank:resolve:reject:)"
|
|
68
|
+
landmarkType = "7">
|
|
69
|
+
</BreakpointContent>
|
|
70
|
+
</BreakpointProxy>
|
|
71
|
+
<BreakpointProxy
|
|
72
|
+
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
73
|
+
<BreakpointContent
|
|
74
|
+
uuid = "EF36B51B-4FC2-4989-A791-180E3212EFE3"
|
|
75
|
+
shouldBeEnabled = "Yes"
|
|
76
|
+
ignoreCount = "0"
|
|
77
|
+
continueAfterRunningActions = "No"
|
|
78
|
+
filePath = "Penthera.swift"
|
|
79
|
+
startingColumnNumber = "9223372036854775807"
|
|
80
|
+
endingColumnNumber = "9223372036854775807"
|
|
81
|
+
startingLineNumber = "149"
|
|
82
|
+
endingLineNumber = "149"
|
|
83
|
+
landmarkName = "getDownloads(blank:resolve:reject:)"
|
|
84
|
+
landmarkType = "7">
|
|
85
|
+
</BreakpointContent>
|
|
86
|
+
</BreakpointProxy>
|
|
87
|
+
<BreakpointProxy
|
|
88
|
+
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
89
|
+
<BreakpointContent
|
|
90
|
+
uuid = "C467C00E-2428-4D24-843A-E7CDF28CB553"
|
|
91
|
+
shouldBeEnabled = "Yes"
|
|
92
|
+
ignoreCount = "0"
|
|
93
|
+
continueAfterRunningActions = "No"
|
|
94
|
+
filePath = "Penthera.swift"
|
|
95
|
+
startingColumnNumber = "9223372036854775807"
|
|
96
|
+
endingColumnNumber = "9223372036854775807"
|
|
97
|
+
startingLineNumber = "148"
|
|
98
|
+
endingLineNumber = "148"
|
|
99
|
+
landmarkName = "getDownloads(blank:resolve:reject:)"
|
|
100
|
+
landmarkType = "7">
|
|
101
|
+
</BreakpointContent>
|
|
102
|
+
</BreakpointProxy>
|
|
103
|
+
</Breakpoints>
|
|
104
|
+
</Bucket>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>SchemeUserState</key>
|
|
6
|
+
<dict>
|
|
7
|
+
<key>Penthera.xcscheme_^#shared#^_</key>
|
|
8
|
+
<dict>
|
|
9
|
+
<key>orderHint</key>
|
|
10
|
+
<integer>0</integer>
|
|
11
|
+
</dict>
|
|
12
|
+
</dict>
|
|
13
|
+
</dict>
|
|
14
|
+
</plist>
|
package/ios/Util.swift
CHANGED
|
@@ -121,25 +121,13 @@ func parseDataOffersInObject(anyElement: Any) -> [Category]? {
|
|
|
121
121
|
return nil
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
func parseErrorRulesPenthera(anyElement: Error?) -> String
|
|
124
|
+
func parseErrorRulesPenthera(anyElement: Error?) -> String {
|
|
125
125
|
guard let error = anyElement,
|
|
126
|
-
let userInfo = (error as NSError).userInfo as? [String: Any]
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
var errorMessage: String?
|
|
131
|
-
|
|
132
|
-
for (key, value) in userInfo {
|
|
133
|
-
if key == "asset", let assetDictionary = value as? [String: Any] {
|
|
134
|
-
for (assetKey, _) in assetDictionary {
|
|
135
|
-
if assetKey == "total_downloads" {
|
|
136
|
-
errorMessage = assetKey
|
|
137
|
-
break // Exit the loop if we've found the total_downloads value
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
126
|
+
let userInfo = (error as NSError).userInfo as? [String: Any],
|
|
127
|
+
let localizedDescription = userInfo["NSLocalizedDescription"] as? String else {
|
|
128
|
+
return ""
|
|
141
129
|
}
|
|
142
130
|
|
|
143
|
-
return
|
|
131
|
+
return localizedDescription
|
|
144
132
|
}
|
|
145
133
|
|
|
@@ -10,9 +10,11 @@ var _reactNative = require("react-native");
|
|
|
10
10
|
var _zustand = require("zustand");
|
|
11
11
|
var _usePenthera = require("./usePenthera.types");
|
|
12
12
|
var _nativeModules = require("../../nativeModules");
|
|
13
|
+
var _utils = require("../../utils/utils");
|
|
13
14
|
const usePenthera = (0, _zustand.create)(set => ({
|
|
14
15
|
assets: [],
|
|
15
16
|
assetsProgress: {},
|
|
17
|
+
assetError: {},
|
|
16
18
|
loadAssets: assets => set(() => ({
|
|
17
19
|
assets
|
|
18
20
|
})),
|
|
@@ -23,19 +25,6 @@ const usePenthera = (0, _zustand.create)(set => ({
|
|
|
23
25
|
assets: state.assets.filter(asset => !assetIds.includes(asset.id))
|
|
24
26
|
})),
|
|
25
27
|
updateAssetsProgress: progress => set(state => {
|
|
26
|
-
var _Object$keys;
|
|
27
|
-
const assetId = (_Object$keys = Object.keys(progress)) === null || _Object$keys === void 0 ? void 0 : _Object$keys[0];
|
|
28
|
-
if (assetId && state.assetsProgress && progress && assetId in progress && assetId in state.assetsProgress) {
|
|
29
|
-
var _state$assetsProgress;
|
|
30
|
-
const prevProgress = (_state$assetsProgress = state.assetsProgress) === null || _state$assetsProgress === void 0 ? void 0 : _state$assetsProgress[assetId];
|
|
31
|
-
const newProgress = progress === null || progress === void 0 ? void 0 : progress[assetId];
|
|
32
|
-
if (prevProgress === '0' && newProgress) {
|
|
33
|
-
const diff = parseFloat(newProgress) - parseFloat(prevProgress);
|
|
34
|
-
if (diff >= 30) return {};
|
|
35
|
-
}
|
|
36
|
-
if (prevProgress >= newProgress) return {}; // TODO: This a workaround for solution of inconsistent events from penthera module.
|
|
37
|
-
}
|
|
38
|
-
|
|
39
28
|
return {
|
|
40
29
|
assetsProgress: {
|
|
41
30
|
...state.assetsProgress,
|
|
@@ -115,6 +104,11 @@ const usePenthera = (0, _zustand.create)(set => ({
|
|
|
115
104
|
console.log('error in onPlayVideo', error);
|
|
116
105
|
return {};
|
|
117
106
|
}
|
|
107
|
+
},
|
|
108
|
+
setError: dataParse => {
|
|
109
|
+
return set(() => ({
|
|
110
|
+
assetError: dataParse
|
|
111
|
+
}));
|
|
118
112
|
}
|
|
119
113
|
}));
|
|
120
114
|
exports.usePenthera = usePenthera;
|
|
@@ -137,6 +131,7 @@ function usePentheraInit(_ref2) {
|
|
|
137
131
|
const deleteManyAssets = usePenthera(state => state.deleteManyAssets);
|
|
138
132
|
const updateAssetsProgress = usePenthera(state => state.updateAssetsProgress);
|
|
139
133
|
const onGetAllAssets = usePenthera(state => state.onGetAllAssets);
|
|
134
|
+
const setError = usePenthera(state => state.setError);
|
|
140
135
|
(0, _react.useEffect)(() => {
|
|
141
136
|
if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
|
|
142
137
|
return;
|
|
@@ -178,8 +173,10 @@ function usePentheraInit(_ref2) {
|
|
|
178
173
|
case _usePenthera.PentheraEvent.ASSET_DELETED:
|
|
179
174
|
deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
|
|
180
175
|
break;
|
|
181
|
-
case _usePenthera.PentheraEvent.CONFIG_ASSET_FAILED:
|
|
182
176
|
case _usePenthera.PentheraEvent.ERROR_DOWNLOAD:
|
|
177
|
+
setError((0, _utils.manageDataError)(info));
|
|
178
|
+
break;
|
|
179
|
+
case _usePenthera.PentheraEvent.CONFIG_ASSET_FAILED:
|
|
183
180
|
case _usePenthera.PentheraEvent.PENDING_ASSET_FOUND:
|
|
184
181
|
default:
|
|
185
182
|
console.log('case nout found:', info);
|
|
@@ -194,6 +191,6 @@ function usePentheraInit(_ref2) {
|
|
|
194
191
|
(_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
|
|
195
192
|
setIsInitialized(false);
|
|
196
193
|
};
|
|
197
|
-
}, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress]);
|
|
194
|
+
}, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress, setError]);
|
|
198
195
|
}
|
|
199
196
|
//# sourceMappingURL=usePenthera.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_zustand","_usePenthera","_nativeModules","usePenthera","create","set","assets","assetsProgress","loadAssets","addAsset","asset","state","deleteManyAssets","assetIds","filter","includes","id","updateAssetsProgress","progress","
|
|
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","length","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 +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":";;;;;;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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -25,4 +25,15 @@ 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
|
+
});
|
|
28
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.manageDataError = exports.Description = void 0;
|
|
7
|
+
let Description = /*#__PURE__*/function (Description) {
|
|
8
|
+
Description["ASSET_ALREADY_DOWNLOADED"] = "ASSET_ALREADY_DOWNLOADED";
|
|
9
|
+
Description["LIMIT_EXCEEDED"] = "LIMIT_EXCEEDED";
|
|
10
|
+
Description["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
|
|
11
|
+
return Description;
|
|
12
|
+
}({});
|
|
13
|
+
exports.Description = Description;
|
|
14
|
+
const errorMappings = {
|
|
15
|
+
'The asset has already been downloaded as many times as permitted. To download this asset again, administrative action is required.': Description.ASSET_ALREADY_DOWNLOADED,
|
|
16
|
+
'There are already as many downloads as permitted on this account. To continue downloading, the user must delete downloaded assets from one of their devices.': Description.LIMIT_EXCEEDED
|
|
17
|
+
};
|
|
18
|
+
const manageDataError = event => {
|
|
19
|
+
for (const [pattern, code] of Object.entries(errorMappings)) {
|
|
20
|
+
if (event.body.includes(pattern)) {
|
|
21
|
+
return {
|
|
22
|
+
assetId: event.assetId,
|
|
23
|
+
description: code
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
assetId: event.assetId,
|
|
29
|
+
description: Description.UNKNOWN_ERROR
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
exports.manageDataError = manageDataError;
|
|
33
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Description","exports","errorMappings","ASSET_ALREADY_DOWNLOADED","LIMIT_EXCEEDED","manageDataError","event","pattern","code","Object","entries","body","includes","assetId","description","UNKNOWN_ERROR"],"sourceRoot":"../../../src","sources":["utils/utils.ts"],"mappings":";;;;;;IAEYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAAC,OAAA,CAAAD,WAAA,GAAAA,WAAA;AAMvB,MAAME,aAAa,GAAG;EACpB,qIAAqI,EACnIF,WAAW,CAACG,wBAAwB;EACtC,+JAA+J,EAC7JH,WAAW,CAACI;AAChB,CAAC;AAOM,MAAMC,eAAe,GAAIC,KAAY,IAAkB;EAC5D,KAAK,MAAM,CAACC,OAAO,EAAEC,IAAI,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACR,aAAa,CAAC,EAAE;IAC3D,IAAII,KAAK,CAACK,IAAI,CAACC,QAAQ,CAACL,OAAO,CAAC,EAAE;MAChC,OAAO;QACLM,OAAO,EAAEP,KAAK,CAACO,OAAO;QACtBC,WAAW,EAAEN;MACf,CAAC;IACH;EACF;EAEA,OAAO;IACLK,OAAO,EAAEP,KAAK,CAACO,OAAO;IACtBC,WAAW,EAAEd,WAAW,CAACe;EAC3B,CAAC;AACH,CAAC;AAACd,OAAA,CAAAI,eAAA,GAAAA,eAAA"}
|
|
@@ -3,9 +3,11 @@ import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
|
3
3
|
import { create } from 'zustand';
|
|
4
4
|
import { PentheraEvent } from './usePenthera.types';
|
|
5
5
|
import { deleteMany, download, getDownloads, initialize, pauseDownload, playAsset } from '../../nativeModules';
|
|
6
|
+
import { manageDataError } from '../../utils/utils';
|
|
6
7
|
export const usePenthera = create(set => ({
|
|
7
8
|
assets: [],
|
|
8
9
|
assetsProgress: {},
|
|
10
|
+
assetError: {},
|
|
9
11
|
loadAssets: assets => set(() => ({
|
|
10
12
|
assets
|
|
11
13
|
})),
|
|
@@ -16,19 +18,6 @@ export const usePenthera = create(set => ({
|
|
|
16
18
|
assets: state.assets.filter(asset => !assetIds.includes(asset.id))
|
|
17
19
|
})),
|
|
18
20
|
updateAssetsProgress: progress => set(state => {
|
|
19
|
-
var _Object$keys;
|
|
20
|
-
const assetId = (_Object$keys = Object.keys(progress)) === null || _Object$keys === void 0 ? void 0 : _Object$keys[0];
|
|
21
|
-
if (assetId && state.assetsProgress && progress && assetId in progress && assetId in state.assetsProgress) {
|
|
22
|
-
var _state$assetsProgress;
|
|
23
|
-
const prevProgress = (_state$assetsProgress = state.assetsProgress) === null || _state$assetsProgress === void 0 ? void 0 : _state$assetsProgress[assetId];
|
|
24
|
-
const newProgress = progress === null || progress === void 0 ? void 0 : progress[assetId];
|
|
25
|
-
if (prevProgress === '0' && newProgress) {
|
|
26
|
-
const diff = parseFloat(newProgress) - parseFloat(prevProgress);
|
|
27
|
-
if (diff >= 30) return {};
|
|
28
|
-
}
|
|
29
|
-
if (prevProgress >= newProgress) return {}; // TODO: This a workaround for solution of inconsistent events from penthera module.
|
|
30
|
-
}
|
|
31
|
-
|
|
32
21
|
return {
|
|
33
22
|
assetsProgress: {
|
|
34
23
|
...state.assetsProgress,
|
|
@@ -108,6 +97,11 @@ export const usePenthera = create(set => ({
|
|
|
108
97
|
console.log('error in onPlayVideo', error);
|
|
109
98
|
return {};
|
|
110
99
|
}
|
|
100
|
+
},
|
|
101
|
+
setError: dataParse => {
|
|
102
|
+
return set(() => ({
|
|
103
|
+
assetError: dataParse
|
|
104
|
+
}));
|
|
111
105
|
}
|
|
112
106
|
}));
|
|
113
107
|
const onListener = sessionConnect => {
|
|
@@ -129,6 +123,7 @@ export function usePentheraInit(_ref2) {
|
|
|
129
123
|
const deleteManyAssets = usePenthera(state => state.deleteManyAssets);
|
|
130
124
|
const updateAssetsProgress = usePenthera(state => state.updateAssetsProgress);
|
|
131
125
|
const onGetAllAssets = usePenthera(state => state.onGetAllAssets);
|
|
126
|
+
const setError = usePenthera(state => state.setError);
|
|
132
127
|
useEffect(() => {
|
|
133
128
|
if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
|
|
134
129
|
return;
|
|
@@ -170,8 +165,10 @@ export function usePentheraInit(_ref2) {
|
|
|
170
165
|
case PentheraEvent.ASSET_DELETED:
|
|
171
166
|
deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
|
|
172
167
|
break;
|
|
173
|
-
case PentheraEvent.CONFIG_ASSET_FAILED:
|
|
174
168
|
case PentheraEvent.ERROR_DOWNLOAD:
|
|
169
|
+
setError(manageDataError(info));
|
|
170
|
+
break;
|
|
171
|
+
case PentheraEvent.CONFIG_ASSET_FAILED:
|
|
175
172
|
case PentheraEvent.PENDING_ASSET_FOUND:
|
|
176
173
|
default:
|
|
177
174
|
console.log('case nout found:', info);
|
|
@@ -186,6 +183,6 @@ export function usePentheraInit(_ref2) {
|
|
|
186
183
|
(_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
|
|
187
184
|
setIsInitialized(false);
|
|
188
185
|
};
|
|
189
|
-
}, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress]);
|
|
186
|
+
}, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress, setError]);
|
|
190
187
|
}
|
|
191
188
|
//# sourceMappingURL=usePenthera.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useState","NativeEventEmitter","NativeModules","Platform","create","PentheraEvent","deleteMany","download","getDownloads","initialize","pauseDownload","playAsset","usePenthera","set","assets","assetsProgress","loadAssets","addAsset","asset","state","deleteManyAssets","assetIds","filter","includes","id","updateAssetsProgress","progress","
|
|
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","length","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 +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":"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"}
|
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;AACnC,cAAc,eAAe"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export let Description = /*#__PURE__*/function (Description) {
|
|
2
|
+
Description["ASSET_ALREADY_DOWNLOADED"] = "ASSET_ALREADY_DOWNLOADED";
|
|
3
|
+
Description["LIMIT_EXCEEDED"] = "LIMIT_EXCEEDED";
|
|
4
|
+
Description["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
|
|
5
|
+
return Description;
|
|
6
|
+
}({});
|
|
7
|
+
const errorMappings = {
|
|
8
|
+
'The asset has already been downloaded as many times as permitted. To download this asset again, administrative action is required.': Description.ASSET_ALREADY_DOWNLOADED,
|
|
9
|
+
'There are already as many downloads as permitted on this account. To continue downloading, the user must delete downloaded assets from one of their devices.': Description.LIMIT_EXCEEDED
|
|
10
|
+
};
|
|
11
|
+
export const manageDataError = event => {
|
|
12
|
+
for (const [pattern, code] of Object.entries(errorMappings)) {
|
|
13
|
+
if (event.body.includes(pattern)) {
|
|
14
|
+
return {
|
|
15
|
+
assetId: event.assetId,
|
|
16
|
+
description: code
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
assetId: event.assetId,
|
|
22
|
+
description: Description.UNKNOWN_ERROR
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Description","errorMappings","ASSET_ALREADY_DOWNLOADED","LIMIT_EXCEEDED","manageDataError","event","pattern","code","Object","entries","body","includes","assetId","description","UNKNOWN_ERROR"],"sourceRoot":"../../../src","sources":["utils/utils.ts"],"mappings":"AAEA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAMvB,MAAMC,aAAa,GAAG;EACpB,qIAAqI,EACnID,WAAW,CAACE,wBAAwB;EACtC,+JAA+J,EAC7JF,WAAW,CAACG;AAChB,CAAC;AAOD,OAAO,MAAMC,eAAe,GAAIC,KAAY,IAAkB;EAC5D,KAAK,MAAM,CAACC,OAAO,EAAEC,IAAI,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACR,aAAa,CAAC,EAAE;IAC3D,IAAII,KAAK,CAACK,IAAI,CAACC,QAAQ,CAACL,OAAO,CAAC,EAAE;MAChC,OAAO;QACLM,OAAO,EAAEP,KAAK,CAACO,OAAO;QACtBC,WAAW,EAAEN;MACf,CAAC;IACH;EACF;EAEA,OAAO;IACLK,OAAO,EAAEP,KAAK,CAACO,OAAO;IACtBC,WAAW,EAAEb,WAAW,CAACc;EAC3B,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePenthera.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/usePenthera.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,cAAc,
|
|
1
|
+
{"version":3,"file":"usePenthera.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/usePenthera.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,cAAc,EAGf,MAAM,qBAAqB,CAAC;AAY7B,eAAO,MAAM,WAAW,6FA+FrB,CAAC;AAUJ,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,GACd,EAAE,qBAAqB,QAuFvB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { PentheraTypes } from 'src/interface/PentheraTypes';
|
|
3
|
+
import type { IParseError } from 'src/utils/utils';
|
|
3
4
|
export declare enum PentheraEvent {
|
|
4
5
|
VIRTUOSO_SUCCESS = "Virtuoso Success",
|
|
5
6
|
DID_START_DOWNLOADING = "DID_START_DOWNLOADING",
|
|
@@ -25,6 +26,7 @@ export interface InterfaceDataPlay {
|
|
|
25
26
|
export type PentheraState = {
|
|
26
27
|
assets: PentheraTypes.ItemCatalog[] | [];
|
|
27
28
|
assetsProgress: AssetProgress | {};
|
|
29
|
+
assetError: IParseError | {};
|
|
28
30
|
};
|
|
29
31
|
export type PentheraProviderProps = React.PropsWithChildren<{
|
|
30
32
|
userId: string;
|
|
@@ -42,6 +44,7 @@ export type PentheraAction = {
|
|
|
42
44
|
onDelete: (assetIDs: string[]) => void;
|
|
43
45
|
onPauseDownload: (assetID: string) => void;
|
|
44
46
|
onPlayVideo: (assetID: string) => Promise<InterfaceDataPlay>;
|
|
47
|
+
setError: (data: IParseError) => void;
|
|
45
48
|
};
|
|
46
49
|
export type Event = {
|
|
47
50
|
code: PentheraEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePenthera.types.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/usePenthera.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"usePenthera.types.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/usePenthera.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,oBAAY,aAAa;IACvB,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAC/C,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,6BAA6B,kCAAkC;IAC/D,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;CAC5C;AACD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,KAAK,QAAQ,GAAG,MAAM,CAAC;AAEvB,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;IACzC,cAAc,EAAE,aAAa,GAAG,EAAE,CAAC;IACnC,UAAU,EAAE,WAAW,GAAG,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,KAAK,IAAI,CAAC;IACrD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC/C,oBAAoB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7D,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,cAAc,KAAK,IAAI,CAAC;IACzD,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC7D,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Event } from '..';
|
|
2
|
+
export declare enum Description {
|
|
3
|
+
ASSET_ALREADY_DOWNLOADED = "ASSET_ALREADY_DOWNLOADED",
|
|
4
|
+
LIMIT_EXCEEDED = "LIMIT_EXCEEDED",
|
|
5
|
+
UNKNOWN_ERROR = "UNKNOWN_ERROR"
|
|
6
|
+
}
|
|
7
|
+
export interface IParseError {
|
|
8
|
+
assetId: string;
|
|
9
|
+
description: Description;
|
|
10
|
+
}
|
|
11
|
+
export declare const manageDataError: (event: Event) => IParseError;
|
|
12
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAEhC,oBAAY,WAAW;IACrB,wBAAwB,6BAA6B;IACrD,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;CAChC;AASD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,eAAO,MAAM,eAAe,UAAW,KAAK,KAAG,WAc9C,CAAC"}
|
package/package.json
CHANGED
|
@@ -9,7 +9,6 @@ import {
|
|
|
9
9
|
type PentheraProviderProps,
|
|
10
10
|
PentheraAction,
|
|
11
11
|
Event,
|
|
12
|
-
AssetProgress,
|
|
13
12
|
InterfaceDataPlay,
|
|
14
13
|
} from './usePenthera.types';
|
|
15
14
|
import {
|
|
@@ -21,10 +20,12 @@ import {
|
|
|
21
20
|
playAsset,
|
|
22
21
|
} from '../../nativeModules';
|
|
23
22
|
import type { PentheraTypes } from '../../interface/PentheraTypes';
|
|
23
|
+
import { manageDataError } from '../../utils/utils';
|
|
24
24
|
|
|
25
25
|
export const usePenthera = create<PentheraState & PentheraAction>((set) => ({
|
|
26
26
|
assets: [],
|
|
27
27
|
assetsProgress: {},
|
|
28
|
+
assetError: {},
|
|
28
29
|
loadAssets: (assets: PentheraState['assets']) =>
|
|
29
30
|
set(() => ({
|
|
30
31
|
assets,
|
|
@@ -39,24 +40,6 @@ export const usePenthera = create<PentheraState & PentheraAction>((set) => ({
|
|
|
39
40
|
})),
|
|
40
41
|
updateAssetsProgress: (progress) =>
|
|
41
42
|
set((state) => {
|
|
42
|
-
const assetId: keyof AssetProgress | undefined =
|
|
43
|
-
Object.keys(progress)?.[0];
|
|
44
|
-
if (
|
|
45
|
-
assetId &&
|
|
46
|
-
state.assetsProgress &&
|
|
47
|
-
progress &&
|
|
48
|
-
assetId in progress &&
|
|
49
|
-
assetId in state.assetsProgress
|
|
50
|
-
) {
|
|
51
|
-
const prevProgress: string =
|
|
52
|
-
state.assetsProgress?.[assetId as keyof typeof state.assetsProgress];
|
|
53
|
-
const newProgress = progress?.[assetId as keyof typeof progress];
|
|
54
|
-
if (prevProgress === '0' && newProgress) {
|
|
55
|
-
const diff = parseFloat(newProgress) - parseFloat(prevProgress);
|
|
56
|
-
if (diff >= 30) return {};
|
|
57
|
-
}
|
|
58
|
-
if (prevProgress >= newProgress!) return {}; // TODO: This a workaround for solution of inconsistent events from penthera module.
|
|
59
|
-
}
|
|
60
43
|
return {
|
|
61
44
|
assetsProgress: {
|
|
62
45
|
...state.assetsProgress,
|
|
@@ -129,6 +112,11 @@ export const usePenthera = create<PentheraState & PentheraAction>((set) => ({
|
|
|
129
112
|
return {};
|
|
130
113
|
}
|
|
131
114
|
},
|
|
115
|
+
setError: (dataParse) => {
|
|
116
|
+
return set(() => ({
|
|
117
|
+
assetError: dataParse,
|
|
118
|
+
}));
|
|
119
|
+
},
|
|
132
120
|
}));
|
|
133
121
|
|
|
134
122
|
const onListener = (sessionConnect: (event: string) => void) => {
|
|
@@ -152,6 +140,7 @@ export function usePentheraInit({
|
|
|
152
140
|
(state) => state.updateAssetsProgress
|
|
153
141
|
);
|
|
154
142
|
const onGetAllAssets = usePenthera((state) => state.onGetAllAssets);
|
|
143
|
+
const setError = usePenthera((state) => state.setError);
|
|
155
144
|
useEffect(() => {
|
|
156
145
|
if (
|
|
157
146
|
!userId ||
|
|
@@ -204,9 +193,10 @@ export function usePentheraInit({
|
|
|
204
193
|
case PentheraEvent.ASSET_DELETED:
|
|
205
194
|
deleteManyAssets([info?.assetId]);
|
|
206
195
|
break;
|
|
207
|
-
|
|
208
|
-
case PentheraEvent.CONFIG_ASSET_FAILED:
|
|
209
196
|
case PentheraEvent.ERROR_DOWNLOAD:
|
|
197
|
+
setError(manageDataError(info));
|
|
198
|
+
break;
|
|
199
|
+
case PentheraEvent.CONFIG_ASSET_FAILED:
|
|
210
200
|
case PentheraEvent.PENDING_ASSET_FOUND:
|
|
211
201
|
default:
|
|
212
202
|
console.log('case nout found:', info);
|
|
@@ -227,5 +217,6 @@ export function usePentheraInit({
|
|
|
227
217
|
deleteManyAssets,
|
|
228
218
|
onGetAllAssets,
|
|
229
219
|
updateAssetsProgress,
|
|
220
|
+
setError,
|
|
230
221
|
]);
|
|
231
222
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PentheraTypes } from 'src/interface/PentheraTypes';
|
|
2
|
+
import type { IParseError } from 'src/utils/utils';
|
|
2
3
|
|
|
3
4
|
export enum PentheraEvent {
|
|
4
5
|
VIRTUOSO_SUCCESS = 'Virtuoso Success',
|
|
@@ -28,6 +29,7 @@ export interface InterfaceDataPlay {
|
|
|
28
29
|
export type PentheraState = {
|
|
29
30
|
assets: PentheraTypes.ItemCatalog[] | [];
|
|
30
31
|
assetsProgress: AssetProgress | {};
|
|
32
|
+
assetError: IParseError | {};
|
|
31
33
|
};
|
|
32
34
|
|
|
33
35
|
export type PentheraProviderProps = React.PropsWithChildren<{
|
|
@@ -47,6 +49,7 @@ export type PentheraAction = {
|
|
|
47
49
|
onDelete: (assetIDs: string[]) => void;
|
|
48
50
|
onPauseDownload: (assetID: string) => void;
|
|
49
51
|
onPlayVideo: (assetID: string) => Promise<InterfaceDataPlay>;
|
|
52
|
+
setError: (data: IParseError) => void;
|
|
50
53
|
};
|
|
51
54
|
|
|
52
55
|
export type Event = {
|
package/src/index.tsx
CHANGED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Event } from '..';
|
|
2
|
+
|
|
3
|
+
export enum Description {
|
|
4
|
+
ASSET_ALREADY_DOWNLOADED = 'ASSET_ALREADY_DOWNLOADED',
|
|
5
|
+
LIMIT_EXCEEDED = 'LIMIT_EXCEEDED',
|
|
6
|
+
UNKNOWN_ERROR = 'UNKNOWN_ERROR',
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const errorMappings = {
|
|
10
|
+
'The asset has already been downloaded as many times as permitted. To download this asset again, administrative action is required.':
|
|
11
|
+
Description.ASSET_ALREADY_DOWNLOADED,
|
|
12
|
+
'There are already as many downloads as permitted on this account. To continue downloading, the user must delete downloaded assets from one of their devices.':
|
|
13
|
+
Description.LIMIT_EXCEEDED,
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export interface IParseError {
|
|
17
|
+
assetId: string;
|
|
18
|
+
description: Description;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const manageDataError = (event: Event): IParseError => {
|
|
22
|
+
for (const [pattern, code] of Object.entries(errorMappings)) {
|
|
23
|
+
if (event.body.includes(pattern)) {
|
|
24
|
+
return {
|
|
25
|
+
assetId: event.assetId,
|
|
26
|
+
description: code,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return {
|
|
32
|
+
assetId: event.assetId,
|
|
33
|
+
description: Description.UNKNOWN_ERROR,
|
|
34
|
+
};
|
|
35
|
+
};
|