@takeoffmedia/react-native-penthera 0.2.8 → 0.2.9
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/Util.swift +5 -17
- package/lib/commonjs/hooks/usePenthera/usePenthera.js +12 -2
- 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 -2
- 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 -2
- package/src/hooks/usePenthera/usePenthera.types.ts +3 -0
- package/src/index.tsx +1 -0
- package/src/utils/utils.ts +35 -0
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
|
})),
|
|
@@ -115,6 +117,11 @@ const usePenthera = (0, _zustand.create)(set => ({
|
|
|
115
117
|
console.log('error in onPlayVideo', error);
|
|
116
118
|
return {};
|
|
117
119
|
}
|
|
120
|
+
},
|
|
121
|
+
setError: dataParse => {
|
|
122
|
+
return set(() => ({
|
|
123
|
+
assetError: dataParse
|
|
124
|
+
}));
|
|
118
125
|
}
|
|
119
126
|
}));
|
|
120
127
|
exports.usePenthera = usePenthera;
|
|
@@ -137,6 +144,7 @@ function usePentheraInit(_ref2) {
|
|
|
137
144
|
const deleteManyAssets = usePenthera(state => state.deleteManyAssets);
|
|
138
145
|
const updateAssetsProgress = usePenthera(state => state.updateAssetsProgress);
|
|
139
146
|
const onGetAllAssets = usePenthera(state => state.onGetAllAssets);
|
|
147
|
+
const setError = usePenthera(state => state.setError);
|
|
140
148
|
(0, _react.useEffect)(() => {
|
|
141
149
|
if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
|
|
142
150
|
return;
|
|
@@ -178,8 +186,10 @@ function usePentheraInit(_ref2) {
|
|
|
178
186
|
case _usePenthera.PentheraEvent.ASSET_DELETED:
|
|
179
187
|
deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
|
|
180
188
|
break;
|
|
181
|
-
case _usePenthera.PentheraEvent.CONFIG_ASSET_FAILED:
|
|
182
189
|
case _usePenthera.PentheraEvent.ERROR_DOWNLOAD:
|
|
190
|
+
setError((0, _utils.manageDataError)(info));
|
|
191
|
+
break;
|
|
192
|
+
case _usePenthera.PentheraEvent.CONFIG_ASSET_FAILED:
|
|
183
193
|
case _usePenthera.PentheraEvent.PENDING_ASSET_FOUND:
|
|
184
194
|
default:
|
|
185
195
|
console.log('case nout found:', info);
|
|
@@ -194,6 +204,6 @@ function usePentheraInit(_ref2) {
|
|
|
194
204
|
(_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
|
|
195
205
|
setIsInitialized(false);
|
|
196
206
|
};
|
|
197
|
-
}, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress]);
|
|
207
|
+
}, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress, setError]);
|
|
198
208
|
}
|
|
199
209
|
//# 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","_Object$keys","assetId","Object","keys","_state$assetsProgress","prevProgress","newProgress","diff","parseFloat","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","updatedAssetsProgress","forEach","onPauseDownload","pauseDownload","onPlayVideo","playAsset","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","
|
|
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","_Object$keys","assetId","Object","keys","_state$assetsProgress","prevProgress","newProgress","diff","parseFloat","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","updatedAssetsProgress","forEach","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
|
})),
|
|
@@ -108,6 +110,11 @@ export const usePenthera = create(set => ({
|
|
|
108
110
|
console.log('error in onPlayVideo', error);
|
|
109
111
|
return {};
|
|
110
112
|
}
|
|
113
|
+
},
|
|
114
|
+
setError: dataParse => {
|
|
115
|
+
return set(() => ({
|
|
116
|
+
assetError: dataParse
|
|
117
|
+
}));
|
|
111
118
|
}
|
|
112
119
|
}));
|
|
113
120
|
const onListener = sessionConnect => {
|
|
@@ -129,6 +136,7 @@ export function usePentheraInit(_ref2) {
|
|
|
129
136
|
const deleteManyAssets = usePenthera(state => state.deleteManyAssets);
|
|
130
137
|
const updateAssetsProgress = usePenthera(state => state.updateAssetsProgress);
|
|
131
138
|
const onGetAllAssets = usePenthera(state => state.onGetAllAssets);
|
|
139
|
+
const setError = usePenthera(state => state.setError);
|
|
132
140
|
useEffect(() => {
|
|
133
141
|
if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
|
|
134
142
|
return;
|
|
@@ -170,8 +178,10 @@ export function usePentheraInit(_ref2) {
|
|
|
170
178
|
case PentheraEvent.ASSET_DELETED:
|
|
171
179
|
deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
|
|
172
180
|
break;
|
|
173
|
-
case PentheraEvent.CONFIG_ASSET_FAILED:
|
|
174
181
|
case PentheraEvent.ERROR_DOWNLOAD:
|
|
182
|
+
setError(manageDataError(info));
|
|
183
|
+
break;
|
|
184
|
+
case PentheraEvent.CONFIG_ASSET_FAILED:
|
|
175
185
|
case PentheraEvent.PENDING_ASSET_FOUND:
|
|
176
186
|
default:
|
|
177
187
|
console.log('case nout found:', info);
|
|
@@ -186,6 +196,6 @@ export function usePentheraInit(_ref2) {
|
|
|
186
196
|
(_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
|
|
187
197
|
setIsInitialized(false);
|
|
188
198
|
};
|
|
189
|
-
}, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress]);
|
|
199
|
+
}, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress, setError]);
|
|
190
200
|
}
|
|
191
201
|
//# 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","_Object$keys","assetId","Object","keys","_state$assetsProgress","prevProgress","newProgress","diff","parseFloat","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","updatedAssetsProgress","forEach","onPauseDownload","onPlayVideo","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","
|
|
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","_Object$keys","assetId","Object","keys","_state$assetsProgress","prevProgress","newProgress","diff","parseFloat","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","updatedAssetsProgress","forEach","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,EAIf,MAAM,qBAAqB,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,EAIf,MAAM,qBAAqB,CAAC;AAY7B,eAAO,MAAM,WAAW,6FAiHrB,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
|
@@ -21,10 +21,12 @@ import {
|
|
|
21
21
|
playAsset,
|
|
22
22
|
} from '../../nativeModules';
|
|
23
23
|
import type { PentheraTypes } from '../../interface/PentheraTypes';
|
|
24
|
+
import { manageDataError } from '../../utils/utils';
|
|
24
25
|
|
|
25
26
|
export const usePenthera = create<PentheraState & PentheraAction>((set) => ({
|
|
26
27
|
assets: [],
|
|
27
28
|
assetsProgress: {},
|
|
29
|
+
assetError: {},
|
|
28
30
|
loadAssets: (assets: PentheraState['assets']) =>
|
|
29
31
|
set(() => ({
|
|
30
32
|
assets,
|
|
@@ -129,6 +131,11 @@ export const usePenthera = create<PentheraState & PentheraAction>((set) => ({
|
|
|
129
131
|
return {};
|
|
130
132
|
}
|
|
131
133
|
},
|
|
134
|
+
setError: (dataParse) => {
|
|
135
|
+
return set(() => ({
|
|
136
|
+
assetError: dataParse,
|
|
137
|
+
}));
|
|
138
|
+
},
|
|
132
139
|
}));
|
|
133
140
|
|
|
134
141
|
const onListener = (sessionConnect: (event: string) => void) => {
|
|
@@ -152,6 +159,7 @@ export function usePentheraInit({
|
|
|
152
159
|
(state) => state.updateAssetsProgress
|
|
153
160
|
);
|
|
154
161
|
const onGetAllAssets = usePenthera((state) => state.onGetAllAssets);
|
|
162
|
+
const setError = usePenthera((state) => state.setError);
|
|
155
163
|
useEffect(() => {
|
|
156
164
|
if (
|
|
157
165
|
!userId ||
|
|
@@ -204,9 +212,10 @@ export function usePentheraInit({
|
|
|
204
212
|
case PentheraEvent.ASSET_DELETED:
|
|
205
213
|
deleteManyAssets([info?.assetId]);
|
|
206
214
|
break;
|
|
207
|
-
|
|
208
|
-
case PentheraEvent.CONFIG_ASSET_FAILED:
|
|
209
215
|
case PentheraEvent.ERROR_DOWNLOAD:
|
|
216
|
+
setError(manageDataError(info));
|
|
217
|
+
break;
|
|
218
|
+
case PentheraEvent.CONFIG_ASSET_FAILED:
|
|
210
219
|
case PentheraEvent.PENDING_ASSET_FOUND:
|
|
211
220
|
default:
|
|
212
221
|
console.log('case nout found:', info);
|
|
@@ -227,5 +236,6 @@ export function usePentheraInit({
|
|
|
227
236
|
deleteManyAssets,
|
|
228
237
|
onGetAllAssets,
|
|
229
238
|
updateAssetsProgress,
|
|
239
|
+
setError,
|
|
230
240
|
]);
|
|
231
241
|
}
|
|
@@ -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
|
+
};
|