@takeoffmedia/react-native-penthera 0.1.13 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/ios/Catalog.swift +2 -0
  2. package/ios/Penthera copy.swift +501 -0
  3. package/ios/Penthera.m +0 -4
  4. package/ios/Penthera.swift +6 -7
  5. package/ios/Penthera.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  6. package/ios/Penthera.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  7. package/ios/Penthera.xcodeproj/project.xcworkspace/xcuserdata/joseguerreroot.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  8. package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +104 -0
  9. package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  10. package/lib/commonjs/hooks/usePenthera/index.js +28 -0
  11. package/lib/commonjs/hooks/usePenthera/index.js.map +1 -0
  12. package/lib/commonjs/hooks/usePenthera/usePenthera.js +184 -0
  13. package/lib/commonjs/hooks/usePenthera/usePenthera.js.map +1 -0
  14. package/lib/commonjs/{utils/Penthera.js → hooks/usePenthera/usePenthera.types.js} +1 -1
  15. package/lib/commonjs/hooks/usePenthera/usePenthera.types.js.map +1 -0
  16. package/lib/commonjs/index.js +11 -19
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/commonjs/nativeModules/index.js +7 -2
  19. package/lib/commonjs/nativeModules/index.js.map +1 -1
  20. package/lib/module/hooks/usePenthera/index.js +3 -0
  21. package/lib/module/hooks/usePenthera/index.js.map +1 -0
  22. package/lib/module/hooks/usePenthera/usePenthera.js +176 -0
  23. package/lib/module/hooks/usePenthera/usePenthera.js.map +1 -0
  24. package/lib/module/{utils/Penthera.js → hooks/usePenthera/usePenthera.types.js} +1 -1
  25. package/lib/module/hooks/usePenthera/usePenthera.types.js.map +1 -0
  26. package/lib/module/index.js +1 -3
  27. package/lib/module/index.js.map +1 -1
  28. package/lib/module/nativeModules/index.js +7 -2
  29. package/lib/module/nativeModules/index.js.map +1 -1
  30. package/lib/typescript/hooks/usePenthera/index.d.ts +3 -0
  31. package/lib/typescript/hooks/usePenthera/index.d.ts.map +1 -0
  32. package/lib/typescript/hooks/usePenthera/usePenthera.d.ts +4 -0
  33. package/lib/typescript/hooks/usePenthera/usePenthera.d.ts.map +1 -0
  34. package/lib/typescript/hooks/usePenthera/usePenthera.types.d.ts +44 -0
  35. package/lib/typescript/hooks/usePenthera/usePenthera.types.d.ts.map +1 -0
  36. package/lib/typescript/index.d.ts +1 -2
  37. package/lib/typescript/index.d.ts.map +1 -1
  38. package/lib/typescript/interface/PentheraTypes.d.ts +6 -0
  39. package/lib/typescript/interface/PentheraTypes.d.ts.map +1 -1
  40. package/lib/typescript/nativeModules/index.d.ts +1 -1
  41. package/lib/typescript/nativeModules/index.d.ts.map +1 -1
  42. package/package.json +4 -1
  43. package/src/hooks/usePenthera/index.ts +2 -0
  44. package/src/hooks/usePenthera/usePenthera.tsx +209 -0
  45. package/src/hooks/usePenthera/usePenthera.types.ts +46 -0
  46. package/src/index.tsx +1 -3
  47. package/src/interface/PentheraTypes.ts +7 -0
  48. package/src/nativeModules/index.ts +16 -9
  49. package/lib/commonjs/hooks/index.js +0 -13
  50. package/lib/commonjs/hooks/index.js.map +0 -1
  51. package/lib/commonjs/hooks/usePenthera.js +0 -147
  52. package/lib/commonjs/hooks/usePenthera.js.map +0 -1
  53. package/lib/commonjs/utils/Penthera.js.map +0 -1
  54. package/lib/module/hooks/index.js +0 -2
  55. package/lib/module/hooks/index.js.map +0 -1
  56. package/lib/module/hooks/usePenthera.js +0 -141
  57. package/lib/module/hooks/usePenthera.js.map +0 -1
  58. package/lib/module/utils/Penthera.js.map +0 -1
  59. package/lib/typescript/hooks/index.d.ts +0 -2
  60. package/lib/typescript/hooks/index.d.ts.map +0 -1
  61. package/lib/typescript/hooks/usePenthera.d.ts +0 -21
  62. package/lib/typescript/hooks/usePenthera.d.ts.map +0 -1
  63. package/lib/typescript/utils/Penthera.d.ts +0 -12
  64. package/lib/typescript/utils/Penthera.d.ts.map +0 -1
  65. package/src/hooks/index.ts +0 -1
  66. package/src/hooks/usePenthera.ts +0 -156
  67. package/src/utils/Penthera.ts +0 -11
@@ -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>
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _usePenthera = require("./usePenthera");
7
+ Object.keys(_usePenthera).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _usePenthera[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _usePenthera[key];
14
+ }
15
+ });
16
+ });
17
+ var _usePenthera2 = require("./usePenthera.types");
18
+ Object.keys(_usePenthera2).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _usePenthera2[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _usePenthera2[key];
25
+ }
26
+ });
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_usePenthera","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_usePenthera2"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/index.ts"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.usePenthera = void 0;
7
+ exports.usePentheraInit = usePentheraInit;
8
+ var _react = require("react");
9
+ var _reactNative = require("react-native");
10
+ var _zustand = require("zustand");
11
+ var _usePenthera = require("./usePenthera.types");
12
+ var _nativeModules = require("../../nativeModules");
13
+ const usePenthera = (0, _zustand.create)(set => ({
14
+ assets: [],
15
+ assetsProgress: {},
16
+ loadAssets: assets => set(() => ({
17
+ assets
18
+ })),
19
+ addAsset: asset => set(state => ({
20
+ assets: [...state.assets, asset]
21
+ })),
22
+ deleteManyAssets: assetIds => set(state => ({
23
+ assets: state.assets.filter(asset => !assetIds.includes(asset.id))
24
+ })),
25
+ updateAssetsProgress: progress => set(state => ({
26
+ assetsProgress: {
27
+ ...state.assetsProgress,
28
+ ...progress
29
+ }
30
+ })),
31
+ onGetAllAssets: async () => {
32
+ try {
33
+ const assets = await (0, _nativeModules.getDownloads)('');
34
+ if (assets.length > 0) {
35
+ return set(() => ({
36
+ assets
37
+ }));
38
+ }
39
+ } catch (error) {
40
+ console.log('error in getDownloads', error);
41
+ }
42
+ },
43
+ onDownload: async _ref => {
44
+ var _item$thumbnails;
45
+ let {
46
+ item,
47
+ url,
48
+ drm
49
+ } = _ref;
50
+ const dataAndroid = {
51
+ asset_id: item.id,
52
+ content_url: url,
53
+ poster: (_item$thumbnails = item.thumbnails) === null || _item$thumbnails === void 0 ? void 0 : _item$thumbnails.thumbnail,
54
+ subtitle: ''
55
+ };
56
+ const dataBySO = _reactNative.Platform.OS === 'android' ? dataAndroid : {
57
+ item,
58
+ url,
59
+ drm
60
+ };
61
+ try {
62
+ await (0, _nativeModules.download)(JSON.stringify(dataBySO));
63
+ return set(state => ({
64
+ assets: [...state.assets, item]
65
+ }));
66
+ } catch (error) {
67
+ console.error('error: downloadAsset', error);
68
+ }
69
+ },
70
+ onDelete: async assetIds => {
71
+ try {
72
+ const response = await (0, _nativeModules.deleteMany)(assetIds);
73
+ const deleted = Object.keys(response).filter(item => response[item]);
74
+ return set(state => {
75
+ const updatedAssetsProgress = {
76
+ ...state.assetsProgress
77
+ };
78
+ deleted.forEach(assetId => {
79
+ if (state) {
80
+ delete updatedAssetsProgress[assetId];
81
+ }
82
+ });
83
+ return {
84
+ assets: state.assets.filter(asset => !deleted.includes(asset.id)),
85
+ assetsProgress: updatedAssetsProgress
86
+ };
87
+ });
88
+ } catch (error) {
89
+ console.error('Error: deleteMany', error);
90
+ }
91
+ },
92
+ onPauseDownload: async assetId => {
93
+ await (0, _nativeModules.pauseDownload)(assetId);
94
+ },
95
+ onPlayVideo: async assetId => {
96
+ return await (0, _nativeModules.playAsset)(assetId);
97
+ }
98
+ }));
99
+ exports.usePenthera = usePenthera;
100
+ const onListener = sessionConnect => {
101
+ const NEventEmitter = _reactNative.NativeModules.Penthera;
102
+ const eventEmitter = new _reactNative.NativeEventEmitter(NEventEmitter);
103
+ eventEmitter.removeAllListeners('penthera');
104
+ const eventListener = eventEmitter.addListener('penthera', sessionConnect);
105
+ return eventListener;
106
+ };
107
+ function usePentheraInit(_ref2) {
108
+ let {
109
+ userId,
110
+ BACKPLANE_PRIVATE_KEY,
111
+ BACKPLANE_PUBLIC_KEY,
112
+ BACKPLANE_URL
113
+ } = _ref2;
114
+ const [isInitialized, setIsInitialized] = (0, _react.useState)(false);
115
+ const addAsset = usePenthera(state => state.addAsset);
116
+ const deleteManyAssets = usePenthera(state => state.deleteManyAssets);
117
+ const updateAssetsProgress = usePenthera(state => state.updateAssetsProgress);
118
+ const onGetAllAssets = usePenthera(state => state.onGetAllAssets);
119
+ (0, _react.useEffect)(() => {
120
+ if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
121
+ return;
122
+ }
123
+ const init = async () => {
124
+ await (0, _nativeModules.initialize)(userId, BACKPLANE_URL, BACKPLANE_PUBLIC_KEY, BACKPLANE_PRIVATE_KEY);
125
+ setIsInitialized(true);
126
+ };
127
+ init();
128
+ }, [userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL]);
129
+ (0, _react.useEffect)(() => {
130
+ if (!isInitialized) return;
131
+ console.log('starting init');
132
+ const sessionConnect = newEvent => {
133
+ const info = JSON.parse(newEvent);
134
+ console.log('info', info);
135
+ switch (info.code) {
136
+ case _usePenthera.PentheraEvent.VIRTUOSO_SUCCESS:
137
+ break;
138
+ case _usePenthera.PentheraEvent.DID_START_DOWNLOADING:
139
+ updateAssetsProgress({
140
+ [info === null || info === void 0 ? void 0 : info.assetId]: '0'
141
+ });
142
+ addAsset({
143
+ id: info.assetId,
144
+ title: '',
145
+ path: '',
146
+ drm: ''
147
+ }); // TODO: Add others field item information
148
+ break;
149
+ case _usePenthera.PentheraEvent.PROGRESS_UPDATED:
150
+ updateAssetsProgress({
151
+ [info === null || info === void 0 ? void 0 : info.assetId]: info.body
152
+ });
153
+ break;
154
+ case _usePenthera.PentheraEvent.DOWNLOAD_COMPLETE:
155
+ updateAssetsProgress({
156
+ [info.assetId]: '100'
157
+ });
158
+ onGetAllAssets();
159
+ break;
160
+ case _usePenthera.PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED:
161
+ //TODO: Can be util for pause and resume download state
162
+ break;
163
+ case _usePenthera.PentheraEvent.ASSET_DELETED:
164
+ deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
165
+ break;
166
+ case _usePenthera.PentheraEvent.CONFIG_ASSET_FAILED:
167
+ case _usePenthera.PentheraEvent.ERROR_DOWNLOAD:
168
+ case _usePenthera.PentheraEvent.PENDING_ASSET_FOUND:
169
+ default:
170
+ console.log('case nout found:', info);
171
+ break;
172
+ }
173
+ };
174
+ onGetAllAssets();
175
+ let eventListener;
176
+ eventListener = onListener(sessionConnect);
177
+ return () => {
178
+ var _eventListener;
179
+ (_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
180
+ setIsInitialized(false);
181
+ };
182
+ }, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress]);
183
+ }
184
+ //# sourceMappingURL=usePenthera.js.map
@@ -0,0 +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","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","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","title","path","PROGRESS_UPDATED","body","DOWNLOAD_COMPLETE","ASSET_RESUME_DOWNLOAD_UPDATED","ASSET_DELETED","CONFIG_ASSET_FAILED","ERROR_DOWNLOAD","PENDING_ASSET_FOUND","_eventListener","remove"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
@@ -17,4 +17,4 @@ let PentheraEvent = /*#__PURE__*/function (PentheraEvent) {
17
17
  return PentheraEvent;
18
18
  }({});
19
19
  exports.PentheraEvent = PentheraEvent;
20
- //# sourceMappingURL=Penthera.js.map
20
+ //# sourceMappingURL=usePenthera.types.js.map
@@ -0,0 +1 @@
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"}
@@ -3,26 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _exportNames = {
7
- usePenthera: true,
8
- PentheraEvent: true
9
- };
10
- Object.defineProperty(exports, "PentheraEvent", {
11
- enumerable: true,
12
- get: function () {
13
- return _Penthera.PentheraEvent;
14
- }
15
- });
16
- Object.defineProperty(exports, "usePenthera", {
17
- enumerable: true,
18
- get: function () {
19
- return _hooks.usePenthera;
20
- }
21
- });
22
6
  var _nativeModules = require("./nativeModules");
23
7
  Object.keys(_nativeModules).forEach(function (key) {
24
8
  if (key === "default" || key === "__esModule") return;
25
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
26
9
  if (key in exports && exports[key] === _nativeModules[key]) return;
27
10
  Object.defineProperty(exports, key, {
28
11
  enumerable: true,
@@ -31,6 +14,15 @@ Object.keys(_nativeModules).forEach(function (key) {
31
14
  }
32
15
  });
33
16
  });
34
- var _hooks = require("./hooks");
35
- var _Penthera = require("./utils/Penthera");
17
+ var _usePenthera = require("./hooks/usePenthera");
18
+ Object.keys(_usePenthera).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _usePenthera[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _usePenthera[key];
25
+ }
26
+ });
27
+ });
36
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_nativeModules","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_hooks","_Penthera"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,MAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA"}
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"}
@@ -41,8 +41,13 @@ function download(blank) {
41
41
  function deleteAsset(assetID) {
42
42
  return Penthera.delete(assetID);
43
43
  }
44
- function playAsset(assetID) {
45
- return Penthera.playAsset(assetID);
44
+ async function playAsset(assetID) {
45
+ try {
46
+ const response = await Penthera.playAsset(assetID);
47
+ return JSON.parse(response);
48
+ } catch {
49
+ return {};
50
+ }
46
51
  }
47
52
  function getByAssetId(assetID) {
48
53
  return Penthera.getByAssetId(assetID);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","Penthera","NativeModules","Proxy","get","Error","initialize","user","backplaneUrl","publicKey","privateKey","initializeSdk","getDownloads","blank","response","responseData","JSON","parse","download","deleteAsset","assetID","delete","playAsset","getByAssetId","loadBitmovinSourceManager","nativeId","multiply","a","b","pauseDownload","deleteMany","assetIDs"],"sourceRoot":"../../../src","sources":["nativeModules/index.ts"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GAChB,8FAA6F,GAC9FC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,QAAQ,GAAGC,0BAAa,CAACD,QAAQ,GACnCC,0BAAa,CAACD,QAAQ,GACtB,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CAAC,CACF;AAEE,SAASU,UAAUA,CACxBC,IAAY,EACZC,YAAoB,EACpBC,SAAiB,EACjBC,UAAkB,EACD;EACjB,OAAOT,QAAQ,CAACU,aAAa,CAACJ,IAAI,EAAEC,YAAY,EAAEC,SAAS,EAAEC,UAAU,CAAC;AAC1E;AAEO,eAAeE,YAAYA,CAChCC,KAAa,EACe;EAC5B,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMb,QAAQ,CAACW,YAAY,CAACC,KAAK,CAAC;IACnD,MAAME,YAAY,GAAGC,IAAI,CAACC,KAAK,CAACH,QAAQ,CAAC;IACzC,OAAOC,YAAY;EACrB,CAAC,CAAC,MAAM;IACN,OAAO,EAAE;EACX;AACF;AAEO,SAASG,QAAQA,CAACL,KAAa,EAAmB;EACvD,OAAOZ,QAAQ,CAACiB,QAAQ,CAACL,KAAK,CAAC;AACjC;AAEO,SAASM,WAAWA,CAACC,OAAe,EAAmB;EAC5D,OAAOnB,QAAQ,CAACoB,MAAM,CAACD,OAAO,CAAC;AACjC;AAEO,SAASE,SAASA,CAACF,OAAe,EAAmB;EAC1D,OAAOnB,QAAQ,CAACqB,SAAS,CAACF,OAAO,CAAC;AACpC;AAEO,SAASG,YAAYA,CAACH,OAAe,EAAmB;EAC7D,OAAOnB,QAAQ,CAACsB,YAAY,CAACH,OAAO,CAAC;AACvC;AAEO,SAASI,yBAAyBA,CACvCJ,OAAe,EACfK,QAAgB,EACE;EAClB,OAAOxB,QAAQ,CAACuB,yBAAyB,CAACJ,OAAO,EAAEK,QAAQ,CAAC;AAC9D;AAEO,SAASC,QAAQA,CAACC,CAAS,EAAEC,CAAS,EAAmB;EAC9D,OAAO3B,QAAQ,CAACyB,QAAQ,CAACC,CAAC,EAAEC,CAAC,CAAC;AAChC;AAEO,SAASC,aAAaA,CAACT,OAAe,EAAmB;EAC9D,OAAOnB,QAAQ,CAAC4B,aAAa,CAACT,OAAO,CAAC;AACxC;AAEO,SAASU,UAAUA,CACxBC,QAAkB,EACgB;EAClC,OAAO9B,QAAQ,CAAC6B,UAAU,CAACC,QAAQ,CAAC;AACtC"}
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","Penthera","NativeModules","Proxy","get","Error","initialize","user","backplaneUrl","publicKey","privateKey","initializeSdk","getDownloads","blank","response","responseData","JSON","parse","download","deleteAsset","assetID","delete","playAsset","getByAssetId","loadBitmovinSourceManager","nativeId","multiply","a","b","pauseDownload","deleteMany","assetIDs"],"sourceRoot":"../../../src","sources":["nativeModules/index.ts"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GAChB,8FAA6F,GAC9FC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,QAAQ,GAAGC,0BAAa,CAACD,QAAQ,GACnCC,0BAAa,CAACD,QAAQ,GACtB,IAAIE,KAAK,CACT,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CAAC,CACF;AAEI,SAASU,UAAUA,CACxBC,IAAY,EACZC,YAAoB,EACpBC,SAAiB,EACjBC,UAAkB,EACD;EACjB,OAAOT,QAAQ,CAACU,aAAa,CAACJ,IAAI,EAAEC,YAAY,EAAEC,SAAS,EAAEC,UAAU,CAAC;AAC1E;AAEO,eAAeE,YAAYA,CAChCC,KAAa,EACe;EAC5B,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMb,QAAQ,CAACW,YAAY,CAACC,KAAK,CAAC;IACnD,MAAME,YAAY,GAAGC,IAAI,CAACC,KAAK,CAACH,QAAQ,CAAC;IACzC,OAAOC,YAAY;EACrB,CAAC,CAAC,MAAM;IACN,OAAO,EAAE;EACX;AACF;AAEO,SAASG,QAAQA,CAACL,KAAa,EAAmB;EACvD,OAAOZ,QAAQ,CAACiB,QAAQ,CAACL,KAAK,CAAC;AACjC;AAEO,SAASM,WAAWA,CAACC,OAAe,EAAmB;EAC5D,OAAOnB,QAAQ,CAACoB,MAAM,CAACD,OAAO,CAAC;AACjC;AAEO,eAAeE,SAASA,CAC7BF,OAAe,EACa;EAC5B,IAAI;IACF,MAAMN,QAAQ,GAAG,MAAMb,QAAQ,CAACqB,SAAS,CAACF,OAAO,CAAC;IAClD,OAAOJ,IAAI,CAACC,KAAK,CAACH,QAAQ,CAAC;EAC7B,CAAC,CAAC,MAAM;IACN,OAAO,CAAC,CAAC;EACX;AACF;AAEO,SAASS,YAAYA,CAACH,OAAe,EAAmB;EAC7D,OAAOnB,QAAQ,CAACsB,YAAY,CAACH,OAAO,CAAC;AACvC;AAEO,SAASI,yBAAyBA,CACvCJ,OAAe,EACfK,QAAgB,EACE;EAClB,OAAOxB,QAAQ,CAACuB,yBAAyB,CAACJ,OAAO,EAAEK,QAAQ,CAAC;AAC9D;AAEO,SAASC,QAAQA,CAACC,CAAS,EAAEC,CAAS,EAAmB;EAC9D,OAAO3B,QAAQ,CAACyB,QAAQ,CAACC,CAAC,EAAEC,CAAC,CAAC;AAChC;AAEO,SAASC,aAAaA,CAACT,OAAe,EAAmB;EAC9D,OAAOnB,QAAQ,CAAC4B,aAAa,CAACT,OAAO,CAAC;AACxC;AAEO,SAASU,UAAUA,CACxBC,QAAkB,EACgB;EAClC,OAAO9B,QAAQ,CAAC6B,UAAU,CAACC,QAAQ,CAAC;AACtC"}
@@ -0,0 +1,3 @@
1
+ export * from './usePenthera';
2
+ export * from './usePenthera.types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/index.ts"],"mappings":"AAAA,cAAc,eAAe;AAC7B,cAAc,qBAAqB"}
@@ -0,0 +1,176 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
3
+ import { create } from 'zustand';
4
+ import { PentheraEvent } from './usePenthera.types';
5
+ import { deleteMany, download, getDownloads, initialize, pauseDownload, playAsset } from '../../nativeModules';
6
+ export const usePenthera = create(set => ({
7
+ assets: [],
8
+ assetsProgress: {},
9
+ loadAssets: assets => set(() => ({
10
+ assets
11
+ })),
12
+ addAsset: asset => set(state => ({
13
+ assets: [...state.assets, asset]
14
+ })),
15
+ deleteManyAssets: assetIds => set(state => ({
16
+ assets: state.assets.filter(asset => !assetIds.includes(asset.id))
17
+ })),
18
+ updateAssetsProgress: progress => set(state => ({
19
+ assetsProgress: {
20
+ ...state.assetsProgress,
21
+ ...progress
22
+ }
23
+ })),
24
+ onGetAllAssets: async () => {
25
+ try {
26
+ const assets = await getDownloads('');
27
+ if (assets.length > 0) {
28
+ return set(() => ({
29
+ assets
30
+ }));
31
+ }
32
+ } catch (error) {
33
+ console.log('error in getDownloads', error);
34
+ }
35
+ },
36
+ onDownload: async _ref => {
37
+ var _item$thumbnails;
38
+ let {
39
+ item,
40
+ url,
41
+ drm
42
+ } = _ref;
43
+ const dataAndroid = {
44
+ asset_id: item.id,
45
+ content_url: url,
46
+ poster: (_item$thumbnails = item.thumbnails) === null || _item$thumbnails === void 0 ? void 0 : _item$thumbnails.thumbnail,
47
+ subtitle: ''
48
+ };
49
+ const dataBySO = Platform.OS === 'android' ? dataAndroid : {
50
+ item,
51
+ url,
52
+ drm
53
+ };
54
+ try {
55
+ await download(JSON.stringify(dataBySO));
56
+ return set(state => ({
57
+ assets: [...state.assets, item]
58
+ }));
59
+ } catch (error) {
60
+ console.error('error: downloadAsset', error);
61
+ }
62
+ },
63
+ onDelete: async assetIds => {
64
+ try {
65
+ const response = await deleteMany(assetIds);
66
+ const deleted = Object.keys(response).filter(item => response[item]);
67
+ return set(state => {
68
+ const updatedAssetsProgress = {
69
+ ...state.assetsProgress
70
+ };
71
+ deleted.forEach(assetId => {
72
+ if (state) {
73
+ delete updatedAssetsProgress[assetId];
74
+ }
75
+ });
76
+ return {
77
+ assets: state.assets.filter(asset => !deleted.includes(asset.id)),
78
+ assetsProgress: updatedAssetsProgress
79
+ };
80
+ });
81
+ } catch (error) {
82
+ console.error('Error: deleteMany', error);
83
+ }
84
+ },
85
+ onPauseDownload: async assetId => {
86
+ await pauseDownload(assetId);
87
+ },
88
+ onPlayVideo: async assetId => {
89
+ return await playAsset(assetId);
90
+ }
91
+ }));
92
+ const onListener = sessionConnect => {
93
+ const NEventEmitter = NativeModules.Penthera;
94
+ const eventEmitter = new NativeEventEmitter(NEventEmitter);
95
+ eventEmitter.removeAllListeners('penthera');
96
+ const eventListener = eventEmitter.addListener('penthera', sessionConnect);
97
+ return eventListener;
98
+ };
99
+ export function usePentheraInit(_ref2) {
100
+ let {
101
+ userId,
102
+ BACKPLANE_PRIVATE_KEY,
103
+ BACKPLANE_PUBLIC_KEY,
104
+ BACKPLANE_URL
105
+ } = _ref2;
106
+ const [isInitialized, setIsInitialized] = useState(false);
107
+ const addAsset = usePenthera(state => state.addAsset);
108
+ const deleteManyAssets = usePenthera(state => state.deleteManyAssets);
109
+ const updateAssetsProgress = usePenthera(state => state.updateAssetsProgress);
110
+ const onGetAllAssets = usePenthera(state => state.onGetAllAssets);
111
+ useEffect(() => {
112
+ if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
113
+ return;
114
+ }
115
+ const init = async () => {
116
+ await initialize(userId, BACKPLANE_URL, BACKPLANE_PUBLIC_KEY, BACKPLANE_PRIVATE_KEY);
117
+ setIsInitialized(true);
118
+ };
119
+ init();
120
+ }, [userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL]);
121
+ useEffect(() => {
122
+ if (!isInitialized) return;
123
+ console.log('starting init');
124
+ const sessionConnect = newEvent => {
125
+ const info = JSON.parse(newEvent);
126
+ console.log('info', info);
127
+ switch (info.code) {
128
+ case PentheraEvent.VIRTUOSO_SUCCESS:
129
+ break;
130
+ case PentheraEvent.DID_START_DOWNLOADING:
131
+ updateAssetsProgress({
132
+ [info === null || info === void 0 ? void 0 : info.assetId]: '0'
133
+ });
134
+ addAsset({
135
+ id: info.assetId,
136
+ title: '',
137
+ path: '',
138
+ drm: ''
139
+ }); // TODO: Add others field item information
140
+ break;
141
+ case PentheraEvent.PROGRESS_UPDATED:
142
+ updateAssetsProgress({
143
+ [info === null || info === void 0 ? void 0 : info.assetId]: info.body
144
+ });
145
+ break;
146
+ case PentheraEvent.DOWNLOAD_COMPLETE:
147
+ updateAssetsProgress({
148
+ [info.assetId]: '100'
149
+ });
150
+ onGetAllAssets();
151
+ break;
152
+ case PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED:
153
+ //TODO: Can be util for pause and resume download state
154
+ break;
155
+ case PentheraEvent.ASSET_DELETED:
156
+ deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
157
+ break;
158
+ case PentheraEvent.CONFIG_ASSET_FAILED:
159
+ case PentheraEvent.ERROR_DOWNLOAD:
160
+ case PentheraEvent.PENDING_ASSET_FOUND:
161
+ default:
162
+ console.log('case nout found:', info);
163
+ break;
164
+ }
165
+ };
166
+ onGetAllAssets();
167
+ let eventListener;
168
+ eventListener = onListener(sessionConnect);
169
+ return () => {
170
+ var _eventListener;
171
+ (_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
172
+ setIsInitialized(false);
173
+ };
174
+ }, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress]);
175
+ }
176
+ //# sourceMappingURL=usePenthera.js.map
@@ -0,0 +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","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","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","title","path","PROGRESS_UPDATED","body","DOWNLOAD_COMPLETE","ASSET_RESUME_DOWNLOAD_UPDATED","ASSET_DELETED","CONFIG_ASSET_FAILED","ERROR_DOWNLOAD","PENDING_ASSET_FOUND","_eventListener","remove"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
@@ -10,4 +10,4 @@ export let PentheraEvent = /*#__PURE__*/function (PentheraEvent) {
10
10
  PentheraEvent["PENDING_ASSET_FOUND"] = "PENDING_ASSET_FOUND";
11
11
  return PentheraEvent;
12
12
  }({});
13
- //# sourceMappingURL=Penthera.js.map
13
+ //# sourceMappingURL=usePenthera.types.js.map
@@ -0,0 +1 @@
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"}