diginext-utils 2.0.8 → 2.0.11

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 (101) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +1 -0
  3. package/dist/index.js.map +1 -1
  4. package/esm/Checker.d.ts +5 -0
  5. package/esm/Checker.js +27 -0
  6. package/esm/Checker.js.map +1 -0
  7. package/esm/EventDispatcher.d.ts +11 -0
  8. package/esm/EventDispatcher.js +47 -0
  9. package/esm/EventDispatcher.js.map +1 -0
  10. package/esm/FileUpload.d.ts +11 -0
  11. package/esm/FileUpload.js +61 -0
  12. package/esm/FileUpload.js.map +1 -0
  13. package/esm/Slug.d.ts +4 -0
  14. package/esm/Slug.js +329 -0
  15. package/esm/Slug.js.map +1 -0
  16. package/esm/Timer.d.ts +3 -0
  17. package/esm/Timer.js +6 -0
  18. package/esm/Timer.js.map +1 -0
  19. package/esm/Validation.d.ts +4 -0
  20. package/esm/Validation.js +36 -0
  21. package/esm/Validation.js.map +1 -0
  22. package/esm/array.d.ts +91 -0
  23. package/esm/array.js +253 -0
  24. package/esm/array.js.map +1 -0
  25. package/esm/color.d.ts +10 -0
  26. package/esm/color.js +77 -0
  27. package/esm/color.js.map +1 -0
  28. package/esm/console/enableConsole.d.ts +1 -0
  29. package/esm/console/enableConsole.js +6 -0
  30. package/esm/console/enableConsole.js.map +1 -0
  31. package/esm/console/index.d.ts +3 -0
  32. package/esm/console/index.js +10 -0
  33. package/esm/console/index.js.map +1 -0
  34. package/esm/device/browser.d.ts +5 -0
  35. package/esm/device/browser.js +30 -0
  36. package/esm/device/browser.js.map +1 -0
  37. package/esm/device/camera.d.ts +7 -0
  38. package/esm/device/camera.js +168 -0
  39. package/esm/device/camera.js.map +1 -0
  40. package/esm/device.d.ts +4 -0
  41. package/esm/device.js +210 -0
  42. package/esm/device.js.map +1 -0
  43. package/esm/file/createDir.d.ts +5 -0
  44. package/esm/file/createDir.js +13 -0
  45. package/esm/file/createDir.js.map +1 -0
  46. package/esm/file/fileMove.d.ts +4 -0
  47. package/esm/file/fileMove.js +29 -0
  48. package/esm/file/fileMove.js.map +1 -0
  49. package/esm/file/findFilesByExt.d.ts +5 -0
  50. package/esm/file/findFilesByExt.js +41 -0
  51. package/esm/file/findFilesByExt.js.map +1 -0
  52. package/esm/index.d.ts +18 -0
  53. package/esm/index.js +18 -0
  54. package/esm/index.js.map +1 -0
  55. package/esm/math/diffDate.d.ts +4 -0
  56. package/esm/math/diffDate.js +9 -0
  57. package/esm/math/diffDate.js.map +1 -0
  58. package/esm/math/index.d.ts +53 -0
  59. package/esm/math/index.js +84 -0
  60. package/esm/math/index.js.map +1 -0
  61. package/esm/math/positiveNumber.d.ts +1 -0
  62. package/esm/math/positiveNumber.js +12 -0
  63. package/esm/math/positiveNumber.js.map +1 -0
  64. package/esm/name/en.d.ts +1 -0
  65. package/esm/name/en.js +20 -0
  66. package/esm/name/en.js.map +1 -0
  67. package/esm/name/vi.d.ts +1 -0
  68. package/esm/name/vi.js +22 -0
  69. package/esm/name/vi.js.map +1 -0
  70. package/esm/object.d.ts +23 -0
  71. package/esm/object.js +48 -0
  72. package/esm/object.js.map +1 -0
  73. package/esm/permission/requestCamera.d.ts +5 -0
  74. package/esm/permission/requestCamera.js +39 -0
  75. package/esm/permission/requestCamera.js.map +1 -0
  76. package/esm/permission/requestDeviceOrientationControl.d.ts +2 -0
  77. package/esm/permission/requestDeviceOrientationControl.js +35 -0
  78. package/esm/permission/requestDeviceOrientationControl.js.map +1 -0
  79. package/esm/string/formatNumber.d.ts +5 -0
  80. package/esm/string/formatNumber.js +10 -0
  81. package/esm/string/formatNumber.js.map +1 -0
  82. package/esm/string/generatePassword.d.ts +8 -0
  83. package/esm/string/generatePassword.js +19 -0
  84. package/esm/string/generatePassword.js.map +1 -0
  85. package/esm/string/generateUUID.d.ts +1 -0
  86. package/esm/string/generateUUID.js +32 -0
  87. package/esm/string/generateUUID.js.map +1 -0
  88. package/esm/string/index.d.ts +33 -0
  89. package/esm/string/index.js +118 -0
  90. package/esm/string/index.js.map +1 -0
  91. package/esm/string/random.d.ts +9 -0
  92. package/esm/string/random.js +18 -0
  93. package/esm/string/random.js.map +1 -0
  94. package/esm/string/trimNull.d.ts +1 -0
  95. package/esm/string/trimNull.js +11 -0
  96. package/esm/string/trimNull.js.map +1 -0
  97. package/esm/string/url.d.ts +26 -0
  98. package/esm/string/url.js +94 -0
  99. package/esm/string/url.js.map +1 -0
  100. package/package.json +2 -1
  101. package/src/index.ts +2 -0
@@ -0,0 +1,168 @@
1
+ import { requestCamera } from "../permission/requestCamera";
2
+ export function getWebcam(params = { facingMode: "environment", audio: true }) {
3
+ if (typeof window == "undefined")
4
+ return;
5
+ const { container, facingMode = "environment", audio = true } = params;
6
+ const _container = container || document.body;
7
+ return new Promise(async (resolve, reject) => {
8
+ const video = document.createElement("video");
9
+ video.style.position = "absolute";
10
+ video.style.top = "0";
11
+ video.style.left = "0";
12
+ video.style.width = "100%";
13
+ video.style.height = "100%";
14
+ _container.append(video);
15
+ let inputCameras = [];
16
+ let currentCamera;
17
+ const requestedMediaConstraints = {
18
+ video: {
19
+ facingMode: { exact: facingMode },
20
+ },
21
+ audio,
22
+ };
23
+ let stream;
24
+ let isAllowed = false;
25
+ console.log("[Camera.js] Requesting:", requestedMediaConstraints);
26
+ const res = await requestCamera({ audio });
27
+ if (!res) {
28
+ setTimeout(function () {
29
+ handleError({ name: "Error", message: "NotSupported" });
30
+ }, 50);
31
+ }
32
+ // start requesting media permissions:
33
+ // console.log("[Camera.js] Requesting:", requestedMediaConstraints);
34
+ // if (navigator.mediaDevices.enumerateDevices === undefined) {
35
+ // setTimeout(function () {
36
+ // handleError({ name: "Error", message: "NotSupported" });
37
+ // }, 50);
38
+ // } else {
39
+ navigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);
40
+ // }
41
+ function parseDevices(devices) {
42
+ inputCameras = [];
43
+ let backCameras = [];
44
+ devices.forEach(function (device) {
45
+ if (device.kind == "videoinput" && typeof device.deviceId != "undefined" && device.deviceId != "") {
46
+ inputCameras.push(device);
47
+ }
48
+ });
49
+ // //alert (JSON.stringify (devices));
50
+ console.log("[Camera.js] inputCameras:", inputCameras);
51
+ if (inputCameras.length > 0) {
52
+ let cams = "";
53
+ let backCamera;
54
+ inputCameras.map((cam, index) => {
55
+ cams += `[${cam.deviceId}] ${cam.kind} | ${cam.label}\n`;
56
+ // console.log(cam);
57
+ let label = cam.label.toLowerCase();
58
+ if (label.indexOf("back") > -1 || label.indexOf("facetime") > -1) {
59
+ backCamera = cam;
60
+ backCameras.push(backCamera);
61
+ }
62
+ });
63
+ if (backCameras.length > 1) {
64
+ backCamera = backCameras[backCameras.length - 1];
65
+ }
66
+ console.log(`[Camera.js] All input sources:`, cams);
67
+ console.log(`[Camera.js] This device has ${backCameras.length} back camera${backCameras.length > 1 ? "s" : ""}.`);
68
+ console.log("[Camera.js] backCameras:", JSON.stringify(backCameras));
69
+ currentCamera = backCamera;
70
+ // if (scope.onGotDevices) {
71
+ // scope.onGotDevices(devices);
72
+ // }
73
+ // Lấy stream của camera sau
74
+ // (Lấy cái cuối cùng trong danh sách trước, thường sẽ là camera chính trên Android)
75
+ getStreamOfCameraId(backCamera.deviceId)
76
+ .then(onStreamReceived)
77
+ .catch((e) => {
78
+ if (backCameras.length > 1) {
79
+ // nếu thiết bị có nhiều hơn 1 camera sau -> thử lấy camera khác
80
+ backCamera = backCameras[backCameras.length - 2];
81
+ getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);
82
+ }
83
+ else if (backCameras.length > 2) {
84
+ // nếu thiết bị có nhiều hơn 2 camera sau -> thử lấy camera khác nữa
85
+ backCamera = backCameras[backCameras.length - 3];
86
+ getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);
87
+ }
88
+ else {
89
+ // nếu thiết bị đéo có camera sau...
90
+ handleError(e);
91
+ }
92
+ });
93
+ }
94
+ else {
95
+ navigator.mediaDevices.getUserMedia(requestedMediaConstraints).then(onStreamReceived).catch(handleError);
96
+ // if (scope.onGotDevicesFailed) scope.onGotDevicesFailed();
97
+ }
98
+ }
99
+ function onStreamReceived(stream) {
100
+ if (inputCameras.length == 0) {
101
+ console.log("[Camera.js] Not found any back cameras, request again?");
102
+ navigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);
103
+ return;
104
+ }
105
+ isAllowed = true;
106
+ playWebcamVideo(stream);
107
+ }
108
+ function playWebcamVideo(_stream) {
109
+ stream = _stream;
110
+ if ("srcObject" in video) {
111
+ // //alert ('GOT STREAM VIDEO OBJECT');
112
+ video.srcObject = _stream;
113
+ }
114
+ else {
115
+ // //alert ('GOT STREAM VIDEO SOURCE URL');
116
+ // Avoid using this in new browsers, as it is going away.
117
+ video.src = window.URL.createObjectURL(_stream);
118
+ }
119
+ // required to tell iOS safari we don't want fullscreen
120
+ video.setAttribute("playsinline", "true");
121
+ video.setAttribute("muted", "true");
122
+ video.setAttribute("autoplay", "true");
123
+ video.muted = true;
124
+ video.autoplay = true;
125
+ video.style.objectFit = "cover";
126
+ video.play();
127
+ // auto play
128
+ video.addEventListener("canplay", function (e) {
129
+ // //alert ('CAN PLAY');
130
+ });
131
+ video.addEventListener("canplaythrough", function (e) {
132
+ // //alert ('CAN PLAY THROUGH');
133
+ });
134
+ video.addEventListener("error", (e) => console.log("[Camera.js] <video> error:", e));
135
+ video.addEventListener("stalled", function (e) {
136
+ // //alert ('CANNOT GET METADATA');
137
+ isAllowed = false;
138
+ console.log("[Camera.js] <video> stalled:", e);
139
+ reject();
140
+ });
141
+ video.addEventListener("loadedmetadata", function (e) {
142
+ if (currentCamera.label.toLowerCase().indexOf("facetime") > -1) {
143
+ video.style.transform = "scaleX(-1)";
144
+ video.style.webkitTransform = "scaleX(-1)";
145
+ }
146
+ video.play();
147
+ resolve(video);
148
+ });
149
+ }
150
+ function getStreamOfCameraId(id) {
151
+ const constraints = {
152
+ video: { deviceId: { exact: id } },
153
+ audio: false,
154
+ };
155
+ return new Promise((resolve, reject) => {
156
+ navigator.mediaDevices.getUserMedia(constraints).then(resolve).catch(reject);
157
+ });
158
+ }
159
+ function handleError(err) {
160
+ console.error(err);
161
+ const errMsg = "[Camera.js] " + err.name + ": " + err.message;
162
+ console.error(errMsg);
163
+ isAllowed = false;
164
+ reject();
165
+ }
166
+ });
167
+ }
168
+ //# sourceMappingURL=camera.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camera.js","sourceRoot":"","sources":["../../src/device/camera.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const isIos: () => boolean | null;
2
+ export declare const isAndroid: () => boolean | null;
3
+ export declare const isMobile: () => boolean | null;
4
+ export declare const checkOS: () => any;
package/esm/device.js ADDED
@@ -0,0 +1,210 @@
1
+ export const isIos = () => {
2
+ const deviceInfo = checkOS();
3
+ if (deviceInfo)
4
+ return deviceInfo.os.toLowerCase() == "ios";
5
+ console.log("Can't check OS");
6
+ return null;
7
+ };
8
+ export const isAndroid = () => {
9
+ const deviceInfo = checkOS();
10
+ if (deviceInfo)
11
+ return deviceInfo.os.toLowerCase() == "android";
12
+ console.log("Can't check OS");
13
+ return null;
14
+ };
15
+ export const isMobile = () => {
16
+ if (typeof navigator == "undefined")
17
+ return null;
18
+ if (navigator.userAgent.match(/Android/i) ||
19
+ navigator.userAgent.match(/webOS/i) ||
20
+ navigator.userAgent.match(/iPhone/i) ||
21
+ navigator.userAgent.match(/iPad/i) ||
22
+ navigator.userAgent.match(/iPod/i) ||
23
+ navigator.userAgent.match(/BlackBerry/i) ||
24
+ navigator.userAgent.match(/Windows Phone/i)) {
25
+ return true;
26
+ }
27
+ else {
28
+ return false;
29
+ }
30
+ };
31
+ /**
32
+ *
33
+ * @returns {{
34
+ * screen,
35
+ * browser,
36
+ * browserVersion,
37
+ * browserMajorVersion,
38
+ * mobile,
39
+ * os,
40
+ * osVersion,
41
+ * cookies,
42
+ * flashVersion,
43
+ * }}
44
+ */
45
+ let deviceInfo;
46
+ export const checkOS = () => {
47
+ var _a;
48
+ if (typeof window == "undefined")
49
+ return {};
50
+ if (typeof deviceInfo == "undefined") {
51
+ var unknown = "-";
52
+ // screen
53
+ var screenSize = "";
54
+ if (screen.width) {
55
+ var width = screen.width ? screen.width : "";
56
+ var height = screen.height ? screen.height : "";
57
+ screenSize += "" + width + " x " + height;
58
+ }
59
+ // browser
60
+ var nVer = navigator.appVersion;
61
+ var nAgt = navigator.userAgent;
62
+ var browser = navigator.appName;
63
+ var version = "" + parseFloat(navigator.appVersion);
64
+ var majorVersion = parseInt(navigator.appVersion, 10);
65
+ var nameOffset, verOffset, ix;
66
+ // Opera
67
+ if ((verOffset = nAgt.indexOf("Opera")) != -1) {
68
+ browser = "Opera";
69
+ version = nAgt.substring(verOffset + 6);
70
+ if ((verOffset = nAgt.indexOf("Version")) != -1) {
71
+ version = nAgt.substring(verOffset + 8);
72
+ }
73
+ }
74
+ // Opera Next
75
+ if ((verOffset = nAgt.indexOf("OPR")) != -1) {
76
+ browser = "Opera";
77
+ version = nAgt.substring(verOffset + 4);
78
+ }
79
+ // Edge
80
+ else if ((verOffset = nAgt.indexOf("Edge")) != -1) {
81
+ browser = "Microsoft Edge";
82
+ version = nAgt.substring(verOffset + 5);
83
+ }
84
+ // MSIE
85
+ else if ((verOffset = nAgt.indexOf("MSIE")) != -1) {
86
+ browser = "Microsoft Internet Explorer";
87
+ version = nAgt.substring(verOffset + 5);
88
+ }
89
+ // Chrome
90
+ else if ((verOffset = nAgt.indexOf("Chrome")) != -1) {
91
+ browser = "Chrome";
92
+ version = nAgt.substring(verOffset + 7);
93
+ }
94
+ // Safari
95
+ else if ((verOffset = nAgt.indexOf("Safari")) != -1) {
96
+ browser = "Safari";
97
+ version = nAgt.substring(verOffset + 7);
98
+ if ((verOffset = nAgt.indexOf("Version")) != -1) {
99
+ version = nAgt.substring(verOffset + 8);
100
+ }
101
+ }
102
+ // Firefox
103
+ else if ((verOffset = nAgt.indexOf("Firefox")) != -1) {
104
+ browser = "Firefox";
105
+ version = nAgt.substring(verOffset + 8);
106
+ }
107
+ // MSIE 11+
108
+ else if (nAgt.indexOf("Trident/") != -1) {
109
+ browser = "Microsoft Internet Explorer";
110
+ version = nAgt.substring(nAgt.indexOf("rv:") + 3);
111
+ }
112
+ // Other browsers
113
+ else if ((nameOffset = nAgt.lastIndexOf(" ") + 1) < (verOffset = nAgt.lastIndexOf("/"))) {
114
+ browser = nAgt.substring(nameOffset, verOffset);
115
+ version = nAgt.substring(verOffset + 1);
116
+ if (browser.toLowerCase() == browser.toUpperCase()) {
117
+ browser = navigator.appName;
118
+ }
119
+ }
120
+ // trim the version string
121
+ if ((ix = version.indexOf(";")) != -1)
122
+ version = version.substring(0, ix);
123
+ if ((ix = version.indexOf(" ")) != -1)
124
+ version = version.substring(0, ix);
125
+ if ((ix = version.indexOf(")")) != -1)
126
+ version = version.substring(0, ix);
127
+ majorVersion = parseInt("" + version, 10);
128
+ if (isNaN(majorVersion)) {
129
+ version = "" + parseFloat(navigator.appVersion);
130
+ majorVersion = parseInt(navigator.appVersion, 10);
131
+ }
132
+ // mobile version
133
+ var mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer);
134
+ // cookie
135
+ var cookieEnabled = navigator.cookieEnabled ? true : false;
136
+ if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
137
+ document.cookie = "testcookie";
138
+ cookieEnabled = document.cookie.indexOf("testcookie") != -1 ? true : false;
139
+ }
140
+ // system
141
+ var os = unknown;
142
+ var clientStrings = [
143
+ { s: "Windows 10", r: /(Windows 10.0|Windows NT 10.0)/ },
144
+ { s: "Windows 8.1", r: /(Windows 8.1|Windows NT 6.3)/ },
145
+ { s: "Windows 8", r: /(Windows 8|Windows NT 6.2)/ },
146
+ { s: "Windows 7", r: /(Windows 7|Windows NT 6.1)/ },
147
+ { s: "Windows Vista", r: /Windows NT 6.0/ },
148
+ { s: "Windows Server 2003", r: /Windows NT 5.2/ },
149
+ { s: "Windows XP", r: /(Windows NT 5.1|Windows XP)/ },
150
+ { s: "Windows 2000", r: /(Windows NT 5.0|Windows 2000)/ },
151
+ { s: "Windows ME", r: /(Win 9x 4.90|Windows ME)/ },
152
+ { s: "Windows 98", r: /(Windows 98|Win98)/ },
153
+ { s: "Windows 95", r: /(Windows 95|Win95|Windows_95)/ },
154
+ { s: "Windows NT 4.0", r: /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/ },
155
+ { s: "Windows CE", r: /Windows CE/ },
156
+ { s: "Windows 3.11", r: /Win16/ },
157
+ { s: "Android", r: /Android/ },
158
+ { s: "Open BSD", r: /OpenBSD/ },
159
+ { s: "Sun OS", r: /SunOS/ },
160
+ { s: "Linux", r: /(Linux|X11)/ },
161
+ { s: "iOS", r: /(iPhone|iPad|iPod)/ },
162
+ { s: "Mac OS X", r: /Mac OS X/ },
163
+ { s: "Mac OS", r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/ },
164
+ { s: "QNX", r: /QNX/ },
165
+ { s: "UNIX", r: /UNIX/ },
166
+ { s: "BeOS", r: /BeOS/ },
167
+ { s: "OS/2", r: /OS\/2/ },
168
+ { s: "Search Bot", r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/ },
169
+ ];
170
+ for (var id in clientStrings) {
171
+ var cs = clientStrings[id];
172
+ if (cs.r.test(nAgt)) {
173
+ os = cs.s;
174
+ break;
175
+ }
176
+ }
177
+ var osVersion = unknown;
178
+ if (/Windows/.test(os)) {
179
+ const _osv = /Windows (.*)/.exec(os) || [];
180
+ osVersion = _osv[1] || "unknown";
181
+ os = "Windows";
182
+ }
183
+ switch (os) {
184
+ case "Mac OS X":
185
+ const _osvx = /Mac OS X (10[\.\_\d]+)/.exec(nAgt);
186
+ osVersion = (_osvx === null || _osvx === void 0 ? void 0 : _osvx[1]) || "unknown";
187
+ break;
188
+ case "Android":
189
+ osVersion = ((_a = /Android ([\.\_\d]+)/.exec(nAgt)) === null || _a === void 0 ? void 0 : _a[1]) || "unknown";
190
+ break;
191
+ case "iOS":
192
+ const _osVersion = /OS (\d+)_(\d+)_?(\d+)?/.exec(nVer) || [0, 0, 0];
193
+ osVersion = (_osVersion[1] || 0) + "." + (_osVersion[2] || 0) + "." + (_osVersion[3] || 0);
194
+ break;
195
+ }
196
+ const _deviceInfo = {
197
+ screen: screenSize,
198
+ browser: browser,
199
+ browserVersion: version,
200
+ browserMajorVersion: majorVersion,
201
+ mobile: mobile,
202
+ os: os,
203
+ osVersion: osVersion,
204
+ cookies: cookieEnabled,
205
+ };
206
+ deviceInfo = _deviceInfo;
207
+ }
208
+ return deviceInfo;
209
+ };
210
+ //# sourceMappingURL=device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Create new directory
3
+ */
4
+ declare function createDir(path: string): true | undefined;
5
+ export { createDir };
@@ -0,0 +1,13 @@
1
+ const fs = require("fs");
2
+ /**
3
+ * Create new directory
4
+ */
5
+ function createDir(path) {
6
+ if (fs.existsSync(path)) {
7
+ console.log("directory already exited !");
8
+ return true;
9
+ }
10
+ fs.mkdirSync(path, { recursive: true });
11
+ }
12
+ export { createDir };
13
+ //# sourceMappingURL=createDir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDir.js","sourceRoot":"","sources":["../../src/file/createDir.ts"],"names":[],"mappings":"AAAA,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzB;;GAEG;AACH,SAAS,SAAS,CAAC,IAAY;IAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;KACZ;IACD,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Move file to another location.
3
+ */
4
+ export declare function fileMove(oldPath: string, newPath: string, callback: any): void;
@@ -0,0 +1,29 @@
1
+ const fs = require("fs");
2
+ /**
3
+ * Move file to another location.
4
+ */
5
+ export function fileMove(oldPath, newPath, callback) {
6
+ fs.rename(oldPath, newPath, function (err) {
7
+ if (err) {
8
+ if (err.code === "EXDEV") {
9
+ copy();
10
+ }
11
+ else {
12
+ callback(err);
13
+ }
14
+ return;
15
+ }
16
+ callback();
17
+ });
18
+ function copy() {
19
+ var readStream = fs.createReadStream(oldPath);
20
+ var writeStream = fs.createWriteStream(newPath);
21
+ readStream.on("error", callback);
22
+ writeStream.on("error", callback);
23
+ readStream.on("close", function () {
24
+ fs.unlink(oldPath, callback);
25
+ });
26
+ readStream.pipe(writeStream);
27
+ }
28
+ }
29
+ //# sourceMappingURL=fileMove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileMove.js","sourceRoot":"","sources":["../../src/file/fileMove.ts"],"names":[],"mappings":"AAAA,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzB;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,OAAe,EAAE,QAAa;IACvE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,GAAQ;QAC7C,IAAI,GAAG,EAAE;YACR,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE;gBACzB,IAAI,EAAE,CAAC;aACP;iBAAM;gBACN,QAAQ,CAAC,GAAG,CAAC,CAAC;aACd;YACD,OAAO;SACP;QACD,QAAQ,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,SAAS,IAAI;QACZ,IAAI,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,WAAW,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEhD,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAElC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE;YACtB,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;AACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ *
3
+ */
4
+ declare const forEachFileByExt: (base: string, ext: string, cb: (path: string) => {}) => void;
5
+ export { forEachFileByExt };
@@ -0,0 +1,41 @@
1
+ var path = require("path");
2
+ var fs = require("fs");
3
+ /**
4
+ *
5
+ */
6
+ const forEachFileByExt = (base, ext, cb) => {
7
+ var walk = function (directoryName) {
8
+ try {
9
+ fs.readdir(directoryName, function (e, files) {
10
+ if (e) {
11
+ console.log("Error: ", e);
12
+ return;
13
+ }
14
+ files.forEach(function (file) {
15
+ var fullPath = path.join(directoryName, file);
16
+ fs.stat(fullPath, function (e, f) {
17
+ if (e) {
18
+ console.log("Error: ", e);
19
+ return;
20
+ }
21
+ if (f.isDirectory()) {
22
+ walk(fullPath);
23
+ }
24
+ else {
25
+ if (fullPath.toLowerCase().indexOf(ext.toLowerCase()) > -1) {
26
+ if (cb)
27
+ cb(fullPath);
28
+ }
29
+ }
30
+ });
31
+ });
32
+ });
33
+ }
34
+ catch (error) {
35
+ console.log("error", error);
36
+ }
37
+ };
38
+ walk(base);
39
+ };
40
+ export { forEachFileByExt };
41
+ //# sourceMappingURL=findFilesByExt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findFilesByExt.js","sourceRoot":"","sources":["../../src/file/findFilesByExt.ts"],"names":[],"mappings":"AAAA,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3B,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB;;GAEG;AACH,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,EAAwB,EAAE,EAAE;IAChF,IAAI,IAAI,GAAG,UAAU,aAAqB;QACzC,IAAI;YACH,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAM,EAAE,KAAe;gBAC1D,IAAI,CAAC,EAAE;oBACN,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC1B,OAAO;iBACP;gBACD,KAAK,CAAC,OAAO,CAAC,UAAU,IAAY;oBACnC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC9C,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAM,EAAE,CAAM;wBACzC,IAAI,CAAC,EAAE;4BACN,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;4BAC1B,OAAO;yBACP;wBACD,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;4BACpB,IAAI,CAAC,QAAQ,CAAC,CAAC;yBACf;6BAAM;4BACN,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;gCAC3D,IAAI,EAAE;oCAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;6BACrB;yBACD;oBACF,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAC5B;IACF,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,CAAC;AACZ,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
package/esm/index.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ export * from "./array";
2
+ export * from "./device";
3
+ export * from "./console";
4
+ export * from "./device/browser";
5
+ export * from "./device/camera";
6
+ export * from "./math";
7
+ export * from "./object";
8
+ export * from "./string";
9
+ export * from "./string/url";
10
+ export * from "./file/createDir";
11
+ export * from "./file/fileMove";
12
+ export * from "./file/findFilesByExt";
13
+ export * from "./Timer";
14
+ export * from "./permission/requestCamera";
15
+ export * from "./permission/requestDeviceOrientationControl";
16
+ export * from "./console/enableConsole";
17
+ declare const _default: undefined;
18
+ export default _default;
package/esm/index.js ADDED
@@ -0,0 +1,18 @@
1
+ export * from "./array";
2
+ export * from "./device";
3
+ export * from "./console";
4
+ export * from "./device/browser";
5
+ export * from "./device/camera";
6
+ export * from "./math";
7
+ export * from "./object";
8
+ export * from "./string";
9
+ export * from "./string/url";
10
+ export * from "./file/createDir";
11
+ export * from "./file/fileMove";
12
+ export * from "./file/findFilesByExt";
13
+ export * from "./Timer";
14
+ export * from "./permission/requestCamera";
15
+ export * from "./permission/requestDeviceOrientationControl";
16
+ export * from "./console/enableConsole";
17
+ export default this;
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,SAAS,CAAC;AACxB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,yBAAyB,CAAC;AAExC,eAAe,IAAI,CAAC"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Returns amount of different days between 2 dates
3
+ */
4
+ export declare function diffDate(date1: string, date2: string): number;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Returns amount of different days between 2 dates
3
+ */
4
+ export function diffDate(date1, date2) {
5
+ date1 = date1 || new Date().toString();
6
+ date2 = date2 || new Date().toString();
7
+ return (new Date(date2).getTime() - new Date(date1).getTime()) / (24 * 60 * 60 * 1000);
8
+ }
9
+ //# sourceMappingURL=diffDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffDate.js","sourceRoot":"","sources":["../../src/math/diffDate.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,KAAa;IACpD,KAAK,GAAG,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;IACvC,KAAK,GAAG,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;IACvC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACxF,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ *
3
+ * @param {Number} number
4
+ * @return {Number}
5
+ */
6
+ export declare const randRound: (number: number) => number;
7
+ /**
8
+ *
9
+ * @param {Number} number
10
+ * @return {Number}
11
+ */
12
+ export declare const rand: (number: number) => number;
13
+ /**
14
+ *
15
+ * @param {Number} number
16
+ * @return {Number}
17
+ */
18
+ export declare const randHalt: (number: number) => number;
19
+ /**
20
+ *
21
+ * @param {Number} low
22
+ * @param {Number} high
23
+ * @return {Number}
24
+ */
25
+ export declare const randInt: (low: number, high: number) => number;
26
+ /**
27
+ *
28
+ * @param {Number} low
29
+ * @param {Number} high
30
+ * @return {Number}
31
+ */
32
+ export declare const randFloat: (low: number, high: number) => number;
33
+ /**
34
+ *
35
+ * @param {Number} degrees
36
+ * @return {Number}
37
+ */
38
+ export declare const degToRad: (degrees: number) => number;
39
+ /**
40
+ *
41
+ * @param {Number} degrees
42
+ * @return {Number}
43
+ */
44
+ export declare const radToDeg: (radians: number) => number;
45
+ /**
46
+ *
47
+ * @param {Number} cx
48
+ * @param {Number} cy
49
+ * @param {Number} ex
50
+ * @param {Number} ey
51
+ * @returns {Number}
52
+ */
53
+ export declare const angleBetweenPoints: (cx: number, cy: number, ex: number, ey: number) => number;