@takeoffmedia/react-native-penthera 0.2.12 → 0.2.15

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 (28) hide show
  1. package/ios/Penthera.swift +5 -4
  2. package/ios/Penthera.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  3. package/ios/Penthera.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  4. package/ios/Penthera.xcodeproj/project.xcworkspace/xcuserdata/joseguerreroot.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  5. package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +104 -0
  6. package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  7. package/lib/commonjs/hooks/usePenthera/index.js +11 -0
  8. package/lib/commonjs/hooks/usePenthera/index.js.map +1 -1
  9. package/lib/commonjs/hooks/usePenthera/usePenthera.js +0 -87
  10. package/lib/commonjs/hooks/usePenthera/usePenthera.js.map +1 -1
  11. package/lib/commonjs/hooks/usePenthera/usePentheraInit.js +96 -0
  12. package/lib/commonjs/hooks/usePenthera/usePentheraInit.js.map +1 -0
  13. package/lib/module/hooks/usePenthera/index.js +1 -0
  14. package/lib/module/hooks/usePenthera/index.js.map +1 -1
  15. package/lib/module/hooks/usePenthera/usePenthera.js +2 -88
  16. package/lib/module/hooks/usePenthera/usePenthera.js.map +1 -1
  17. package/lib/module/hooks/usePenthera/usePentheraInit.js +90 -0
  18. package/lib/module/hooks/usePenthera/usePentheraInit.js.map +1 -0
  19. package/lib/typescript/hooks/usePenthera/index.d.ts +1 -0
  20. package/lib/typescript/hooks/usePenthera/index.d.ts.map +1 -1
  21. package/lib/typescript/hooks/usePenthera/usePenthera.d.ts +1 -2
  22. package/lib/typescript/hooks/usePenthera/usePenthera.d.ts.map +1 -1
  23. package/lib/typescript/hooks/usePenthera/usePentheraInit.d.ts +3 -0
  24. package/lib/typescript/hooks/usePenthera/usePentheraInit.d.ts.map +1 -0
  25. package/package.json +1 -1
  26. package/src/hooks/usePenthera/index.ts +1 -0
  27. package/src/hooks/usePenthera/usePenthera.tsx +3 -111
  28. package/src/hooks/usePenthera/usePentheraInit.tsx +112 -0
@@ -33,10 +33,11 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
33
33
  EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.ERROR_DOWNLOAD, assetId: assetId ?? "", body: "Insufficient storage for download")
34
34
  self.currentAset?.delete()
35
35
  //This condition starts with the interval of 30 since we can have an estimate of kbps per second from approximately 20
36
- } else if(used > 30 && kbpsInt <= 500){
37
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.ERROR_DOWNLOAD, assetId: assetId ?? "", body: "Low bandwidth or no connection")
38
- self.currentAset?.delete()
39
- }
36
+ } else if kbpsInt > 0 {
37
+ if(kbpsInt <= 500){
38
+ EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.ERROR_DOWNLOAD, assetId: assetId ?? "", body: "Low bandwidth or no connection")
39
+ }
40
+ }
40
41
  }
41
42
  }
42
43
  }
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "self:">
6
+ </FileRef>
7
+ </Workspace>
@@ -0,0 +1,8 @@
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>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
@@ -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>
@@ -25,4 +25,15 @@ Object.keys(_usePenthera2).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
+ var _usePentheraInit = require("./usePentheraInit");
29
+ Object.keys(_usePentheraInit).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _usePentheraInit[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _usePentheraInit[key];
36
+ }
37
+ });
38
+ });
28
39
  //# sourceMappingURL=index.js.map
@@ -1 +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"}
1
+ {"version":3,"names":["_usePenthera","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_usePenthera2","_usePentheraInit"],"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;AACA,IAAAM,gBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,gBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,gBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,gBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA"}
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.usePenthera = void 0;
7
- exports.usePentheraInit = usePentheraInit;
8
- var _react = require("react");
9
7
  var _reactNative = require("react-native");
10
8
  var _zustand = require("zustand");
11
- var _usePenthera = require("./usePenthera.types");
12
9
  var _nativeModules = require("../../nativeModules");
13
10
  const usePenthera = (0, _zustand.create)(set => ({
14
11
  assets: [],
@@ -115,88 +112,4 @@ const usePenthera = (0, _zustand.create)(set => ({
115
112
  }
116
113
  }));
117
114
  exports.usePenthera = usePenthera;
118
- const onListener = sessionConnect => {
119
- const NEventEmitter = _reactNative.NativeModules.Penthera;
120
- const eventEmitter = new _reactNative.NativeEventEmitter(NEventEmitter);
121
- eventEmitter.removeAllListeners('penthera');
122
- const eventListener = eventEmitter.addListener('penthera', sessionConnect);
123
- return eventListener;
124
- };
125
- function usePentheraInit(_ref2) {
126
- let {
127
- userId,
128
- BACKPLANE_PRIVATE_KEY,
129
- BACKPLANE_PUBLIC_KEY,
130
- BACKPLANE_URL
131
- } = _ref2;
132
- const [isInitialized, setIsInitialized] = (0, _react.useState)(false);
133
- const addAsset = usePenthera(state => state.addAsset);
134
- const deleteManyAssets = usePenthera(state => state.deleteManyAssets);
135
- const updateAssetsProgress = usePenthera(state => state.updateAssetsProgress);
136
- const onGetAllAssets = usePenthera(state => state.onGetAllAssets);
137
- const setError = usePenthera(state => state.setError);
138
- (0, _react.useEffect)(() => {
139
- if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
140
- return;
141
- }
142
- const init = async () => {
143
- await (0, _nativeModules.initialize)(userId, BACKPLANE_URL, BACKPLANE_PUBLIC_KEY, BACKPLANE_PRIVATE_KEY);
144
- setIsInitialized(true);
145
- };
146
- init();
147
- }, [userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL]);
148
- (0, _react.useEffect)(() => {
149
- if (!isInitialized) return;
150
- console.log('starting init');
151
- const sessionConnect = newEvent => {
152
- const info = JSON.parse(newEvent);
153
- console.log('info', info);
154
- switch (info.code) {
155
- case _usePenthera.PentheraEvent.VIRTUOSO_SUCCESS:
156
- break;
157
- case _usePenthera.PentheraEvent.DID_START_DOWNLOADING:
158
- updateAssetsProgress({
159
- [info === null || info === void 0 ? void 0 : info.assetId]: '0'
160
- });
161
- break;
162
- case _usePenthera.PentheraEvent.PROGRESS_UPDATED:
163
- updateAssetsProgress({
164
- [info === null || info === void 0 ? void 0 : info.assetId]: info.body
165
- });
166
- break;
167
- case _usePenthera.PentheraEvent.DOWNLOAD_COMPLETE:
168
- updateAssetsProgress({
169
- [info.assetId]: '100'
170
- });
171
- onGetAllAssets();
172
- break;
173
- case _usePenthera.PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED:
174
- //TODO: Can be util for pause and resume download state
175
- break;
176
- case _usePenthera.PentheraEvent.ASSET_DELETED:
177
- deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
178
- break;
179
- case _usePenthera.PentheraEvent.ERROR_DOWNLOAD:
180
- setError({
181
- assetId: info === null || info === void 0 ? void 0 : info.assetId,
182
- description: info === null || info === void 0 ? void 0 : info.body
183
- });
184
- break;
185
- case _usePenthera.PentheraEvent.CONFIG_ASSET_FAILED:
186
- case _usePenthera.PentheraEvent.PENDING_ASSET_FOUND:
187
- default:
188
- console.log('case nout found:', info);
189
- break;
190
- }
191
- };
192
- onGetAllAssets();
193
- let eventListener;
194
- eventListener = onListener(sessionConnect);
195
- return () => {
196
- var _eventListener;
197
- (_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
198
- setIsInitialized(false);
199
- };
200
- }, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress, setError]);
201
- }
202
115
  //# sourceMappingURL=usePenthera.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_zustand","_usePenthera","_nativeModules","usePenthera","create","set","assets","assetsProgress","assetError","assetId","description","loadAssets","addAsset","asset","state","deleteManyAssets","assetIds","filter","includes","id","updateAssetsProgress","progress","onGetAllAssets","getDownloads","Array","isArray","error","console","log","onDownload","_ref","_item$thumbnails","item","url","drm","dataAndroid","asset_id","content_url","poster","thumbnails","thumbnail","subtitle","dataBySO","Platform","OS","download","JSON","stringify","onDelete","response","deleteMany","deleted","Object","keys","updatedAssetsProgress","forEach","onPauseDownload","pauseDownload","onPlayVideo","playAsset","setError","dataParse","exports","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","CONFIG_ASSET_FAILED","PENDING_ASSET_FOUND","_eventListener","remove"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_zustand","_nativeModules","usePenthera","create","set","assets","assetsProgress","assetError","assetId","description","loadAssets","addAsset","asset","state","deleteManyAssets","assetIds","filter","includes","id","updateAssetsProgress","progress","onGetAllAssets","getDownloads","Array","isArray","error","console","log","onDownload","_ref","_item$thumbnails","item","url","drm","dataAndroid","asset_id","content_url","poster","thumbnails","thumbnail","subtitle","dataBySO","Platform","OS","download","JSON","stringify","onDelete","response","deleteMany","deleted","Object","keys","updatedAssetsProgress","forEach","onPauseDownload","pauseDownload","onPlayVideo","playAsset","setError","dataParse","exports"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.usePentheraInit = usePentheraInit;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _usePenthera = require("./usePenthera.types");
10
+ var _nativeModules = require("../../nativeModules");
11
+ var _usePenthera2 = require("./usePenthera");
12
+ const onListener = sessionConnect => {
13
+ const NEventEmitter = _reactNative.NativeModules.Penthera;
14
+ const eventEmitter = new _reactNative.NativeEventEmitter(NEventEmitter);
15
+ eventEmitter.removeAllListeners('penthera');
16
+ const eventListener = eventEmitter.addListener('penthera', sessionConnect);
17
+ return eventListener;
18
+ };
19
+ function usePentheraInit(_ref) {
20
+ let {
21
+ userId,
22
+ BACKPLANE_PRIVATE_KEY,
23
+ BACKPLANE_PUBLIC_KEY,
24
+ BACKPLANE_URL
25
+ } = _ref;
26
+ const [isInitialized, setIsInitialized] = (0, _react.useState)(false);
27
+ const addAsset = (0, _usePenthera2.usePenthera)(state => state.addAsset);
28
+ const deleteManyAssets = (0, _usePenthera2.usePenthera)(state => state.deleteManyAssets);
29
+ const updateAssetsProgress = (0, _usePenthera2.usePenthera)(state => state.updateAssetsProgress);
30
+ const onGetAllAssets = (0, _usePenthera2.usePenthera)(state => state.onGetAllAssets);
31
+ const setError = (0, _usePenthera2.usePenthera)(state => state.setError);
32
+ (0, _react.useEffect)(() => {
33
+ if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
34
+ return;
35
+ }
36
+ const init = async () => {
37
+ await (0, _nativeModules.initialize)(userId, BACKPLANE_URL, BACKPLANE_PUBLIC_KEY, BACKPLANE_PRIVATE_KEY);
38
+ setIsInitialized(true);
39
+ };
40
+ init();
41
+ }, [userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL]);
42
+ (0, _react.useEffect)(() => {
43
+ if (!isInitialized) return;
44
+ console.log('starting init');
45
+ const sessionConnect = newEvent => {
46
+ const info = JSON.parse(newEvent);
47
+ console.log('info', info);
48
+ switch (info.code) {
49
+ case _usePenthera.PentheraEvent.VIRTUOSO_SUCCESS:
50
+ break;
51
+ case _usePenthera.PentheraEvent.DID_START_DOWNLOADING:
52
+ updateAssetsProgress({
53
+ [info === null || info === void 0 ? void 0 : info.assetId]: '0'
54
+ });
55
+ break;
56
+ case _usePenthera.PentheraEvent.PROGRESS_UPDATED:
57
+ updateAssetsProgress({
58
+ [info === null || info === void 0 ? void 0 : info.assetId]: info.body
59
+ });
60
+ break;
61
+ case _usePenthera.PentheraEvent.DOWNLOAD_COMPLETE:
62
+ updateAssetsProgress({
63
+ [info.assetId]: '100'
64
+ });
65
+ onGetAllAssets();
66
+ break;
67
+ case _usePenthera.PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED:
68
+ //TODO: Can be util for pause and resume download state
69
+ break;
70
+ case _usePenthera.PentheraEvent.ASSET_DELETED:
71
+ deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
72
+ break;
73
+ case _usePenthera.PentheraEvent.ERROR_DOWNLOAD:
74
+ setError({
75
+ assetId: info === null || info === void 0 ? void 0 : info.assetId,
76
+ description: info === null || info === void 0 ? void 0 : info.body
77
+ });
78
+ break;
79
+ case _usePenthera.PentheraEvent.CONFIG_ASSET_FAILED:
80
+ case _usePenthera.PentheraEvent.PENDING_ASSET_FOUND:
81
+ default:
82
+ console.log('case nout found:', info);
83
+ break;
84
+ }
85
+ };
86
+ onGetAllAssets();
87
+ let eventListener;
88
+ eventListener = onListener(sessionConnect);
89
+ return () => {
90
+ var _eventListener;
91
+ (_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
92
+ setIsInitialized(false);
93
+ };
94
+ }, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress, setError]);
95
+ }
96
+ //# sourceMappingURL=usePentheraInit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_usePenthera","_nativeModules","_usePenthera2","onListener","sessionConnect","NEventEmitter","NativeModules","Penthera","eventEmitter","NativeEventEmitter","removeAllListeners","eventListener","addListener","usePentheraInit","_ref","userId","BACKPLANE_PRIVATE_KEY","BACKPLANE_PUBLIC_KEY","BACKPLANE_URL","isInitialized","setIsInitialized","useState","addAsset","usePenthera","state","deleteManyAssets","updateAssetsProgress","onGetAllAssets","setError","useEffect","init","initialize","console","log","newEvent","info","JSON","parse","code","PentheraEvent","VIRTUOSO_SUCCESS","DID_START_DOWNLOADING","assetId","PROGRESS_UPDATED","body","DOWNLOAD_COMPLETE","ASSET_RESUME_DOWNLOAD_UPDATED","ASSET_DELETED","ERROR_DOWNLOAD","description","CONFIG_ASSET_FAILED","PENDING_ASSET_FOUND","_eventListener","remove"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePentheraInit.tsx"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './usePenthera';
2
2
  export * from './usePenthera.types';
3
+ export * from './usePentheraInit';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/index.ts"],"mappings":"AAAA,cAAc,eAAe;AAC7B,cAAc,qBAAqB"}
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/index.ts"],"mappings":"AAAA,cAAc,eAAe;AAC7B,cAAc,qBAAqB;AACnC,cAAc,mBAAmB"}
@@ -1,8 +1,6 @@
1
- import { useEffect, useState } from 'react';
2
- import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
1
+ import { Platform } from 'react-native';
3
2
  import { create } from 'zustand';
4
- import { PentheraEvent } from './usePenthera.types';
5
- import { deleteMany, download, getDownloads, initialize, pauseDownload, playAsset } from '../../nativeModules';
3
+ import { deleteMany, download, getDownloads, pauseDownload, playAsset } from '../../nativeModules';
6
4
  export const usePenthera = create(set => ({
7
5
  assets: [],
8
6
  assetsProgress: {},
@@ -107,88 +105,4 @@ export const usePenthera = create(set => ({
107
105
  }));
108
106
  }
109
107
  }));
110
- const onListener = sessionConnect => {
111
- const NEventEmitter = NativeModules.Penthera;
112
- const eventEmitter = new NativeEventEmitter(NEventEmitter);
113
- eventEmitter.removeAllListeners('penthera');
114
- const eventListener = eventEmitter.addListener('penthera', sessionConnect);
115
- return eventListener;
116
- };
117
- export function usePentheraInit(_ref2) {
118
- let {
119
- userId,
120
- BACKPLANE_PRIVATE_KEY,
121
- BACKPLANE_PUBLIC_KEY,
122
- BACKPLANE_URL
123
- } = _ref2;
124
- const [isInitialized, setIsInitialized] = useState(false);
125
- const addAsset = usePenthera(state => state.addAsset);
126
- const deleteManyAssets = usePenthera(state => state.deleteManyAssets);
127
- const updateAssetsProgress = usePenthera(state => state.updateAssetsProgress);
128
- const onGetAllAssets = usePenthera(state => state.onGetAllAssets);
129
- const setError = usePenthera(state => state.setError);
130
- useEffect(() => {
131
- if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
132
- return;
133
- }
134
- const init = async () => {
135
- await initialize(userId, BACKPLANE_URL, BACKPLANE_PUBLIC_KEY, BACKPLANE_PRIVATE_KEY);
136
- setIsInitialized(true);
137
- };
138
- init();
139
- }, [userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL]);
140
- useEffect(() => {
141
- if (!isInitialized) return;
142
- console.log('starting init');
143
- const sessionConnect = newEvent => {
144
- const info = JSON.parse(newEvent);
145
- console.log('info', info);
146
- switch (info.code) {
147
- case PentheraEvent.VIRTUOSO_SUCCESS:
148
- break;
149
- case PentheraEvent.DID_START_DOWNLOADING:
150
- updateAssetsProgress({
151
- [info === null || info === void 0 ? void 0 : info.assetId]: '0'
152
- });
153
- break;
154
- case PentheraEvent.PROGRESS_UPDATED:
155
- updateAssetsProgress({
156
- [info === null || info === void 0 ? void 0 : info.assetId]: info.body
157
- });
158
- break;
159
- case PentheraEvent.DOWNLOAD_COMPLETE:
160
- updateAssetsProgress({
161
- [info.assetId]: '100'
162
- });
163
- onGetAllAssets();
164
- break;
165
- case PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED:
166
- //TODO: Can be util for pause and resume download state
167
- break;
168
- case PentheraEvent.ASSET_DELETED:
169
- deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
170
- break;
171
- case PentheraEvent.ERROR_DOWNLOAD:
172
- setError({
173
- assetId: info === null || info === void 0 ? void 0 : info.assetId,
174
- description: info === null || info === void 0 ? void 0 : info.body
175
- });
176
- break;
177
- case PentheraEvent.CONFIG_ASSET_FAILED:
178
- case PentheraEvent.PENDING_ASSET_FOUND:
179
- default:
180
- console.log('case nout found:', info);
181
- break;
182
- }
183
- };
184
- onGetAllAssets();
185
- let eventListener;
186
- eventListener = onListener(sessionConnect);
187
- return () => {
188
- var _eventListener;
189
- (_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
190
- setIsInitialized(false);
191
- };
192
- }, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress, setError]);
193
- }
194
108
  //# 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","assetError","assetId","description","loadAssets","addAsset","asset","state","deleteManyAssets","assetIds","filter","includes","id","updateAssetsProgress","progress","onGetAllAssets","Array","isArray","error","console","log","onDownload","_ref","_item$thumbnails","item","url","drm","dataAndroid","asset_id","content_url","poster","thumbnails","thumbnail","subtitle","dataBySO","OS","JSON","stringify","onDelete","response","deleted","Object","keys","updatedAssetsProgress","forEach","onPauseDownload","onPlayVideo","setError","dataParse","onListener","sessionConnect","NEventEmitter","Penthera","eventEmitter","removeAllListeners","eventListener","addListener","usePentheraInit","_ref2","userId","BACKPLANE_PRIVATE_KEY","BACKPLANE_PUBLIC_KEY","BACKPLANE_URL","isInitialized","setIsInitialized","init","newEvent","info","parse","code","VIRTUOSO_SUCCESS","DID_START_DOWNLOADING","PROGRESS_UPDATED","body","DOWNLOAD_COMPLETE","ASSET_RESUME_DOWNLOAD_UPDATED","ASSET_DELETED","ERROR_DOWNLOAD","CONFIG_ASSET_FAILED","PENDING_ASSET_FOUND","_eventListener","remove"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["Platform","create","deleteMany","download","getDownloads","pauseDownload","playAsset","usePenthera","set","assets","assetsProgress","assetError","assetId","description","loadAssets","addAsset","asset","state","deleteManyAssets","assetIds","filter","includes","id","updateAssetsProgress","progress","onGetAllAssets","Array","isArray","error","console","log","onDownload","_ref","_item$thumbnails","item","url","drm","dataAndroid","asset_id","content_url","poster","thumbnails","thumbnail","subtitle","dataBySO","OS","JSON","stringify","onDelete","response","deleted","Object","keys","updatedAssetsProgress","forEach","onPauseDownload","onPlayVideo","setError","dataParse"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { NativeEventEmitter, NativeModules } from 'react-native';
3
+ import { PentheraEvent } from './usePenthera.types';
4
+ import { initialize } from '../../nativeModules';
5
+ import { usePenthera } from './usePenthera';
6
+ const onListener = sessionConnect => {
7
+ const NEventEmitter = NativeModules.Penthera;
8
+ const eventEmitter = new NativeEventEmitter(NEventEmitter);
9
+ eventEmitter.removeAllListeners('penthera');
10
+ const eventListener = eventEmitter.addListener('penthera', sessionConnect);
11
+ return eventListener;
12
+ };
13
+ export function usePentheraInit(_ref) {
14
+ let {
15
+ userId,
16
+ BACKPLANE_PRIVATE_KEY,
17
+ BACKPLANE_PUBLIC_KEY,
18
+ BACKPLANE_URL
19
+ } = _ref;
20
+ const [isInitialized, setIsInitialized] = useState(false);
21
+ const addAsset = usePenthera(state => state.addAsset);
22
+ const deleteManyAssets = usePenthera(state => state.deleteManyAssets);
23
+ const updateAssetsProgress = usePenthera(state => state.updateAssetsProgress);
24
+ const onGetAllAssets = usePenthera(state => state.onGetAllAssets);
25
+ const setError = usePenthera(state => state.setError);
26
+ useEffect(() => {
27
+ if (!userId || !BACKPLANE_PRIVATE_KEY || !BACKPLANE_PUBLIC_KEY || !BACKPLANE_URL) {
28
+ return;
29
+ }
30
+ const init = async () => {
31
+ await initialize(userId, BACKPLANE_URL, BACKPLANE_PUBLIC_KEY, BACKPLANE_PRIVATE_KEY);
32
+ setIsInitialized(true);
33
+ };
34
+ init();
35
+ }, [userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL]);
36
+ useEffect(() => {
37
+ if (!isInitialized) return;
38
+ console.log('starting init');
39
+ const sessionConnect = newEvent => {
40
+ const info = JSON.parse(newEvent);
41
+ console.log('info', info);
42
+ switch (info.code) {
43
+ case PentheraEvent.VIRTUOSO_SUCCESS:
44
+ break;
45
+ case PentheraEvent.DID_START_DOWNLOADING:
46
+ updateAssetsProgress({
47
+ [info === null || info === void 0 ? void 0 : info.assetId]: '0'
48
+ });
49
+ break;
50
+ case PentheraEvent.PROGRESS_UPDATED:
51
+ updateAssetsProgress({
52
+ [info === null || info === void 0 ? void 0 : info.assetId]: info.body
53
+ });
54
+ break;
55
+ case PentheraEvent.DOWNLOAD_COMPLETE:
56
+ updateAssetsProgress({
57
+ [info.assetId]: '100'
58
+ });
59
+ onGetAllAssets();
60
+ break;
61
+ case PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED:
62
+ //TODO: Can be util for pause and resume download state
63
+ break;
64
+ case PentheraEvent.ASSET_DELETED:
65
+ deleteManyAssets([info === null || info === void 0 ? void 0 : info.assetId]);
66
+ break;
67
+ case PentheraEvent.ERROR_DOWNLOAD:
68
+ setError({
69
+ assetId: info === null || info === void 0 ? void 0 : info.assetId,
70
+ description: info === null || info === void 0 ? void 0 : info.body
71
+ });
72
+ break;
73
+ case PentheraEvent.CONFIG_ASSET_FAILED:
74
+ case PentheraEvent.PENDING_ASSET_FOUND:
75
+ default:
76
+ console.log('case nout found:', info);
77
+ break;
78
+ }
79
+ };
80
+ onGetAllAssets();
81
+ let eventListener;
82
+ eventListener = onListener(sessionConnect);
83
+ return () => {
84
+ var _eventListener;
85
+ (_eventListener = eventListener) === null || _eventListener === void 0 ? void 0 : _eventListener.remove();
86
+ setIsInitialized(false);
87
+ };
88
+ }, [isInitialized, addAsset, deleteManyAssets, onGetAllAssets, updateAssetsProgress, setError]);
89
+ }
90
+ //# sourceMappingURL=usePentheraInit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useState","NativeEventEmitter","NativeModules","PentheraEvent","initialize","usePenthera","onListener","sessionConnect","NEventEmitter","Penthera","eventEmitter","removeAllListeners","eventListener","addListener","usePentheraInit","_ref","userId","BACKPLANE_PRIVATE_KEY","BACKPLANE_PUBLIC_KEY","BACKPLANE_URL","isInitialized","setIsInitialized","addAsset","state","deleteManyAssets","updateAssetsProgress","onGetAllAssets","setError","init","console","log","newEvent","info","JSON","parse","code","VIRTUOSO_SUCCESS","DID_START_DOWNLOADING","assetId","PROGRESS_UPDATED","body","DOWNLOAD_COMPLETE","ASSET_RESUME_DOWNLOAD_UPDATED","ASSET_DELETED","ERROR_DOWNLOAD","description","CONFIG_ASSET_FAILED","PENDING_ASSET_FOUND","_eventListener","remove"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePentheraInit.tsx"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './usePenthera';
2
2
  export * from './usePenthera.types';
3
+ export * from './usePentheraInit';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
@@ -1,4 +1,3 @@
1
- import { type PentheraState, type PentheraProviderProps, PentheraAction } from './usePenthera.types';
1
+ import type { PentheraState, PentheraAction } from './usePenthera.types';
2
2
  export declare const usePenthera: import("zustand").UseBoundStore<import("zustand").StoreApi<PentheraState & PentheraAction>>;
3
- export declare function usePentheraInit({ userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL, }: PentheraProviderProps): void;
4
3
  //# sourceMappingURL=usePenthera.d.ts.map
@@ -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,EAGf,MAAM,qBAAqB,CAAC;AAW7B,eAAO,MAAM,WAAW,6FAmGrB,CAAC;AAUJ,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,GACd,EAAE,qBAAqB,QAuFvB"}
1
+ {"version":3,"file":"usePenthera.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/usePenthera.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAU7B,eAAO,MAAM,WAAW,6FAmGrB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type PentheraProviderProps } from './usePenthera.types';
2
+ export declare function usePentheraInit({ userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL, }: PentheraProviderProps): void;
3
+ //# sourceMappingURL=usePentheraInit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePentheraInit.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/usePentheraInit.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,qBAAqB,CAAC;AAW7B,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,GACd,EAAE,qBAAqB,QAuFvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takeoffmedia/react-native-penthera",
3
- "version": "0.2.12",
3
+ "version": "0.2.15",
4
4
  "description": "test",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -1,2 +1,3 @@
1
1
  export * from './usePenthera';
2
2
  export * from './usePenthera.types';
3
+ export * from './usePentheraInit';
@@ -1,21 +1,15 @@
1
- import { useEffect, useState } from 'react';
2
- import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
3
- import type { EmitterSubscription } from 'react-native';
1
+ import { Platform } from 'react-native';
4
2
  import { create } from 'zustand';
5
3
 
6
- import {
7
- PentheraEvent,
8
- type PentheraState,
9
- type PentheraProviderProps,
4
+ import type {
5
+ PentheraState,
10
6
  PentheraAction,
11
- Event,
12
7
  InterfaceDataPlay,
13
8
  } from './usePenthera.types';
14
9
  import {
15
10
  deleteMany,
16
11
  download,
17
12
  getDownloads,
18
- initialize,
19
13
  pauseDownload,
20
14
  playAsset,
21
15
  } from '../../nativeModules';
@@ -121,105 +115,3 @@ export const usePenthera = create<PentheraState & PentheraAction>((set) => ({
121
115
  }));
122
116
  },
123
117
  }));
124
-
125
- const onListener = (sessionConnect: (event: string) => void) => {
126
- const NEventEmitter = NativeModules.Penthera;
127
- const eventEmitter = new NativeEventEmitter(NEventEmitter);
128
- eventEmitter.removeAllListeners('penthera');
129
- const eventListener = eventEmitter.addListener('penthera', sessionConnect);
130
- return eventListener;
131
- };
132
-
133
- export function usePentheraInit({
134
- userId,
135
- BACKPLANE_PRIVATE_KEY,
136
- BACKPLANE_PUBLIC_KEY,
137
- BACKPLANE_URL,
138
- }: PentheraProviderProps) {
139
- const [isInitialized, setIsInitialized] = useState(false);
140
- const addAsset = usePenthera((state) => state.addAsset);
141
- const deleteManyAssets = usePenthera((state) => state.deleteManyAssets);
142
- const updateAssetsProgress = usePenthera(
143
- (state) => state.updateAssetsProgress
144
- );
145
- const onGetAllAssets = usePenthera((state) => state.onGetAllAssets);
146
- const setError = usePenthera((state) => state.setError);
147
- useEffect(() => {
148
- if (
149
- !userId ||
150
- !BACKPLANE_PRIVATE_KEY ||
151
- !BACKPLANE_PUBLIC_KEY ||
152
- !BACKPLANE_URL
153
- ) {
154
- return;
155
- }
156
-
157
- const init = async () => {
158
- await initialize(
159
- userId,
160
- BACKPLANE_URL,
161
- BACKPLANE_PUBLIC_KEY,
162
- BACKPLANE_PRIVATE_KEY
163
- );
164
- setIsInitialized(true);
165
- };
166
- init();
167
- }, [userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL]);
168
-
169
- useEffect(() => {
170
- if (!isInitialized) return;
171
- console.log('starting init');
172
- const sessionConnect = (newEvent: string) => {
173
- const info: Event = JSON.parse(newEvent);
174
- console.log('info', info);
175
- switch (info.code) {
176
- case PentheraEvent.VIRTUOSO_SUCCESS:
177
- break;
178
-
179
- case PentheraEvent.DID_START_DOWNLOADING:
180
- updateAssetsProgress({ [info?.assetId]: '0' });
181
- break;
182
-
183
- case PentheraEvent.PROGRESS_UPDATED:
184
- updateAssetsProgress({ [info?.assetId]: info.body });
185
- break;
186
-
187
- case PentheraEvent.DOWNLOAD_COMPLETE:
188
- updateAssetsProgress({ [info.assetId]: '100' });
189
- onGetAllAssets();
190
- break;
191
-
192
- case PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED:
193
- //TODO: Can be util for pause and resume download state
194
- break;
195
-
196
- case PentheraEvent.ASSET_DELETED:
197
- deleteManyAssets([info?.assetId]);
198
- break;
199
- case PentheraEvent.ERROR_DOWNLOAD:
200
- setError({ assetId: info?.assetId, description: info?.body });
201
- break;
202
- case PentheraEvent.CONFIG_ASSET_FAILED:
203
- case PentheraEvent.PENDING_ASSET_FOUND:
204
- default:
205
- console.log('case nout found:', info);
206
- break;
207
- }
208
- };
209
- onGetAllAssets();
210
- let eventListener: EmitterSubscription | undefined;
211
- eventListener = onListener(sessionConnect);
212
-
213
- return () => {
214
- eventListener?.remove();
215
- setIsInitialized(false);
216
- };
217
- }, [
218
- isInitialized,
219
- addAsset,
220
- deleteManyAssets,
221
- onGetAllAssets,
222
- updateAssetsProgress,
223
- setError,
224
- ]);
225
- }
@@ -0,0 +1,112 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { NativeEventEmitter, NativeModules } from 'react-native';
3
+ import type { EmitterSubscription } from 'react-native';
4
+
5
+ import {
6
+ PentheraEvent,
7
+ type PentheraProviderProps,
8
+ Event,
9
+ } from './usePenthera.types';
10
+ import { initialize } from '../../nativeModules';
11
+ import { usePenthera } from './usePenthera';
12
+ const onListener = (sessionConnect: (event: string) => void) => {
13
+ const NEventEmitter = NativeModules.Penthera;
14
+ const eventEmitter = new NativeEventEmitter(NEventEmitter);
15
+ eventEmitter.removeAllListeners('penthera');
16
+ const eventListener = eventEmitter.addListener('penthera', sessionConnect);
17
+ return eventListener;
18
+ };
19
+
20
+ export function usePentheraInit({
21
+ userId,
22
+ BACKPLANE_PRIVATE_KEY,
23
+ BACKPLANE_PUBLIC_KEY,
24
+ BACKPLANE_URL,
25
+ }: PentheraProviderProps) {
26
+ const [isInitialized, setIsInitialized] = useState(false);
27
+ const addAsset = usePenthera((state) => state.addAsset);
28
+ const deleteManyAssets = usePenthera((state) => state.deleteManyAssets);
29
+ const updateAssetsProgress = usePenthera(
30
+ (state) => state.updateAssetsProgress
31
+ );
32
+ const onGetAllAssets = usePenthera((state) => state.onGetAllAssets);
33
+ const setError = usePenthera((state) => state.setError);
34
+ useEffect(() => {
35
+ if (
36
+ !userId ||
37
+ !BACKPLANE_PRIVATE_KEY ||
38
+ !BACKPLANE_PUBLIC_KEY ||
39
+ !BACKPLANE_URL
40
+ ) {
41
+ return;
42
+ }
43
+
44
+ const init = async () => {
45
+ await initialize(
46
+ userId,
47
+ BACKPLANE_URL,
48
+ BACKPLANE_PUBLIC_KEY,
49
+ BACKPLANE_PRIVATE_KEY
50
+ );
51
+ setIsInitialized(true);
52
+ };
53
+ init();
54
+ }, [userId, BACKPLANE_PRIVATE_KEY, BACKPLANE_PUBLIC_KEY, BACKPLANE_URL]);
55
+
56
+ useEffect(() => {
57
+ if (!isInitialized) return;
58
+ console.log('starting init');
59
+ const sessionConnect = (newEvent: string) => {
60
+ const info: Event = JSON.parse(newEvent);
61
+ console.log('info', info);
62
+ switch (info.code) {
63
+ case PentheraEvent.VIRTUOSO_SUCCESS:
64
+ break;
65
+
66
+ case PentheraEvent.DID_START_DOWNLOADING:
67
+ updateAssetsProgress({ [info?.assetId]: '0' });
68
+ break;
69
+
70
+ case PentheraEvent.PROGRESS_UPDATED:
71
+ updateAssetsProgress({ [info?.assetId]: info.body });
72
+ break;
73
+
74
+ case PentheraEvent.DOWNLOAD_COMPLETE:
75
+ updateAssetsProgress({ [info.assetId]: '100' });
76
+ onGetAllAssets();
77
+ break;
78
+
79
+ case PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED:
80
+ //TODO: Can be util for pause and resume download state
81
+ break;
82
+
83
+ case PentheraEvent.ASSET_DELETED:
84
+ deleteManyAssets([info?.assetId]);
85
+ break;
86
+ case PentheraEvent.ERROR_DOWNLOAD:
87
+ setError({ assetId: info?.assetId, description: info?.body });
88
+ break;
89
+ case PentheraEvent.CONFIG_ASSET_FAILED:
90
+ case PentheraEvent.PENDING_ASSET_FOUND:
91
+ default:
92
+ console.log('case nout found:', info);
93
+ break;
94
+ }
95
+ };
96
+ onGetAllAssets();
97
+ let eventListener: EmitterSubscription | undefined;
98
+ eventListener = onListener(sessionConnect);
99
+
100
+ return () => {
101
+ eventListener?.remove();
102
+ setIsInitialized(false);
103
+ };
104
+ }, [
105
+ isInitialized,
106
+ addAsset,
107
+ deleteManyAssets,
108
+ onGetAllAssets,
109
+ updateAssetsProgress,
110
+ setError,
111
+ ]);
112
+ }