diginext-utils 1.0.1 → 1.0.5

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 (68) hide show
  1. package/dist/README.md +3 -0
  2. package/dist/babel.config.json +21 -0
  3. package/dist/index.js +148 -0
  4. package/dist/package.json +34 -0
  5. package/dist/src/Camera.js +420 -0
  6. package/dist/src/Checker.js +34 -0
  7. package/dist/src/Color.js +102 -0
  8. package/dist/src/Device.js +67 -0
  9. package/dist/src/EventDispatcher.js +62 -0
  10. package/dist/src/FileUpload.js +73 -0
  11. package/dist/src/FileUtils.js +47 -0
  12. package/dist/src/Slug.js +384 -0
  13. package/dist/src/Timer.js +16 -0
  14. package/dist/src/UserLS.js +127 -0
  15. package/dist/src/Validation.js +46 -0
  16. package/dist/src/array/index.js +377 -0
  17. package/dist/src/backend/file/createDir.js +24 -0
  18. package/dist/src/backend/file/fileMove.js +42 -0
  19. package/dist/src/backend/file/findFilesByExt.js +55 -0
  20. package/dist/src/backend/zip/extractZip.js +55 -0
  21. package/dist/src/console/enableConsole.js +16 -0
  22. package/dist/src/console/index.js +20 -0
  23. package/dist/src/device/browser.js +52 -0
  24. package/dist/src/device/camera.js +238 -0
  25. package/dist/src/device/index.js +304 -0
  26. package/{src → dist/src}/math/index.js +57 -59
  27. package/dist/src/object/index.js +65 -0
  28. package/dist/src/permission/requestCamera.js +55 -0
  29. package/dist/src/permission/requestDeviceOrientationControl.js +36 -0
  30. package/dist/src/string/index.js +531 -0
  31. package/dist/src/string/url.js +128 -0
  32. package/package.json +17 -13
  33. package/.eslintrc.json +0 -21
  34. package/dist/main.js +0 -1611
  35. package/dist/main.js.map +0 -1
  36. package/dist/module.js +0 -1584
  37. package/dist/module.js.map +0 -1
  38. package/index.js +0 -13
  39. package/src/Browser.js +0 -297
  40. package/src/Camera.js +0 -412
  41. package/src/Checker.js +0 -24
  42. package/src/Color.js +0 -81
  43. package/src/Device.js +0 -56
  44. package/src/EventDispatcher.js +0 -58
  45. package/src/FileUpload.js +0 -59
  46. package/src/FileUtils.js +0 -30
  47. package/src/ReactUtils.js +0 -25
  48. package/src/ScrollPos.js +0 -31
  49. package/src/Slug.js +0 -383
  50. package/src/Timer.js +0 -7
  51. package/src/UserLS.js +0 -104
  52. package/src/Validation.js +0 -35
  53. package/src/array/index.js +0 -301
  54. package/src/backend/file/createDir.js +0 -13
  55. package/src/backend/file/fileMove.js +0 -35
  56. package/src/backend/file/findFilesByExt.js +0 -42
  57. package/src/backend/zip/extractZip.js +0 -58
  58. package/src/console/enableConsole.js +0 -6
  59. package/src/console/index.js +0 -10
  60. package/src/device/browser.js +0 -29
  61. package/src/device/camera.js +0 -228
  62. package/src/device/index.js +0 -233
  63. package/src/isMobileOrTablet.js +0 -28
  64. package/src/object/index.js +0 -41
  65. package/src/permission/requestCamera.js +0 -43
  66. package/src/permission/requestDeviceOrientationControl.js +0 -32
  67. package/src/string/index.js +0 -228
  68. package/src/string/url.js +0 -93
@@ -1,228 +0,0 @@
1
- import requestCamera from "../permission/requestCamera";
2
-
3
- /**
4
- *
5
- * @param {{
6
- * container,
7
- * facingMode : environment | user,
8
- * audio : boolean,
9
- * }} param0
10
- * @returns
11
- */
12
- export function getWebcam({
13
- //
14
- container,
15
- facingMode = "environment",
16
- audio = false,
17
- }) {
18
- if (typeof window == "undefined") return;
19
- container = container || document.body;
20
-
21
- return new Promise(async (resolve, reject) => {
22
- const video = document.createElement("video");
23
- video.style.position = "absolute";
24
- video.style.top = 0;
25
- video.style.left = 0;
26
- video.style.width = "100%";
27
- video.style.height = "100%";
28
- container.append(video);
29
-
30
- let inputCameras = [];
31
- let currentCamera;
32
-
33
- /**
34
- * @type {MediaStreamConstraints}
35
- */
36
- const requestedMediaConstraints = {
37
- video: {
38
- facingMode: { exact: facingMode },
39
- },
40
- audio,
41
- };
42
-
43
- /**
44
- * @type {MediaStream}
45
- */
46
- let stream;
47
- let isAllowed = false;
48
-
49
- console.log("[Camera.js] Requesting:", requestedMediaConstraints);
50
- const res = await requestCamera({ audio });
51
- if (!res) {
52
- setTimeout(function () {
53
- handleError({ name: "Error", message: "NotSupported" });
54
- }, 50);
55
- }
56
-
57
- // start requesting media permissions:
58
-
59
- // console.log("[Camera.js] Requesting:", requestedMediaConstraints);
60
-
61
- // if (navigator.mediaDevices.enumerateDevices === undefined) {
62
- // setTimeout(function () {
63
- // handleError({ name: "Error", message: "NotSupported" });
64
- // }, 50);
65
- // } else {
66
- navigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);
67
- // }
68
-
69
- /**
70
- * @param {MediaDeviceInfo[]} devices
71
- */
72
- function parseDevices(devices) {
73
- inputCameras = [];
74
- let backCameras = [];
75
-
76
- devices.forEach(function (device) {
77
- if (device.kind == "videoinput" && typeof device.deviceId != "undefined" && device.deviceId != "") {
78
- inputCameras.push(device);
79
- }
80
- });
81
- // //alert (JSON.stringify (devices));
82
- console.log("[Camera.js] inputCameras:", inputCameras);
83
-
84
- if (inputCameras.length > 0) {
85
- let cams = "";
86
- let backCamera;
87
-
88
- inputCameras.map((cam, index) => {
89
- cams += `[${cam.deviceId}] ${cam.kind} | ${cam.label}\n`;
90
- // console.log(cam);
91
- let label = cam.label.toLowerCase();
92
- if (label.indexOf("back") > -1 || label.indexOf("facetime") > -1) {
93
- backCamera = cam;
94
- backCameras.push(backCamera);
95
- }
96
- });
97
-
98
- if (backCameras.length > 1) {
99
- backCamera = backCameras[backCameras.length - 1];
100
- }
101
-
102
- console.log(`[Camera.js] All input sources:`, cams);
103
- console.log(`[Camera.js] This device has ${backCameras.length} back camera${backCameras.length > 1 ? "s" : ""}.`);
104
- console.log("[Camera.js] backCameras:", JSON.stringify(backCameras));
105
-
106
- currentCamera = backCamera;
107
-
108
- if (scope.onGotDevices) {
109
- scope.onGotDevices(devices);
110
- }
111
-
112
- // Lấy stream của camera sau
113
- // (Lấy cái cuối cùng trong danh sách trước, thường sẽ là camera chính trên Android)
114
- getStreamOfCameraId(backCamera.deviceId)
115
- .then(onStreamReceived)
116
- .catch((e) => {
117
- if (backCameras.length > 1) {
118
- // nếu thiết bị có nhiều hơn 1 camera sau -> thử lấy camera khác
119
- backCamera = backCameras[backCameras.length - 2];
120
- getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);
121
- } else if (backCameras.length > 2) {
122
- // nếu thiết bị có nhiều hơn 2 camera sau -> thử lấy camera khác nữa
123
- backCamera = backCameras[backCameras.length - 3];
124
- getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);
125
- } else {
126
- // nếu thiết bị đéo có camera sau...
127
- handleError(e);
128
- }
129
- });
130
- } else {
131
- navigator.mediaDevices.getUserMedia(requestedMediaConstraints).then(onStreamReceived).catch(handleError);
132
-
133
- // if (scope.onGotDevicesFailed) scope.onGotDevicesFailed();
134
- }
135
- }
136
-
137
- /**
138
- * @param {MediaStream} stream
139
- */
140
- function onStreamReceived(stream) {
141
- if (inputCameras.length == 0) {
142
- console.log("[Camera.js] Not found any back cameras, request again?");
143
- navigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);
144
- return;
145
- }
146
-
147
- isAllowed = true;
148
-
149
- playWebcamVideo(stream);
150
- }
151
-
152
- /**
153
- * @param {MediaStream} _stream
154
- */
155
- function playWebcamVideo(_stream) {
156
- stream = _stream;
157
-
158
- if ("srcObject" in video) {
159
- // //alert ('GOT STREAM VIDEO OBJECT');
160
- video.srcObject = _stream;
161
- } else {
162
- // //alert ('GOT STREAM VIDEO SOURCE URL');
163
- // Avoid using this in new browsers, as it is going away.
164
- video.src = window.URL.createObjectURL(_stream);
165
- }
166
-
167
- // required to tell iOS safari we don't want fullscreen
168
- video.setAttribute("playsinline", true);
169
- video.setAttribute("muted", true);
170
- video.setAttribute("autoplay", true);
171
- video.muted = true;
172
- video.autoplay = true;
173
- video.style.objectFit = "cover";
174
- video.play();
175
-
176
- // auto play
177
- video.addEventListener("canplay", function (e) {
178
- // //alert ('CAN PLAY');
179
- });
180
-
181
- video.addEventListener("canplaythrough", function (e) {
182
- // //alert ('CAN PLAY THROUGH');
183
- });
184
-
185
- video.addEventListener("error", (e) => console.log("[Camera.js] <video> error:", e));
186
-
187
- video.addEventListener("stalled", function (e) {
188
- // //alert ('CANNOT GET METADATA');
189
- isAllowed = false;
190
- console.log("[Camera.js] <video> stalled:", e);
191
-
192
- reject();
193
- });
194
-
195
- video.addEventListener("loadedmetadata", function (e) {
196
- if (currentCamera.label.toLowerCase().indexOf("facetime") > -1) {
197
- video.style.transform = "scaleX(-1)";
198
- video.style.webkitTransform = "scaleX(-1)";
199
- }
200
-
201
- video.play();
202
-
203
- resolve(video);
204
- });
205
- }
206
-
207
- function getStreamOfCameraId(id) {
208
- const constraints = {
209
- video: { deviceId: { exact: id } },
210
- audio: false,
211
- };
212
-
213
- return new Promise((resolve, reject) => {
214
- navigator.mediaDevices.getUserMedia(constraints).then(resolve).catch(reject);
215
- });
216
- }
217
-
218
- function handleError(err) {
219
- console.error(err);
220
- const errMsg = "[Camera.js] " + err.name + ": " + err.message;
221
- console.error(errMsg);
222
-
223
- isAllowed = false;
224
-
225
- reject();
226
- }
227
- });
228
- }
@@ -1,233 +0,0 @@
1
- export const isIos = () => {
2
- const deviceInfo = checkOS();
3
- if (deviceInfo) return deviceInfo.os.toLowerCase() == "ios";
4
- console.log("Can't check OS");
5
- return null;
6
- };
7
-
8
- export const isAndroid = () => {
9
- const deviceInfo = checkOS();
10
- if (deviceInfo) return deviceInfo.os.toLowerCase() == "android";
11
- console.log("Can't check OS");
12
- return null;
13
- };
14
-
15
- export const isMobile = () => {
16
- if (typeof navigator == "undefined") return null;
17
-
18
- if (
19
- navigator.userAgent.match(/Android/i) ||
20
- navigator.userAgent.match(/webOS/i) ||
21
- navigator.userAgent.match(/iPhone/i) ||
22
- navigator.userAgent.match(/iPad/i) ||
23
- navigator.userAgent.match(/iPod/i) ||
24
- navigator.userAgent.match(/BlackBerry/i) ||
25
- navigator.userAgent.match(/Windows Phone/i)
26
- ) {
27
- return true;
28
- } else {
29
- return false;
30
- }
31
- };
32
-
33
- /**
34
- *
35
- * @returns {{
36
- * screen,
37
- * browser,
38
- * browserVersion,
39
- * browserMajorVersion,
40
- * mobile,
41
- * os,
42
- * osVersion,
43
- * cookies,
44
- * flashVersion,
45
- * }}
46
- */
47
- export const checkOS = () => {
48
- if (typeof window == "undefined") return {};
49
-
50
- if (typeof window?.deviceInfo == "undefined") {
51
- var unknown = "-";
52
-
53
- // screen
54
- var screenSize = "";
55
- if (screen.width) {
56
- var width = screen.width ? screen.width : "";
57
- var height = screen.height ? screen.height : "";
58
- screenSize += "" + width + " x " + height;
59
- }
60
-
61
- // browser
62
- var nVer = navigator.appVersion;
63
- var nAgt = navigator.userAgent;
64
- var browser = navigator.appName;
65
- var version = "" + parseFloat(navigator.appVersion);
66
- var majorVersion = parseInt(navigator.appVersion, 10);
67
- var nameOffset, verOffset, ix;
68
-
69
- // Opera
70
- if ((verOffset = nAgt.indexOf("Opera")) != -1) {
71
- browser = "Opera";
72
- version = nAgt.substring(verOffset + 6);
73
- if ((verOffset = nAgt.indexOf("Version")) != -1) {
74
- version = nAgt.substring(verOffset + 8);
75
- }
76
- }
77
- // Opera Next
78
- if ((verOffset = nAgt.indexOf("OPR")) != -1) {
79
- browser = "Opera";
80
- version = nAgt.substring(verOffset + 4);
81
- }
82
- // Edge
83
- else if ((verOffset = nAgt.indexOf("Edge")) != -1) {
84
- browser = "Microsoft Edge";
85
- version = nAgt.substring(verOffset + 5);
86
- }
87
- // MSIE
88
- else if ((verOffset = nAgt.indexOf("MSIE")) != -1) {
89
- browser = "Microsoft Internet Explorer";
90
- version = nAgt.substring(verOffset + 5);
91
- }
92
- // Chrome
93
- else if ((verOffset = nAgt.indexOf("Chrome")) != -1) {
94
- browser = "Chrome";
95
- version = nAgt.substring(verOffset + 7);
96
- }
97
- // Safari
98
- else if ((verOffset = nAgt.indexOf("Safari")) != -1) {
99
- browser = "Safari";
100
- version = nAgt.substring(verOffset + 7);
101
- if ((verOffset = nAgt.indexOf("Version")) != -1) {
102
- version = nAgt.substring(verOffset + 8);
103
- }
104
- }
105
- // Firefox
106
- else if ((verOffset = nAgt.indexOf("Firefox")) != -1) {
107
- browser = "Firefox";
108
- version = nAgt.substring(verOffset + 8);
109
- }
110
- // MSIE 11+
111
- else if (nAgt.indexOf("Trident/") != -1) {
112
- browser = "Microsoft Internet Explorer";
113
- version = nAgt.substring(nAgt.indexOf("rv:") + 3);
114
- }
115
- // Other browsers
116
- else if ((nameOffset = nAgt.lastIndexOf(" ") + 1) < (verOffset = nAgt.lastIndexOf("/"))) {
117
- browser = nAgt.substring(nameOffset, verOffset);
118
- version = nAgt.substring(verOffset + 1);
119
- if (browser.toLowerCase() == browser.toUpperCase()) {
120
- browser = navigator.appName;
121
- }
122
- }
123
- // trim the version string
124
- if ((ix = version.indexOf(";")) != -1) version = version.substring(0, ix);
125
- if ((ix = version.indexOf(" ")) != -1) version = version.substring(0, ix);
126
- if ((ix = version.indexOf(")")) != -1) version = version.substring(0, ix);
127
-
128
- majorVersion = parseInt("" + version, 10);
129
- if (isNaN(majorVersion)) {
130
- version = "" + parseFloat(navigator.appVersion);
131
- majorVersion = parseInt(navigator.appVersion, 10);
132
- }
133
-
134
- // mobile version
135
- var mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer);
136
-
137
- // cookie
138
- var cookieEnabled = navigator.cookieEnabled ? true : false;
139
-
140
- if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
141
- document.cookie = "testcookie";
142
- cookieEnabled = document.cookie.indexOf("testcookie") != -1 ? true : false;
143
- }
144
-
145
- // system
146
- var os = unknown;
147
- var clientStrings = [
148
- { s: "Windows 10", r: /(Windows 10.0|Windows NT 10.0)/ },
149
- { s: "Windows 8.1", r: /(Windows 8.1|Windows NT 6.3)/ },
150
- { s: "Windows 8", r: /(Windows 8|Windows NT 6.2)/ },
151
- { s: "Windows 7", r: /(Windows 7|Windows NT 6.1)/ },
152
- { s: "Windows Vista", r: /Windows NT 6.0/ },
153
- { s: "Windows Server 2003", r: /Windows NT 5.2/ },
154
- { s: "Windows XP", r: /(Windows NT 5.1|Windows XP)/ },
155
- { s: "Windows 2000", r: /(Windows NT 5.0|Windows 2000)/ },
156
- { s: "Windows ME", r: /(Win 9x 4.90|Windows ME)/ },
157
- { s: "Windows 98", r: /(Windows 98|Win98)/ },
158
- { s: "Windows 95", r: /(Windows 95|Win95|Windows_95)/ },
159
- { s: "Windows NT 4.0", r: /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/ },
160
- { s: "Windows CE", r: /Windows CE/ },
161
- { s: "Windows 3.11", r: /Win16/ },
162
- { s: "Android", r: /Android/ },
163
- { s: "Open BSD", r: /OpenBSD/ },
164
- { s: "Sun OS", r: /SunOS/ },
165
- { s: "Linux", r: /(Linux|X11)/ },
166
- { s: "iOS", r: /(iPhone|iPad|iPod)/ },
167
- { s: "Mac OS X", r: /Mac OS X/ },
168
- { s: "Mac OS", r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/ },
169
- { s: "QNX", r: /QNX/ },
170
- { s: "UNIX", r: /UNIX/ },
171
- { s: "BeOS", r: /BeOS/ },
172
- { s: "OS/2", r: /OS\/2/ },
173
- { s: "Search Bot", r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/ },
174
- ];
175
- for (var id in clientStrings) {
176
- var cs = clientStrings[id];
177
- if (cs.r.test(nAgt)) {
178
- os = cs.s;
179
- break;
180
- }
181
- }
182
-
183
- var osVersion = unknown;
184
-
185
- if (/Windows/.test(os)) {
186
- osVersion = /Windows (.*)/.exec(os)[1];
187
- os = "Windows";
188
- }
189
-
190
- switch (os) {
191
- case "Mac OS X":
192
- osVersion = /Mac OS X (10[\.\_\d]+)/.exec(nAgt)[1];
193
- break;
194
-
195
- case "Android":
196
- osVersion = /Android ([\.\_\d]+)/.exec(nAgt)[1];
197
- break;
198
-
199
- case "iOS":
200
- osVersion = /OS (\d+)_(\d+)_?(\d+)?/.exec(nVer);
201
- osVersion = osVersion[1] + "." + osVersion[2] + "." + (osVersion[3] | 0);
202
- break;
203
- }
204
-
205
- // flash (you'll need to include swfobject)
206
- /* script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" */
207
- var flashVersion = "no check";
208
- if (typeof swfobject != "undefined") {
209
- var fv = swfobject.getFlashPlayerVersion();
210
- if (fv.major > 0) {
211
- flashVersion = fv.major + "." + fv.minor + " r" + fv.release;
212
- } else {
213
- flashVersion = unknown;
214
- }
215
- }
216
-
217
- const deviceInfo = {
218
- screen: screenSize,
219
- browser: browser,
220
- browserVersion: version,
221
- browserMajorVersion: majorVersion,
222
- mobile: mobile,
223
- os: os,
224
- osVersion: osVersion,
225
- cookies: cookieEnabled,
226
- flashVersion: flashVersion,
227
- };
228
-
229
- window.deviceInfo = deviceInfo;
230
- }
231
-
232
- return window.deviceInfo;
233
- };
@@ -1,28 +0,0 @@
1
- import React, { useEffect, useState } from "react";
2
-
3
- // Copied from https://stackoverflow.com/a/11381730
4
- function isMobileOrTablet() {
5
- var check = false;
6
- (function (a) {
7
- if (
8
- /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(
9
- a
10
- ) ||
11
- /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(
12
- a.substr(0, 4)
13
- )
14
- )
15
- check = true;
16
- })(navigator.userAgent || navigator.vendor || window.opera);
17
- return check;
18
- }
19
-
20
- export function useIsMobileOrTablet() {
21
- const [isMobOrTab, setIsMobOrTab] = useState(false);
22
- useEffect(() => {
23
- setIsMobOrTab(isMobileOrTablet());
24
- });
25
- return isMobOrTab;
26
- }
27
-
28
- export default isMobileOrTablet;
@@ -1,41 +0,0 @@
1
- export const isNull = (object) => {
2
- if (typeof object == "undefined") return true;
3
- if (object == "") return true;
4
- if (Array.isArray(object)) return object.length == 0;
5
-
6
- return object == null;
7
- };
8
-
9
- export const toBool = (object) => {
10
- if (isNull(object)) return false;
11
- object = object.toString();
12
-
13
- return object === "true" || object == "1";
14
- };
15
-
16
- export const toInt = (object) => {
17
- if (isNull(object)) return 0;
18
- object = object.toString();
19
-
20
- return parseInt(object, 10);
21
- };
22
-
23
- export const toFloat = (object) => {
24
- if (isNull(object)) return 0;
25
- object = object.toString();
26
-
27
- return parseFloat(object);
28
- };
29
-
30
- /**
31
- * Convert value in object to array
32
- * @param {object} obj
33
- * @returns {Array}
34
- */
35
- export const toArray = (obj) => {
36
- const array = [];
37
- for (const key in obj) {
38
- array.push(obj[key]);
39
- }
40
- return array;
41
- };
@@ -1,43 +0,0 @@
1
- const requestCamera = ({ audio = true, video = true }) => {
2
- if (typeof window == "undefined") return false;
3
-
4
- return new Promise((resolve, reject) => {
5
- // Older browsers might not implement mediaDevices at all, so we set an empty object first
6
- if (navigator.mediaDevices === undefined) {
7
- navigator.mediaDevices = {};
8
- }
9
-
10
- // Some browsers partially implement mediaDevices. We can't just assign an object
11
- // with getUserMedia as it would overwrite existing properties.
12
- // Here, we will just add the getUserMedia property if it's missing.
13
- if (navigator.mediaDevices.getUserMedia === undefined) {
14
- navigator.mediaDevices.getUserMedia = function (constraints) {
15
- // First get ahold of the legacy getUserMedia, if present
16
- var getUserMedia = navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
17
-
18
- // Some browsers just don't implement it - return a rejected promise with an error
19
- // to keep a consistent interface
20
- if (!getUserMedia) {
21
- return Promise.reject(new Error("getUserMedia is not implemented in this browser"));
22
- }
23
-
24
- // Otherwise, wrap the call to the old navigator.getUserMedia with a Promise
25
- return new Promise(function (resolve, reject) {
26
- getUserMedia.call(navigator, constraints, resolve, reject);
27
- });
28
- };
29
- }
30
-
31
- navigator.mediaDevices
32
- .getUserMedia({ audio, video })
33
- .then(function (stream) {
34
- resolve(true);
35
- })
36
- .catch(function (err) {
37
- console.log(err.name + ": " + err.message);
38
- resolve(false);
39
- });
40
- });
41
- };
42
-
43
- export default requestCamera;
@@ -1,32 +0,0 @@
1
- import { isAndroid } from "../device";
2
-
3
- const requestDeviceOrientationControl = () => {
4
- if (typeof window == "undefined") return false;
5
- return new Promise((resolve, reject) => {
6
- if (isAndroid()) resolve(true);
7
-
8
- if (typeof DeviceMotionEvent != "undefined" && DeviceMotionEvent.requestPermission) {
9
- // (optional) Do something before API request prompt.
10
- DeviceOrientationEvent.requestPermission()
11
- .then((response) => {
12
- // (optional) Do something after API prompt dismissed.
13
- if (response == "granted") {
14
- resolve(true);
15
- // resolve({ status: true })
16
- } else {
17
- resolve(false);
18
- // resolve({ status: false, reason: "DeviceMotionEvent is not support" })
19
- }
20
- })
21
- .catch((response) => {
22
- resolve(false);
23
- // resolve({ status: false, reason: response })
24
- });
25
- } else {
26
- resolve(false);
27
- // resolve({ status: false, reason: "DeviceMotionEvent is not defined" })
28
- }
29
- });
30
- };
31
-
32
- export default requestDeviceOrientationControl;