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
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ require("core-js/modules/es.regexp.exec.js");
9
+
10
+ require("core-js/modules/es.parse-int.js");
11
+
12
+ require("core-js/modules/es.regexp.to-string.js");
13
+
14
+ require("core-js/modules/web.dom-collections.iterator.js");
15
+
16
+ require("core-js/modules/es.string.split.js");
17
+
18
+ require("core-js/modules/es.parse-float.js");
19
+
20
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+
22
+ class Color {
23
+ // This function (pSBC) will take a HEX or RGB web color.
24
+ // pSBC can shade it darker or lighter, or blend it with a second color, and can also pass it right thru but convert from Hex to RGB (Hex2RGB) or RGB to Hex (RGB2Hex).
25
+ // All without you even knowing what color format you are using.
26
+ // Version 4.0 (pref: https://github.com/PimpTrizkit/PJs/wiki/12.-Shade,-Blend-and-Convert-a-Web-Color-(pSBC.js));
27
+ static hexToRgb(hex) {
28
+ var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
29
+ return result ? {
30
+ r: parseInt(result[1], 16),
31
+ g: parseInt(result[2], 16),
32
+ b: parseInt(result[3], 16)
33
+ } : null;
34
+ }
35
+
36
+ static hexDarken(hex, amount) {
37
+ return Color.pSBC(-amount, hex);
38
+ }
39
+
40
+ static hexLighten(hex, amount) {
41
+ return Color.pSBC(amount, hex);
42
+ }
43
+
44
+ static RGBToHex(rgb) {
45
+ return Color.pSBC(0, rgb, "c", true);
46
+ }
47
+
48
+ }
49
+
50
+ _defineProperty(Color, "random", function () {
51
+ let hex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
52
+ return (hex ? "#" : "") + Math.floor(Math.random() * 16777215).toString(16);
53
+ });
54
+
55
+ _defineProperty(Color, "pSBC", (p, c0, c1, l) => {
56
+ let r,
57
+ g,
58
+ b,
59
+ P,
60
+ f,
61
+ t,
62
+ h,
63
+ i = parseInt,
64
+ m = Math.round,
65
+ a = typeof c1 == "string";
66
+ if (typeof p != "number" || p < -1 || p > 1 || typeof c0 != "string" || c0[0] != "r" && c0[0] != "#" || c1 && !a) return null;
67
+ if (!Color.pSBCr) Color.pSBCr = d => {
68
+ let n = d.length,
69
+ x = {};
70
+
71
+ if (n > 9) {
72
+ [r, g, b, a] = d = d.split(","), n = d.length;
73
+ if (n < 3 || n > 4) return null;
74
+ x.r = i(r[3] == "a" ? r.slice(5) : r.slice(4)), x.g = i(g), x.b = i(b), x.a = a ? parseFloat(a) : -1;
75
+ } else {
76
+ if (n == 8 || n == 6 || n < 4) return null;
77
+ if (n < 6) d = "#" + d[1] + d[1] + d[2] + d[2] + d[3] + d[3] + (n > 4 ? d[4] + d[4] : "");
78
+ d = i(d.slice(1), 16);
79
+ if (n == 9 || n == 5) x.r = d >> 24 & 255, x.g = d >> 16 & 255, x.b = d >> 8 & 255, x.a = m((d & 255) / 0.255) / 1000;else x.r = d >> 16, x.g = d >> 8 & 255, x.b = d & 255, x.a = -1;
80
+ }
81
+
82
+ return x;
83
+ };
84
+ h = c0.length > 9, h = a ? c1.length > 9 ? true : c1 == "c" ? !h : false : h, f = Color.pSBCr(c0), P = p < 0, t = c1 && c1 != "c" ? Color.pSBCr(c1) : P ? {
85
+ r: 0,
86
+ g: 0,
87
+ b: 0,
88
+ a: -1
89
+ } : {
90
+ r: 255,
91
+ g: 255,
92
+ b: 255,
93
+ a: -1
94
+ }, p = P ? p * -1 : p, P = 1 - p;
95
+ if (!f || !t) return null;
96
+ if (l) r = m(P * f.r + p * t.r), g = m(P * f.g + p * t.g), b = m(P * f.b + p * t.b);else r = m((P * f.r ** 2 + p * t.r ** 2) ** 0.5), g = m((P * f.g ** 2 + p * t.g ** 2) ** 0.5), b = m((P * f.b ** 2 + p * t.b ** 2) ** 0.5);
97
+ a = f.a, t = t.a, f = a >= 0 || t >= 0, a = f ? a < 0 ? t : t < 0 ? a : a * P + t * p : 0;
98
+ if (h) return "rgb" + (f ? "a(" : "(") + r + "," + g + "," + b + (f ? "," + m(a * 1000) / 1000 : "") + ")";else return "#" + (4294967296 + r * 16777216 + g * 65536 + b * 256 + (f ? m(a * 255) : 0)).toString(16).slice(1, f ? undefined : -2);
99
+ });
100
+
101
+ var _default = Color;
102
+ exports.default = _default;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ require("core-js/modules/es.promise.js");
9
+
10
+ var _requestedDeviceOrientation = false;
11
+ var _isDeviceOrientationSupport = false;
12
+ var _default = {
13
+ get isPotrait() {
14
+ if (window && !window.orientation) return window.matchMedia("(orientation: portrait)").matches;
15
+ return !(window && window.orientation === 90 || window && window.orientation === -90);
16
+ },
17
+
18
+ get isLandscape() {
19
+ return !this.isPotrait;
20
+ },
21
+
22
+ get isDeviceOrientationSupport() {
23
+ // if (!_requestedDeviceOrientation) {
24
+ // await this.requestDeviceOrientationData()
25
+ // }
26
+ return _isDeviceOrientationSupport;
27
+ },
28
+
29
+ async requestDeviceOrientationData() {
30
+ if (!window) {
31
+ // not supported
32
+ console.warn("`window` not found");
33
+ _isDeviceOrientationSupport = false;
34
+ return;
35
+ } // console.log(window)
36
+
37
+
38
+ if (window.DeviceOrientationEvent !== undefined && typeof window.DeviceOrientationEvent.requestPermission === "function") {
39
+ console.log("This browser can be requested for `DeviceOrientationEvent` permission");
40
+
41
+ try {
42
+ const response = await window.DeviceOrientationEvent.requestPermission(); // console.log(response)
43
+
44
+ if (response == "granted") {
45
+ console.log("`DeviceOrientationEvent` permission -> granted!");
46
+ _isDeviceOrientationSupport = true;
47
+ } else {
48
+ // rejected
49
+ console.log("`DeviceOrientationEvent` permission ->", response);
50
+ _isDeviceOrientationSupport = false;
51
+ }
52
+ } catch (error) {
53
+ // not supported
54
+ console.log(error);
55
+ _isDeviceOrientationSupport = false;
56
+ }
57
+ } else {
58
+ // not supported
59
+ console.warn("`window.DeviceOrientationEvent` not found");
60
+ _isDeviceOrientationSupport = false;
61
+ }
62
+
63
+ return _isDeviceOrientationSupport;
64
+ }
65
+
66
+ };
67
+ exports.default = _default;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ class EventDispatcher {
9
+ constructor() {}
10
+
11
+ addEventListener(type, listener) {
12
+ if (this._listeners === undefined) this._listeners = {};
13
+ const listeners = this._listeners;
14
+
15
+ if (listeners[type] === undefined) {
16
+ listeners[type] = [];
17
+ }
18
+
19
+ if (listeners[type].indexOf(listener) === -1) {
20
+ listeners[type].push(listener);
21
+ }
22
+ }
23
+
24
+ hasEventListener(type, listener) {
25
+ if (this._listeners === undefined) return false;
26
+ const listeners = this._listeners;
27
+ return listeners[type] !== undefined && listeners[type].indexOf(listener) !== -1;
28
+ }
29
+
30
+ removeEventListener(type, listener) {
31
+ if (this._listeners === undefined) return;
32
+ const listeners = this._listeners;
33
+ const listenerArray = listeners[type];
34
+
35
+ if (listenerArray !== undefined) {
36
+ const index = listenerArray.indexOf(listener);
37
+
38
+ if (index !== -1) {
39
+ listenerArray.splice(index, 1);
40
+ }
41
+ }
42
+ }
43
+
44
+ dispatchEvent(event) {
45
+ if (this._listeners === undefined) return;
46
+ const listeners = this._listeners;
47
+ const listenerArray = listeners[event.type];
48
+
49
+ if (listenerArray !== undefined) {
50
+ event.target = this; // Make a copy, in case listeners are removed while iterating.
51
+
52
+ const array = listenerArray.slice(0);
53
+
54
+ for (let i = 0, l = array.length; i < l; i++) {
55
+ array[i].call(this, event);
56
+ }
57
+ }
58
+ }
59
+
60
+ }
61
+
62
+ exports.default = EventDispatcher;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var logFile = "[FileUpload.js] ";
8
+ var _default = {
9
+ uploadBlob(_ref) {
10
+ let {
11
+ blob,
12
+ url,
13
+ params,
14
+ onComplete,
15
+ onError
16
+ } = _ref;
17
+ var formData = new FormData();
18
+ formData.append("upload", blob, "img_" + +new Date() + ".jpg");
19
+
20
+ if (params) {
21
+ Object.keys(params).forEach(key => {
22
+ var val = obj[key];
23
+ formData.append(key, val);
24
+ });
25
+ }
26
+
27
+ var request = new XMLHttpRequest();
28
+ request.open("POST", url);
29
+ request.send(formData);
30
+
31
+ request.onreadystatechange = function () {
32
+ if (this.readyState == 4) {
33
+ // Typical action to be performed when the document is ready:
34
+ if (this.status == 200) {
35
+ // var response = JSON.parse(request.response) || "";
36
+ var response = {};
37
+
38
+ try {
39
+ response = JSON.parse(request.response) || "";
40
+ } catch (error) {
41
+ console.error(logFile, "Can't part JSON of the response");
42
+ }
43
+
44
+ var statusOfSafety = response.status || 0;
45
+
46
+ if (statusOfSafety == 1) {
47
+ console.log(logFile, "request: ", request);
48
+ var data = response.data || {};
49
+ console.log(logFile, data);
50
+ var url = data["url"];
51
+ if (onComplete) onComplete(url);
52
+ } else {
53
+ var errMsg = "Ảnh có nội dung không phù hợp.";
54
+ console.error(logFile, errMsg);
55
+ if (onError) onError(errMsg);
56
+ }
57
+ } else {
58
+ var errMsg = "Upload ảnh không thành công!";
59
+ console.error(logFile, errMsg);
60
+ if (onError) onError(errMsg);
61
+ }
62
+ }
63
+ };
64
+
65
+ request.onerror = function (res) {
66
+ var errMsg = "Upload ảnh không thành công!";
67
+ console.error(logFile, errMsg, "=>", res);
68
+ if (onError) onError(errMsg);
69
+ };
70
+ }
71
+
72
+ };
73
+ exports.default = _default;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ require("core-js/modules/es.array.includes.js");
9
+
10
+ require("core-js/modules/es.string.includes.js");
11
+
12
+ require("core-js/modules/es.regexp.exec.js");
13
+
14
+ require("core-js/modules/es.string.split.js");
15
+
16
+ require("core-js/modules/es.regexp.to-string.js");
17
+
18
+ var _lodash = _interopRequireDefault(require("lodash"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ class FileUtils {
23
+ static getExtensionVideo(file) {
24
+ var extension = "";
25
+ if (file.type.indexOf("quicktime") >= 0) extension = ".mov";else if (file.type.indexOf("avi") >= 0) extension = ".avi";else if (file.type.indexOf("mpeg") >= 0) extension = ".mpg";else if (file.type.indexOf("wmv") >= 0) extension = ".wmv";else if (file.type.indexOf("ogg") >= 0) extension = ".ogg";else if (file.type.indexOf("webm") >= 0) extension = ".webm";else if (file.type.indexOf("mpeg-4") >= 0) extension = ".mp4";else if (file.type.indexOf("mp4") >= 0) extension = ".mp4";
26
+ return extension;
27
+ }
28
+
29
+ static getFileExtension(file) {
30
+ const fn = file.name || file.originalFilename;
31
+
32
+ let _f = fn.includes(".") ? fn.split(".") : [""];
33
+
34
+ return _f[_f.length - 1];
35
+ }
36
+
37
+ static getFileNameByUrl(urlStr) {
38
+ let _u = urlStr.toString();
39
+
40
+ let _a = _u.includes("/") ? _u.split("/") : [];
41
+
42
+ return _lodash.default.last(_a);
43
+ }
44
+
45
+ }
46
+
47
+ exports.default = FileUtils;