diginext-utils 2.0.0 → 2.0.1

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 (80) hide show
  1. package/dist/Checker.js +27 -0
  2. package/dist/Checker.mjs +25 -0
  3. package/dist/EventDispatcher.js +51 -0
  4. package/dist/EventDispatcher.mjs +51 -0
  5. package/dist/FileUpload.js +60 -0
  6. package/dist/FileUpload.mjs +60 -0
  7. package/dist/Slug.js +329 -0
  8. package/dist/Slug.mjs +327 -0
  9. package/dist/Timer.js +11 -0
  10. package/dist/Timer.mjs +2 -0
  11. package/dist/Validation.js +33 -0
  12. package/dist/Validation.mjs +33 -0
  13. package/dist/array.js +210 -0
  14. package/dist/array.mjs +3 -0
  15. package/dist/backend/file/createDir.js +21 -0
  16. package/dist/backend/file/createDir.mjs +13 -0
  17. package/dist/backend/file/fileMove.js +37 -0
  18. package/dist/backend/file/fileMove.mjs +29 -0
  19. package/dist/backend/file/findFilesByExt.js +48 -0
  20. package/dist/backend/file/findFilesByExt.mjs +40 -0
  21. package/dist/chunk-5AL36RZR.mjs +47 -0
  22. package/dist/chunk-7IYY7BKN.mjs +136 -0
  23. package/dist/chunk-ACLBWYEO.mjs +85 -0
  24. package/dist/chunk-AHFJBIQJ.mjs +9 -0
  25. package/dist/chunk-AKU6F3WT.mjs +9 -0
  26. package/dist/chunk-FOWYH6LL.mjs +32 -0
  27. package/dist/chunk-FTE6FZSH.mjs +17 -0
  28. package/dist/chunk-JKYSZLBF.mjs +27 -0
  29. package/dist/chunk-LXQIKFED.mjs +13 -0
  30. package/dist/chunk-Q5R25OIS.mjs +185 -0
  31. package/dist/chunk-R2BH5I6O.mjs +9 -0
  32. package/dist/chunk-UKRVCU5M.mjs +166 -0
  33. package/dist/chunk-VFKAZAWF.mjs +40 -0
  34. package/dist/chunk-VZGV2BTL.mjs +27 -0
  35. package/dist/chunk-Y4ZTQWPA.mjs +68 -0
  36. package/dist/color.js +69 -0
  37. package/dist/color.mjs +62 -0
  38. package/dist/console/enableConsole.js +15 -0
  39. package/dist/console/enableConsole.mjs +2 -0
  40. package/dist/console/index.js +19 -0
  41. package/dist/console/index.mjs +2 -0
  42. package/dist/device/browser.js +40 -0
  43. package/dist/device/browser.mjs +2 -0
  44. package/dist/device/camera.js +164 -0
  45. package/dist/device/camera.mjs +3 -0
  46. package/dist/device.js +173 -0
  47. package/dist/device.mjs +2 -0
  48. package/dist/index.mjs +14 -820
  49. package/dist/math/diffDate.js +10 -0
  50. package/dist/math/diffDate.mjs +10 -0
  51. package/dist/math/positiveNumber.js +28 -0
  52. package/dist/math/positiveNumber.mjs +16 -0
  53. package/dist/math.js +51 -0
  54. package/dist/math.mjs +2 -0
  55. package/dist/object.js +56 -0
  56. package/dist/object.mjs +2 -0
  57. package/dist/permission/requestCamera.js +29 -0
  58. package/dist/permission/requestCamera.mjs +2 -0
  59. package/dist/permission/requestDeviceOrientationControl.js +176 -0
  60. package/dist/permission/requestDeviceOrientationControl.mjs +3 -0
  61. package/dist/string/formatNumber.js +28 -0
  62. package/dist/string/formatNumber.mjs +10 -0
  63. package/dist/string/generatePassword.js +27 -0
  64. package/dist/string/generatePassword.mjs +16 -0
  65. package/dist/string/generateUUID.js +14 -0
  66. package/dist/string/generateUUID.mjs +14 -0
  67. package/dist/string/name/en.js +19 -0
  68. package/dist/string/name/en.mjs +17 -0
  69. package/dist/string/name/vi.js +37 -0
  70. package/dist/string/name/vi.mjs +20 -0
  71. package/dist/string/random.js +26 -0
  72. package/dist/string/random.mjs +2 -0
  73. package/dist/string/trimNull.js +20 -0
  74. package/dist/string/trimNull.mjs +14 -0
  75. package/dist/string/url.js +89 -0
  76. package/dist/string/url.mjs +3 -0
  77. package/dist/string.js +107 -0
  78. package/dist/string.mjs +3 -0
  79. package/package.json +2 -2
  80. package/dist/index.d.ts +0 -280
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ // src/device/browser.ts
6
+ var isPotrait = () => {
7
+ if (typeof window == "undefined")
8
+ return false;
9
+ if (!window.orientation)
10
+ return window.matchMedia("(orientation: portrait)").matches;
11
+ return !(window.orientation === 90 || window.orientation === -90);
12
+ };
13
+ var isLandscape = () => {
14
+ return !isPotrait();
15
+ };
16
+ var ua = () => {
17
+ if (typeof navigator == "undefined")
18
+ return null;
19
+ if (typeof window == "undefined")
20
+ return null;
21
+ return navigator.userAgent || navigator.vendor || window.opera;
22
+ };
23
+ var isFacebookWebview = () => {
24
+ var ua2 = ua2();
25
+ if (typeof ua2 != "undefined")
26
+ return ua2.indexOf("FBAN") > -1 || ua2.indexOf("FBAV") > -1;
27
+ };
28
+ var isInAppWebview = () => {
29
+ const rules = ["WebView", "(iPhone|iPod|iPad)(?!.*Safari/)", "Android.*(wv|.0.0.0)"];
30
+ const regex = new RegExp(`(${rules.join("|")})`, "ig");
31
+ if (ua())
32
+ return Boolean(ua().match(regex));
33
+ return false;
34
+ };
35
+
36
+ exports.isFacebookWebview = isFacebookWebview;
37
+ exports.isInAppWebview = isInAppWebview;
38
+ exports.isLandscape = isLandscape;
39
+ exports.isPotrait = isPotrait;
40
+ exports.ua = ua;
@@ -0,0 +1,2 @@
1
+ export { isFacebookWebview, isInAppWebview, isLandscape, isPotrait, ua } from '../chunk-FOWYH6LL.mjs';
2
+ import '../chunk-AKU6F3WT.mjs';
@@ -0,0 +1,164 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ // src/permission/requestCamera.ts
6
+ var requestCamera = ({ audio = true, video = true }) => {
7
+ if (typeof window == "undefined")
8
+ return false;
9
+ return new Promise((resolve, reject) => {
10
+ if (navigator.mediaDevices.getUserMedia === void 0) {
11
+ navigator.mediaDevices.getUserMedia = function(constraints) {
12
+ var getUserMedia = navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
13
+ if (!getUserMedia) {
14
+ return Promise.reject(new Error("getUserMedia is not implemented in this browser"));
15
+ }
16
+ return new Promise(function(resolve2, reject2) {
17
+ getUserMedia.call(navigator, constraints, resolve2, reject2);
18
+ });
19
+ };
20
+ }
21
+ navigator.mediaDevices.getUserMedia({ audio, video }).then(function(stream) {
22
+ resolve(true);
23
+ }).catch(function(err) {
24
+ console.log(err.name + ": " + err.message);
25
+ resolve(false);
26
+ });
27
+ });
28
+ };
29
+ var requestCamera_default = requestCamera;
30
+
31
+ // src/device/camera.ts
32
+ function getWebcam({
33
+ container,
34
+ facingMode = "environment",
35
+ audio = false
36
+ }) {
37
+ if (typeof window == "undefined")
38
+ return;
39
+ container = container || document.body;
40
+ return new Promise(async (resolve, reject) => {
41
+ const video = document.createElement("video");
42
+ video.style.position = "absolute";
43
+ video.style.top = "0";
44
+ video.style.left = "0";
45
+ video.style.width = "100%";
46
+ video.style.height = "100%";
47
+ container.append(video);
48
+ let inputCameras = [];
49
+ let currentCamera;
50
+ const requestedMediaConstraints = {
51
+ video: {
52
+ facingMode: { exact: facingMode }
53
+ },
54
+ audio
55
+ };
56
+ console.log("[Camera.js] Requesting:", requestedMediaConstraints);
57
+ const res = await requestCamera_default({ audio });
58
+ if (!res) {
59
+ setTimeout(function() {
60
+ handleError({ name: "Error", message: "NotSupported" });
61
+ }, 50);
62
+ }
63
+ navigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);
64
+ function parseDevices(devices) {
65
+ inputCameras = [];
66
+ let backCameras = [];
67
+ devices.forEach(function(device) {
68
+ if (device.kind == "videoinput" && typeof device.deviceId != "undefined" && device.deviceId != "") {
69
+ inputCameras.push(device);
70
+ }
71
+ });
72
+ console.log("[Camera.js] inputCameras:", inputCameras);
73
+ if (inputCameras.length > 0) {
74
+ let cams = "";
75
+ let backCamera;
76
+ inputCameras.map((cam, index) => {
77
+ cams += `[${cam.deviceId}] ${cam.kind} | ${cam.label}
78
+ `;
79
+ let label = cam.label.toLowerCase();
80
+ if (label.indexOf("back") > -1 || label.indexOf("facetime") > -1) {
81
+ backCamera = cam;
82
+ backCameras.push(backCamera);
83
+ }
84
+ });
85
+ if (backCameras.length > 1) {
86
+ backCamera = backCameras[backCameras.length - 1];
87
+ }
88
+ console.log(`[Camera.js] All input sources:`, cams);
89
+ console.log(`[Camera.js] This device has ${backCameras.length} back camera${backCameras.length > 1 ? "s" : ""}.`);
90
+ console.log("[Camera.js] backCameras:", JSON.stringify(backCameras));
91
+ currentCamera = backCamera;
92
+ getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch((e) => {
93
+ if (backCameras.length > 1) {
94
+ backCamera = backCameras[backCameras.length - 2];
95
+ getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);
96
+ } else if (backCameras.length > 2) {
97
+ backCamera = backCameras[backCameras.length - 3];
98
+ getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);
99
+ } else {
100
+ handleError(e);
101
+ }
102
+ });
103
+ } else {
104
+ navigator.mediaDevices.getUserMedia(requestedMediaConstraints).then(onStreamReceived).catch(handleError);
105
+ }
106
+ }
107
+ function onStreamReceived(stream2) {
108
+ if (inputCameras.length == 0) {
109
+ console.log("[Camera.js] Not found any back cameras, request again?");
110
+ navigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);
111
+ return;
112
+ }
113
+ playWebcamVideo(stream2);
114
+ }
115
+ function playWebcamVideo(_stream) {
116
+ if ("srcObject" in video) {
117
+ video.srcObject = _stream;
118
+ } else {
119
+ video.src = window.URL.createObjectURL(_stream);
120
+ }
121
+ video.setAttribute("playsinline", "true");
122
+ video.setAttribute("muted", "true");
123
+ video.setAttribute("autoplay", "true");
124
+ video.muted = true;
125
+ video.autoplay = true;
126
+ video.style.objectFit = "cover";
127
+ video.play();
128
+ video.addEventListener("canplay", function(e) {
129
+ });
130
+ video.addEventListener("canplaythrough", function(e) {
131
+ });
132
+ video.addEventListener("error", (e) => console.log("[Camera.js] <video> error:", e));
133
+ video.addEventListener("stalled", function(e) {
134
+ console.log("[Camera.js] <video> stalled:", e);
135
+ reject();
136
+ });
137
+ video.addEventListener("loadedmetadata", function(e) {
138
+ if (currentCamera.label.toLowerCase().indexOf("facetime") > -1) {
139
+ video.style.transform = "scaleX(-1)";
140
+ video.style.webkitTransform = "scaleX(-1)";
141
+ }
142
+ video.play();
143
+ resolve(video);
144
+ });
145
+ }
146
+ function getStreamOfCameraId(id) {
147
+ const constraints = {
148
+ video: { deviceId: { exact: id } },
149
+ audio: false
150
+ };
151
+ return new Promise((resolve2, reject2) => {
152
+ navigator.mediaDevices.getUserMedia(constraints).then(resolve2).catch(reject2);
153
+ });
154
+ }
155
+ function handleError(err) {
156
+ console.error(err);
157
+ const errMsg = "[Camera.js] " + err.name + ": " + err.message;
158
+ console.error(errMsg);
159
+ reject();
160
+ }
161
+ });
162
+ }
163
+
164
+ exports.getWebcam = getWebcam;
@@ -0,0 +1,3 @@
1
+ export { getWebcam } from '../chunk-7IYY7BKN.mjs';
2
+ import '../chunk-JKYSZLBF.mjs';
3
+ import '../chunk-AKU6F3WT.mjs';
package/dist/device.js ADDED
@@ -0,0 +1,173 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ // src/device.ts
6
+ var isIos = () => {
7
+ const deviceInfo2 = checkOS();
8
+ if (deviceInfo2)
9
+ return deviceInfo2.os.toLowerCase() == "ios";
10
+ console.log("Can't check OS");
11
+ return null;
12
+ };
13
+ var isAndroid = () => {
14
+ const deviceInfo2 = checkOS();
15
+ if (deviceInfo2)
16
+ return deviceInfo2.os.toLowerCase() == "android";
17
+ console.log("Can't check OS");
18
+ return null;
19
+ };
20
+ var isMobile = () => {
21
+ if (typeof navigator == "undefined")
22
+ return null;
23
+ if (navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i)) {
24
+ return true;
25
+ } else {
26
+ return false;
27
+ }
28
+ };
29
+ var deviceInfo;
30
+ var checkOS = () => {
31
+ if (typeof window == "undefined")
32
+ return {};
33
+ if (typeof deviceInfo == "undefined") {
34
+ var unknown = "-";
35
+ var screenSize = "";
36
+ if (screen.width) {
37
+ var width = screen.width ? screen.width : "";
38
+ var height = screen.height ? screen.height : "";
39
+ screenSize += "" + width + " x " + height;
40
+ }
41
+ var nVer = navigator.appVersion;
42
+ var nAgt = navigator.userAgent;
43
+ var browser = navigator.appName;
44
+ var version = "" + parseFloat(navigator.appVersion);
45
+ var majorVersion = parseInt(navigator.appVersion, 10);
46
+ var nameOffset, verOffset, ix;
47
+ if ((verOffset = nAgt.indexOf("Opera")) != -1) {
48
+ browser = "Opera";
49
+ version = nAgt.substring(verOffset + 6);
50
+ if ((verOffset = nAgt.indexOf("Version")) != -1) {
51
+ version = nAgt.substring(verOffset + 8);
52
+ }
53
+ }
54
+ if ((verOffset = nAgt.indexOf("OPR")) != -1) {
55
+ browser = "Opera";
56
+ version = nAgt.substring(verOffset + 4);
57
+ } else if ((verOffset = nAgt.indexOf("Edge")) != -1) {
58
+ browser = "Microsoft Edge";
59
+ version = nAgt.substring(verOffset + 5);
60
+ } else if ((verOffset = nAgt.indexOf("MSIE")) != -1) {
61
+ browser = "Microsoft Internet Explorer";
62
+ version = nAgt.substring(verOffset + 5);
63
+ } else if ((verOffset = nAgt.indexOf("Chrome")) != -1) {
64
+ browser = "Chrome";
65
+ version = nAgt.substring(verOffset + 7);
66
+ } else if ((verOffset = nAgt.indexOf("Safari")) != -1) {
67
+ browser = "Safari";
68
+ version = nAgt.substring(verOffset + 7);
69
+ if ((verOffset = nAgt.indexOf("Version")) != -1) {
70
+ version = nAgt.substring(verOffset + 8);
71
+ }
72
+ } else if ((verOffset = nAgt.indexOf("Firefox")) != -1) {
73
+ browser = "Firefox";
74
+ version = nAgt.substring(verOffset + 8);
75
+ } else if (nAgt.indexOf("Trident/") != -1) {
76
+ browser = "Microsoft Internet Explorer";
77
+ version = nAgt.substring(nAgt.indexOf("rv:") + 3);
78
+ } else if ((nameOffset = nAgt.lastIndexOf(" ") + 1) < (verOffset = nAgt.lastIndexOf("/"))) {
79
+ browser = nAgt.substring(nameOffset, verOffset);
80
+ version = nAgt.substring(verOffset + 1);
81
+ if (browser.toLowerCase() == browser.toUpperCase()) {
82
+ browser = navigator.appName;
83
+ }
84
+ }
85
+ if ((ix = version.indexOf(";")) != -1)
86
+ version = version.substring(0, ix);
87
+ if ((ix = version.indexOf(" ")) != -1)
88
+ version = version.substring(0, ix);
89
+ if ((ix = version.indexOf(")")) != -1)
90
+ version = version.substring(0, ix);
91
+ majorVersion = parseInt("" + version, 10);
92
+ if (isNaN(majorVersion)) {
93
+ version = "" + parseFloat(navigator.appVersion);
94
+ majorVersion = parseInt(navigator.appVersion, 10);
95
+ }
96
+ var mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer);
97
+ var cookieEnabled = navigator.cookieEnabled ? true : false;
98
+ if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
99
+ document.cookie = "testcookie";
100
+ cookieEnabled = document.cookie.indexOf("testcookie") != -1 ? true : false;
101
+ }
102
+ var os = unknown;
103
+ var clientStrings = [
104
+ { s: "Windows 10", r: /(Windows 10.0|Windows NT 10.0)/ },
105
+ { s: "Windows 8.1", r: /(Windows 8.1|Windows NT 6.3)/ },
106
+ { s: "Windows 8", r: /(Windows 8|Windows NT 6.2)/ },
107
+ { s: "Windows 7", r: /(Windows 7|Windows NT 6.1)/ },
108
+ { s: "Windows Vista", r: /Windows NT 6.0/ },
109
+ { s: "Windows Server 2003", r: /Windows NT 5.2/ },
110
+ { s: "Windows XP", r: /(Windows NT 5.1|Windows XP)/ },
111
+ { s: "Windows 2000", r: /(Windows NT 5.0|Windows 2000)/ },
112
+ { s: "Windows ME", r: /(Win 9x 4.90|Windows ME)/ },
113
+ { s: "Windows 98", r: /(Windows 98|Win98)/ },
114
+ { s: "Windows 95", r: /(Windows 95|Win95|Windows_95)/ },
115
+ { s: "Windows NT 4.0", r: /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/ },
116
+ { s: "Windows CE", r: /Windows CE/ },
117
+ { s: "Windows 3.11", r: /Win16/ },
118
+ { s: "Android", r: /Android/ },
119
+ { s: "Open BSD", r: /OpenBSD/ },
120
+ { s: "Sun OS", r: /SunOS/ },
121
+ { s: "Linux", r: /(Linux|X11)/ },
122
+ { s: "iOS", r: /(iPhone|iPad|iPod)/ },
123
+ { s: "Mac OS X", r: /Mac OS X/ },
124
+ { s: "Mac OS", r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/ },
125
+ { s: "QNX", r: /QNX/ },
126
+ { s: "UNIX", r: /UNIX/ },
127
+ { s: "BeOS", r: /BeOS/ },
128
+ { s: "OS/2", r: /OS\/2/ },
129
+ { s: "Search Bot", r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/ }
130
+ ];
131
+ for (var id in clientStrings) {
132
+ var cs = clientStrings[id];
133
+ if (cs.r.test(nAgt)) {
134
+ os = cs.s;
135
+ break;
136
+ }
137
+ }
138
+ var osVersion = unknown;
139
+ if (/Windows/.test(os)) {
140
+ osVersion = /Windows (.*)/.exec(os)[1];
141
+ os = "Windows";
142
+ }
143
+ switch (os) {
144
+ case "Mac OS X":
145
+ osVersion = /Mac OS X (10[\.\_\d]+)/.exec(nAgt)[1];
146
+ break;
147
+ case "Android":
148
+ osVersion = /Android ([\.\_\d]+)/.exec(nAgt)[1];
149
+ break;
150
+ case "iOS":
151
+ const _osVersion = /OS (\d+)_(\d+)_?(\d+)?/.exec(nVer);
152
+ osVersion = _osVersion[1] + "." + _osVersion[2] + "." + (_osVersion[3] || 0);
153
+ break;
154
+ }
155
+ const _deviceInfo = {
156
+ screen: screenSize,
157
+ browser,
158
+ browserVersion: version,
159
+ browserMajorVersion: majorVersion,
160
+ mobile,
161
+ os,
162
+ osVersion,
163
+ cookies: cookieEnabled
164
+ };
165
+ deviceInfo = _deviceInfo;
166
+ }
167
+ return deviceInfo;
168
+ };
169
+
170
+ exports.checkOS = checkOS;
171
+ exports.isAndroid = isAndroid;
172
+ exports.isIos = isIos;
173
+ exports.isMobile = isMobile;
@@ -0,0 +1,2 @@
1
+ export { checkOS, isAndroid, isIos, isMobile } from './chunk-UKRVCU5M.mjs';
2
+ import './chunk-AKU6F3WT.mjs';