diginext-utils 1.0.0 → 1.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.
- package/dist/main.js +9 -0
- package/dist/main.js.map +1 -1
- package/dist/module.js +9 -1
- package/dist/module.js.map +1 -1
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -20,6 +20,15 @@ function $parcel$exportWildcard(dest, source) {
|
|
|
20
20
|
|
|
21
21
|
$parcel$export(module.exports, "requestCamera", () => $25160c7bc1de3077$export$2e2bcd8739ae039);
|
|
22
22
|
$parcel$export(module.exports, "requestDeviceOrientationControl", () => $cb40f1ea47093623$export$2e2bcd8739ae039);
|
|
23
|
+
$parcel$export(module.exports, "Timer", () => $5faef40d80b088b8$export$2e2bcd8739ae039);
|
|
24
|
+
const $5faef40d80b088b8$var$Timer = {
|
|
25
|
+
wait: async (ms)=>{
|
|
26
|
+
return new Promise((resolve)=>setTimeout(resolve, ms));
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
var $5faef40d80b088b8$export$2e2bcd8739ae039 = $5faef40d80b088b8$var$Timer;
|
|
30
|
+
|
|
31
|
+
|
|
23
32
|
const $25160c7bc1de3077$var$requestCamera = ({ audio: audio = true , video: video = true })=>{
|
|
24
33
|
if (typeof window == "undefined") return false;
|
|
25
34
|
return new Promise((resolve, reject)=>{
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,MAAG,EAAC,KAAK;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;CAAE,AAAC;AAE3rD,iBAAiB;AACjB,MAAM,0BAAI,GAAG;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE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","sources":["packages/diginext-utils/index.js","packages/diginext-utils/src/permission/requestCamera.js","packages/diginext-utils/src/permission/requestDeviceOrientationControl.js","packages/diginext-utils/src/device/index.js","packages/diginext-utils/src/array/index.js","packages/diginext-utils/src/math/index.js","packages/diginext-utils/src/device/browser.js","packages/diginext-utils/src/device/camera.js","packages/diginext-utils/src/object/index.js","packages/diginext-utils/src/string/index.js","packages/diginext-utils/src/string/url.js"],"sourcesContent":["export * from \"./src/array\";\nexport * from \"./src/device\";\nexport * from \"./src/device/browser\";\nexport * from \"./src/device/camera\";\nexport * from \"./src/math\";\nexport * from \"./src/object\";\nexport * from \"./src/string\";\nexport * from \"./src/string/url\";\nimport requestCamera from \"./src/permission/requestCamera\";\nimport requestDeviceOrientationControl from \"./src/permission/requestDeviceOrientationControl\";\n\nexport { requestCamera, requestDeviceOrientationControl };\n","const requestCamera = ({ audio = true, video = true }) => {\n\tif (typeof window == \"undefined\") return false;\n\n\treturn new Promise((resolve, reject) => {\n\t\t// Older browsers might not implement mediaDevices at all, so we set an empty object first\n\t\tif (navigator.mediaDevices === undefined) {\n\t\t\tnavigator.mediaDevices = {};\n\t\t}\n\n\t\t// Some browsers partially implement mediaDevices. We can't just assign an object\n\t\t// with getUserMedia as it would overwrite existing properties.\n\t\t// Here, we will just add the getUserMedia property if it's missing.\n\t\tif (navigator.mediaDevices.getUserMedia === undefined) {\n\t\t\tnavigator.mediaDevices.getUserMedia = function (constraints) {\n\t\t\t\t// First get ahold of the legacy getUserMedia, if present\n\t\t\t\tvar getUserMedia = navigator.webkitGetUserMedia || navigator.mozGetUserMedia;\n\n\t\t\t\t// Some browsers just don't implement it - return a rejected promise with an error\n\t\t\t\t// to keep a consistent interface\n\t\t\t\tif (!getUserMedia) {\n\t\t\t\t\treturn Promise.reject(new Error(\"getUserMedia is not implemented in this browser\"));\n\t\t\t\t}\n\n\t\t\t\t// Otherwise, wrap the call to the old navigator.getUserMedia with a Promise\n\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\tgetUserMedia.call(navigator, constraints, resolve, reject);\n\t\t\t\t});\n\t\t\t};\n\t\t}\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia({ audio, video })\n\t\t\t.then(function (stream) {\n\t\t\t\tresolve(true);\n\t\t\t})\n\t\t\t.catch(function (err) {\n\t\t\t\tconsole.log(err.name + \": \" + err.message);\n\t\t\t\tresolve(false);\n\t\t\t});\n\t});\n};\n\nexport default requestCamera;\n","import { isAndroid } from \"../device\";\n\nconst requestDeviceOrientationControl = () => {\n\tif (typeof window == \"undefined\") return false;\n\treturn new Promise((resolve, reject) => {\n\t\tif (isAndroid()) resolve(true);\n\n\t\tif (typeof DeviceMotionEvent != \"undefined\" && DeviceMotionEvent.requestPermission) {\n\t\t\t// (optional) Do something before API request prompt.\n\t\t\tDeviceOrientationEvent.requestPermission()\n\t\t\t\t.then((response) => {\n\t\t\t\t\t// (optional) Do something after API prompt dismissed.\n\t\t\t\t\tif (response == \"granted\") {\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t// resolve({ status: true })\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(false);\n\t\t\t\t\t\t// resolve({ status: false, reason: \"DeviceMotionEvent is not support\" })\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((response) => {\n\t\t\t\t\tresolve(false);\n\t\t\t\t\t// resolve({ status: false, reason: response })\n\t\t\t\t});\n\t\t} else {\n\t\t\tresolve(false);\n\t\t\t// resolve({ status: false, reason: \"DeviceMotionEvent is not defined\" })\n\t\t}\n\t});\n};\n\nexport default requestDeviceOrientationControl;\n","export const isIos = () => {\n\tconst deviceInfo = checkOS();\n\tif (deviceInfo) return deviceInfo.os.toLowerCase() == \"ios\";\n\tconsole.log(\"Can't check OS\");\n\treturn null;\n};\n\nexport const isAndroid = () => {\n\tconst deviceInfo = checkOS();\n\tif (deviceInfo) return deviceInfo.os.toLowerCase() == \"android\";\n\tconsole.log(\"Can't check OS\");\n\treturn null;\n};\n\nexport const isMobile = () => {\n\tif (typeof navigator == \"undefined\") return null;\n\n\tif (\n\t\tnavigator.userAgent.match(/Android/i) ||\n\t\tnavigator.userAgent.match(/webOS/i) ||\n\t\tnavigator.userAgent.match(/iPhone/i) ||\n\t\tnavigator.userAgent.match(/iPad/i) ||\n\t\tnavigator.userAgent.match(/iPod/i) ||\n\t\tnavigator.userAgent.match(/BlackBerry/i) ||\n\t\tnavigator.userAgent.match(/Windows Phone/i)\n\t) {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/**\n *\n * @returns {{\n * screen,\n * browser,\n * browserVersion,\n * browserMajorVersion,\n * mobile,\n * os,\n * osVersion,\n * cookies,\n * flashVersion,\n * }}\n */\nexport const checkOS = () => {\n\tif (typeof window == \"undefined\") return {};\n\n\tif (typeof window?.deviceInfo == \"undefined\") {\n\t\tvar unknown = \"-\";\n\n\t\t// screen\n\t\tvar screenSize = \"\";\n\t\tif (screen.width) {\n\t\t\tvar width = screen.width ? screen.width : \"\";\n\t\t\tvar height = screen.height ? screen.height : \"\";\n\t\t\tscreenSize += \"\" + width + \" x \" + height;\n\t\t}\n\n\t\t// browser\n\t\tvar nVer = navigator.appVersion;\n\t\tvar nAgt = navigator.userAgent;\n\t\tvar browser = navigator.appName;\n\t\tvar version = \"\" + parseFloat(navigator.appVersion);\n\t\tvar majorVersion = parseInt(navigator.appVersion, 10);\n\t\tvar nameOffset, verOffset, ix;\n\n\t\t// Opera\n\t\tif ((verOffset = nAgt.indexOf(\"Opera\")) != -1) {\n\t\t\tbrowser = \"Opera\";\n\t\t\tversion = nAgt.substring(verOffset + 6);\n\t\t\tif ((verOffset = nAgt.indexOf(\"Version\")) != -1) {\n\t\t\t\tversion = nAgt.substring(verOffset + 8);\n\t\t\t}\n\t\t}\n\t\t// Opera Next\n\t\tif ((verOffset = nAgt.indexOf(\"OPR\")) != -1) {\n\t\t\tbrowser = \"Opera\";\n\t\t\tversion = nAgt.substring(verOffset + 4);\n\t\t}\n\t\t// Edge\n\t\telse if ((verOffset = nAgt.indexOf(\"Edge\")) != -1) {\n\t\t\tbrowser = \"Microsoft Edge\";\n\t\t\tversion = nAgt.substring(verOffset + 5);\n\t\t}\n\t\t// MSIE\n\t\telse if ((verOffset = nAgt.indexOf(\"MSIE\")) != -1) {\n\t\t\tbrowser = \"Microsoft Internet Explorer\";\n\t\t\tversion = nAgt.substring(verOffset + 5);\n\t\t}\n\t\t// Chrome\n\t\telse if ((verOffset = nAgt.indexOf(\"Chrome\")) != -1) {\n\t\t\tbrowser = \"Chrome\";\n\t\t\tversion = nAgt.substring(verOffset + 7);\n\t\t}\n\t\t// Safari\n\t\telse if ((verOffset = nAgt.indexOf(\"Safari\")) != -1) {\n\t\t\tbrowser = \"Safari\";\n\t\t\tversion = nAgt.substring(verOffset + 7);\n\t\t\tif ((verOffset = nAgt.indexOf(\"Version\")) != -1) {\n\t\t\t\tversion = nAgt.substring(verOffset + 8);\n\t\t\t}\n\t\t}\n\t\t// Firefox\n\t\telse if ((verOffset = nAgt.indexOf(\"Firefox\")) != -1) {\n\t\t\tbrowser = \"Firefox\";\n\t\t\tversion = nAgt.substring(verOffset + 8);\n\t\t}\n\t\t// MSIE 11+\n\t\telse if (nAgt.indexOf(\"Trident/\") != -1) {\n\t\t\tbrowser = \"Microsoft Internet Explorer\";\n\t\t\tversion = nAgt.substring(nAgt.indexOf(\"rv:\") + 3);\n\t\t}\n\t\t// Other browsers\n\t\telse if ((nameOffset = nAgt.lastIndexOf(\" \") + 1) < (verOffset = nAgt.lastIndexOf(\"/\"))) {\n\t\t\tbrowser = nAgt.substring(nameOffset, verOffset);\n\t\t\tversion = nAgt.substring(verOffset + 1);\n\t\t\tif (browser.toLowerCase() == browser.toUpperCase()) {\n\t\t\t\tbrowser = navigator.appName;\n\t\t\t}\n\t\t}\n\t\t// trim the version string\n\t\tif ((ix = version.indexOf(\";\")) != -1) version = version.substring(0, ix);\n\t\tif ((ix = version.indexOf(\" \")) != -1) version = version.substring(0, ix);\n\t\tif ((ix = version.indexOf(\")\")) != -1) version = version.substring(0, ix);\n\n\t\tmajorVersion = parseInt(\"\" + version, 10);\n\t\tif (isNaN(majorVersion)) {\n\t\t\tversion = \"\" + parseFloat(navigator.appVersion);\n\t\t\tmajorVersion = parseInt(navigator.appVersion, 10);\n\t\t}\n\n\t\t// mobile version\n\t\tvar mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer);\n\n\t\t// cookie\n\t\tvar cookieEnabled = navigator.cookieEnabled ? true : false;\n\n\t\tif (typeof navigator.cookieEnabled == \"undefined\" && !cookieEnabled) {\n\t\t\tdocument.cookie = \"testcookie\";\n\t\t\tcookieEnabled = document.cookie.indexOf(\"testcookie\") != -1 ? true : false;\n\t\t}\n\n\t\t// system\n\t\tvar os = unknown;\n\t\tvar clientStrings = [\n\t\t\t{ s: \"Windows 10\", r: /(Windows 10.0|Windows NT 10.0)/ },\n\t\t\t{ s: \"Windows 8.1\", r: /(Windows 8.1|Windows NT 6.3)/ },\n\t\t\t{ s: \"Windows 8\", r: /(Windows 8|Windows NT 6.2)/ },\n\t\t\t{ s: \"Windows 7\", r: /(Windows 7|Windows NT 6.1)/ },\n\t\t\t{ s: \"Windows Vista\", r: /Windows NT 6.0/ },\n\t\t\t{ s: \"Windows Server 2003\", r: /Windows NT 5.2/ },\n\t\t\t{ s: \"Windows XP\", r: /(Windows NT 5.1|Windows XP)/ },\n\t\t\t{ s: \"Windows 2000\", r: /(Windows NT 5.0|Windows 2000)/ },\n\t\t\t{ s: \"Windows ME\", r: /(Win 9x 4.90|Windows ME)/ },\n\t\t\t{ s: \"Windows 98\", r: /(Windows 98|Win98)/ },\n\t\t\t{ s: \"Windows 95\", r: /(Windows 95|Win95|Windows_95)/ },\n\t\t\t{ s: \"Windows NT 4.0\", r: /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/ },\n\t\t\t{ s: \"Windows CE\", r: /Windows CE/ },\n\t\t\t{ s: \"Windows 3.11\", r: /Win16/ },\n\t\t\t{ s: \"Android\", r: /Android/ },\n\t\t\t{ s: \"Open BSD\", r: /OpenBSD/ },\n\t\t\t{ s: \"Sun OS\", r: /SunOS/ },\n\t\t\t{ s: \"Linux\", r: /(Linux|X11)/ },\n\t\t\t{ s: \"iOS\", r: /(iPhone|iPad|iPod)/ },\n\t\t\t{ s: \"Mac OS X\", r: /Mac OS X/ },\n\t\t\t{ s: \"Mac OS\", r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/ },\n\t\t\t{ s: \"QNX\", r: /QNX/ },\n\t\t\t{ s: \"UNIX\", r: /UNIX/ },\n\t\t\t{ s: \"BeOS\", r: /BeOS/ },\n\t\t\t{ s: \"OS/2\", r: /OS\\/2/ },\n\t\t\t{ s: \"Search Bot\", r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\\/Teoma|ia_archiver)/ },\n\t\t];\n\t\tfor (var id in clientStrings) {\n\t\t\tvar cs = clientStrings[id];\n\t\t\tif (cs.r.test(nAgt)) {\n\t\t\t\tos = cs.s;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tvar osVersion = unknown;\n\n\t\tif (/Windows/.test(os)) {\n\t\t\tosVersion = /Windows (.*)/.exec(os)[1];\n\t\t\tos = \"Windows\";\n\t\t}\n\n\t\tswitch (os) {\n\t\t\tcase \"Mac OS X\":\n\t\t\t\tosVersion = /Mac OS X (10[\\.\\_\\d]+)/.exec(nAgt)[1];\n\t\t\t\tbreak;\n\n\t\t\tcase \"Android\":\n\t\t\t\tosVersion = /Android ([\\.\\_\\d]+)/.exec(nAgt)[1];\n\t\t\t\tbreak;\n\n\t\t\tcase \"iOS\":\n\t\t\t\tosVersion = /OS (\\d+)_(\\d+)_?(\\d+)?/.exec(nVer);\n\t\t\t\tosVersion = osVersion[1] + \".\" + osVersion[2] + \".\" + (osVersion[3] | 0);\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// flash (you'll need to include swfobject)\n\t\t/* script src=\"//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js\" */\n\t\tvar flashVersion = \"no check\";\n\t\tif (typeof swfobject != \"undefined\") {\n\t\t\tvar fv = swfobject.getFlashPlayerVersion();\n\t\t\tif (fv.major > 0) {\n\t\t\t\tflashVersion = fv.major + \".\" + fv.minor + \" r\" + fv.release;\n\t\t\t} else {\n\t\t\t\tflashVersion = unknown;\n\t\t\t}\n\t\t}\n\n\t\tconst deviceInfo = {\n\t\t\tscreen: screenSize,\n\t\t\tbrowser: browser,\n\t\t\tbrowserVersion: version,\n\t\t\tbrowserMajorVersion: majorVersion,\n\t\t\tmobile: mobile,\n\t\t\tos: os,\n\t\t\tosVersion: osVersion,\n\t\t\tcookies: cookieEnabled,\n\t\t\tflashVersion: flashVersion,\n\t\t};\n\n\t\twindow.deviceInfo = deviceInfo;\n\t}\n\n\treturn window.deviceInfo;\n};\n","import { randInt } from \"../math\";\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n*/\nexport const sumArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n if (key) return array.reduce((c, v) => c + v[key], 0);\n else return array.reduce((c, v) => c + v, 0);\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n */\nexport const averageArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n return this.sum(array, key) / array.length || 0;\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n */\nexport const minArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n if (array.length > 0) {\n if (key) return array.reduce((c, v) => (c < v[key] ? c : v[key]));\n else return array.reduce((c, v) => (c < v ? c : v));\n }\n return 0;\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n */\nexport const maxArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n if (array.length > 0) {\n if (key) return array.reduce((c, v) => (c > v[key] ? c : v[key]));\n else return array.reduce((c, v) => (c > v ? c : v));\n }\n return 0;\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Array}\n */\nexport const sortElementByString = (array, key) => {\n if (!Array.isArray(array)) return [];\n if (key)\n return array.sort((x, y) => {\n var a = x[key].toUpperCase(),\n b = y[key].toUpperCase();\n return a == b ? 0 : a > b ? 1 : -1;\n });\n console.log(\"NO KEY\");\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Array}\n */\nexport const sortElementByNumber = (array, key) => {\n if (!Array.isArray(array)) return [];\n if (key)\n return array.sort((a, b) => {\n return a[key] - b[key];\n });\n console.log(\"NO KEY\");\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const firstElement = (array) => {\n if (array) if (array.length || array.length > 0) return array[0];\n return null;\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const lastElement = (array) => {\n if (array) if (array.length || array.length > 0) return array[array.length - 1];\n return null;\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const randomIndex = (array) => {\n if (array) return randInt(0, array.length - 1);\n return -1;\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const randomElement = (array) => {\n if (array) return array[randomIndex(array)];\n return null;\n};\n\n/**\n * Remove same elements from 2 arrays\n * @param {Array} list1\n * @param {Array} list2\n * @param {string} key\n * @returns {Array}\n */\nexport const mergeAndMakeUniqueElement = (list1, list2, key) => {\n if (!list1 || !list2) return;\n\n if (key) {\n return list1\n .concat(list2)\n .filter((item, index, self) => {\n return self.findIndex(x => x[key] == item[key]) === index\n })\n }\n else {\n return list1.concat(list2)\n .filter((x, index, self) => {\n return self.indexOf(x) === index\n })\n }\n\n};\n\n/**\n * check target == toMatch\n * @param {Array} target\n * @param {Array} toMatch\n * @returns {Boolean}\n */\nexport const allMatchInArray = (target, toMatch) => {\n if (!target || !toMatch) return false;\n const found = toMatch.every((item) => {\n return target.includes(item);\n });\n return found;\n};\n\n\n\n/**\n *\n * @param {any} item\n * @param {Array} array\n * @returns {Array}\n */\nexport const removeItem = (item, array) => {\n const index = array.indexOf(item);\n if (index == -1) {\n console.warn(\"[ArrayExtra.removeItem] Item not found.\");\n return array;\n }\n array.splice(index, 1);\n return array;\n};\n\n/**\n *\n * @param {string} key\n * @param {any} value\n * @param {Array} array\n * @returns {Array}\n */\nexport const removeItemByKey = (key, value, array) => {\n const foundIndex = array.findIndex((item) => {\n return item[key] == value;\n });\n\n\tif (foundIndex < 0) {\n\t\tconsole.warn(\"[ArrayExtra.removeItemByKey] Item not found.\", key, value);\n\t\treturn array;\n\t}\n\tarray.splice(foundIndex, 1);\n\treturn array;\n};\n\n/**\n * Get an array with shuffle element\n * @param {Array} array\n * @param {Number} n\n * @returns {Array}\n */\n export const getRandom = (array, n) => {\n\tvar result = new Array(n),\n\t\tlen = array.length,\n\t\ttaken = new Array(len);\n\tif (n > len) throw new RangeError(\"getRandom: more elements taken than available\");\n\twhile (n--) {\n\t\tvar x = Math.floor(Math.random() * len);\n\t\tresult[n] = array[x in taken ? taken[x] : x];\n\t\ttaken[x] = --len in taken ? taken[len] : len;\n\t}\n\treturn result;\n};\n\n/**\n * Get an array with shuffle element\n * @param {Array} array\n * @param {Number} n\n * @returns {Array}\n */\n export const getHalfRandom = (array, n) => {\n\tvar n = Math.ceil(array.length / 2);\n\treturn array.getRandom(n);\n};\n\n/**\n * Make array shuffle itself\n * @param {Array} array\n * @returns {Array}\n */\n export const shuffle = (array) => {\n\tvar i = array.length,\n\t\tj,\n\t\ttemp;\n\tif (i == 0) return array;\n\twhile (--i) {\n\t\tj = Math.floor(Math.random() * (i + 1));\n\t\ttemp = array[i];\n\t\tarray[i] = array[j];\n\t\tarray[j] = temp;\n\t}\n\treturn array;\n};\n\n/**\n *\n * @param {Array} array\n * @param {Number} oldIndex\n * @param {Number} newIndex\n * @returns {Array}\n */\n export const moveIndex = (array, oldIndex, newIndex) => {\n\tif (newIndex >= array.length) {\n\t\tvar k = newIndex - array.length + 1;\n\t\twhile (k--) {\n\t\t\tarray.push(undefined);\n\t\t}\n\t}\n\tarray.splice(newIndex, 0, array.splice(oldIndex, 1)[0]);\n\treturn array; \n};\n\n\nexport const moveArray = (array, oldIndex, newIndex) => {\n\twhile (oldIndex < 0) {\n\t\toldIndex += array.length;\n\t}\n\twhile (newIndex < 0) {\n\t\tnewIndex += array.length;\n\t}\n\tif (newIndex >= array.length) {\n\t\tvar k = newIndex - array.length;\n\t\twhile (k-- + 1) {\n\t\t\tarray.push(999);\n\t\t}\n\t}\n\tarray.splice(newIndex, 0, array.splice(oldIndex, 1)[0]);\n\treturn array;\n};\n","const DEG2RAD = Math.PI / 180;\nconst RAD2DEG = 180 / Math.PI;\n\n/**\n *\n * @param {Number} number\n * @return {Number}\n */\nexport const randRound = (number) => {\n\treturn Math.round(Math.random() * number);\n};\n\n/**\n *\n * @param {Number} number\n * @return {Number}\n */\nexport const rand = (number) => {\n\treturn (Math.random() - Math.random()) * number;\n};\n\n/**\n *\n * @param {Number} number\n * @return {Number}\n */\nexport const randHalt = (number) => {\n\tvar rand = Math.random() - Math.random();\n\tvar res;\n\tif (rand > 0) {\n\t\tres = rand * (number / 2) + number / 2;\n\t} else {\n\t\tres = rand * (number / 2) - number / 2;\n\t}\n\treturn Math.abs(res);\n};\n/**\n *\n * @param {Number} low\n * @param {Number} high\n * @return {Number}\n */\nexport const randInt = (low, high) => {\n\treturn low + Math.floor(Math.random() * (high - low + 1));\n};\n\n/**\n *\n * @param {Number} low\n * @param {Number} high\n * @return {Number}\n */\nexport const randFloat = (low, high) => {\n\treturn low + Math.random() * (high - low);\n};\n/**\n *\n * @param {Number} degrees\n * @return {Number}\n */\nexport const degToRad = (degrees) => {\n\treturn degrees * DEG2RAD;\n};\n\n/**\n *\n * @param {Number} degrees\n * @return {Number}\n */\nexport const radToDeg = (radians) => {\n\treturn radians * RAD2DEG;\n};\n\n// const MathExtra = {\n// isRotateLeft(a, b, c) {\n// return (b.x - a.x) * (c.y - a.y) - (b.y - a.y) * (c.x - a.x) > 0;\n// },\n\n// deg_between_points_360(cx, cy, ex, ey) {\n// var theta = this.angleLine(cx, cy, ex, ey); // range (-180, 180]\n// if (theta < 0) theta = 360 + theta; // range [0, 360)\n// return theta;\n// },\n\n// deg_between_points(cx, cy, ex, ey) {\n// var dy = ey - cy;\n// var dx = ex - cx;\n// var theta = Math.atan2(dy, dx); // range (-PI, PI]\n// theta *= 180 / Math.PI; // rads to degs, range (-180, 180]\n// return theta;\n// },\n\n// angle_between_points(cx, cy, ex, ey) {\n// var dy = ey - cy;\n// var dx = ex - cx;\n// var theta = Math.atan2(dy, dx); // range (-PI, PI]\n// // theta *= 180 / Math.PI; // rads to degs, range (-180, 180]\n// return theta;\n// },\n\n// distance2Point(x1, y1, x2, y2) {\n// var dist = Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n// return dist;\n// },\n\n// clamp(value, min, max) {\n// return Math.max(min, Math.min(max, value));\n// },\n\n// // compute euclidian modulo of m % n\n// // https://en.wikipedia.org/wiki/Modulo_operation\n\n// euclideanModulo(n, m) {\n// return ((n % m) + m) % m;\n// },\n\n// // Linear mapping from range <a1, a2> to range <b1, b2>\n\n// mapLinear(x, a1, a2, b1, b2) {\n// return b1 + ((x - a1) * (b2 - b1)) / (a2 - a1);\n// },\n\n// // https://en.wikipedia.org/wiki/Linear_interpolation\n\n// lerp(x, y, t) {\n// return (1 - t) * x + t * y;\n// },\n\n// // http://en.wikipedia.org/wiki/Smoothstep\n\n// smoothstep(x, min, max) {\n// if (x <= min) return 0;\n// if (x >= max) return 1;\n\n// x = (x - min) / (max - min);\n\n// return x * x * (3 - 2 * x);\n// },\n\n// smootherstep(x, min, max) {\n// if (x <= min) return 0;\n// if (x >= max) return 1;\n\n// x = (x - min) / (max - min);\n\n// return x * x * x * (x * (x * 6 - 15) + 10);\n// },\n\n// // Random integer from <low, high> interval\n\n// // Random float from <-range/2, range/2> interval\n\n// randFloatSpread(range) {\n// return range * (0.5 - Math.random());\n// },\n\n// rotationDegToRad(rotation) {\n// return {\n// x: this.degToRad(rotation.x),\n// y: this.degToRad(rotation.y),\n// z: this.degToRad(rotation.z),\n// };\n// },\n\n// radToDeg(radians) {\n// return radians * RAD2DEG;\n// },\n\n// isPowerOfTwo(value) {\n// return (value & (value - 1)) === 0 && value !== 0;\n// },\n\n// nearestPowerOfTwo(value) {\n// return Math.pow(2, Math.round(Math.log(value) / Math.LN2));\n// },\n\n// nextPowerOfTwo(value) {\n// value--;\n// value |= value >> 1;\n// value |= value >> 2;\n// value |= value >> 4;\n// value |= value >> 8;\n// value |= value >> 16;\n// value++;\n\n// return value;\n// },\n\n// circleByPercentRadius(percent, radius) {\n// const theta = ((percent * 360 - 90) * Math.PI) / 180;\n\n// const x = radius * Math.cos(theta);\n// const y = -radius * Math.sin(theta);\n// return { x, y };\n// },\n\n// /**\n// *\n// * @param {Array} array\n// */\n// arrayToVector(array = [0, 0, 0]) {\n// const keys = ['x', 'y', 'z', 'w'];\n// const result = {};\n// array.map((item, index) => {\n// result[keys[index]] = item;\n// });\n// return result;\n// },\n// };\n\n// export default MathExtra;\n","export const isPotrait = (params) => {\n\tif (typeof window == \"undefined\") return false;\n\n\tif (!window.orientation) return window.matchMedia(\"(orientation: portrait)\").matches;\n\treturn !(window.orientation === 90 || window.orientation === -90);\n};\n\nexport const isLandscape = (params) => {\n\treturn !isPotrait();\n};\n\nexport const ua = (params) => {\n\tif (typeof navigator == \"undefined\") return null;\n\tif (typeof window == \"undefined\") return null;\n\n\treturn navigator.userAgent || navigator.vendor || window.opera;\n};\n\nexport const isFacebookWebview = (params) => {\n\tvar ua = ua();\n\tif (ua) return ua.indexOf(\"FBAN\") > -1 || ua.indexOf(\"FBAV\") > -1;\n};\n\nexport const isInAppWebview = (params) => {\n\tconst rules = [\"WebView\", \"(iPhone|iPod|iPad)(?!.*Safari/)\", \"Android.*(wv|.0.0.0)\"];\n\tconst regex = new RegExp(`(${rules.join(\"|\")})`, \"ig\");\n\tif (ua()) return Boolean(ua().match(regex));\n\treturn false;\n};\n","import requestCamera from \"../permission/requestCamera\";\n\n/**\n *\n * @param {{\n * container,\n * facingMode : environment | user,\n * audio : boolean,\n * }} param0\n * @returns\n */\nexport function getWebcam({\n\t//\n\tcontainer,\n\tfacingMode = \"environment\",\n\taudio = false,\n}) {\n\tif (typeof window == \"undefined\") return;\n\tcontainer = container || document.body;\n\n\treturn new Promise(async (resolve, reject) => {\n\t\tconst video = document.createElement(\"video\");\n\t\tvideo.style.position = \"absolute\";\n\t\tvideo.style.top = 0;\n\t\tvideo.style.left = 0;\n\t\tvideo.style.width = \"100%\";\n\t\tvideo.style.height = \"100%\";\n\t\tcontainer.append(video);\n\n\t\tlet inputCameras = [];\n\t\tlet currentCamera;\n\n\t\t/**\n\t\t * @type {MediaStreamConstraints}\n\t\t */\n\t\tconst requestedMediaConstraints = {\n\t\t\tvideo: {\n\t\t\t\tfacingMode: { exact: facingMode },\n\t\t\t},\n\t\t\taudio,\n\t\t};\n\n\t\t/**\n\t\t * @type {MediaStream}\n\t\t */\n\t\tlet stream;\n\t\tlet isAllowed = false;\n\n\t\tconsole.log(\"[Camera.js] Requesting:\", requestedMediaConstraints);\n\t\tconst res = await requestCamera({ audio });\n\t\tif (!res) {\n\t\t\tsetTimeout(function () {\n\t\t\t\thandleError({ name: \"Error\", message: \"NotSupported\" });\n\t\t\t}, 50);\n\t\t}\n\n\t\t// start requesting media permissions:\n\n\t\t// console.log(\"[Camera.js] Requesting:\", requestedMediaConstraints);\n\n\t\t// if (navigator.mediaDevices.enumerateDevices === undefined) {\n\t\t// \tsetTimeout(function () {\n\t\t// \t\thandleError({ name: \"Error\", message: \"NotSupported\" });\n\t\t// \t}, 50);\n\t\t// } else {\n\t\tnavigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);\n\t\t// }\n\n\t\t/**\n\t\t * @param {MediaDeviceInfo[]} devices\n\t\t */\n\t\tfunction parseDevices(devices) {\n\t\t\tinputCameras = [];\n\t\t\tlet backCameras = [];\n\n\t\t\tdevices.forEach(function (device) {\n\t\t\t\tif (device.kind == \"videoinput\" && typeof device.deviceId != \"undefined\" && device.deviceId != \"\") {\n\t\t\t\t\tinputCameras.push(device);\n\t\t\t\t}\n\t\t\t});\n\t\t\t// //alert (JSON.stringify (devices));\n\t\t\tconsole.log(\"[Camera.js] inputCameras:\", inputCameras);\n\n\t\t\tif (inputCameras.length > 0) {\n\t\t\t\tlet cams = \"\";\n\t\t\t\tlet backCamera;\n\n\t\t\t\tinputCameras.map((cam, index) => {\n\t\t\t\t\tcams += `[${cam.deviceId}] ${cam.kind} | ${cam.label}\\n`;\n\t\t\t\t\t// console.log(cam);\n\t\t\t\t\tlet label = cam.label.toLowerCase();\n\t\t\t\t\tif (label.indexOf(\"back\") > -1 || label.indexOf(\"facetime\") > -1) {\n\t\t\t\t\t\tbackCamera = cam;\n\t\t\t\t\t\tbackCameras.push(backCamera);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (backCameras.length > 1) {\n\t\t\t\t\tbackCamera = backCameras[backCameras.length - 1];\n\t\t\t\t}\n\n\t\t\t\tconsole.log(`[Camera.js] All input sources:`, cams);\n\t\t\t\tconsole.log(`[Camera.js] This device has ${backCameras.length} back camera${backCameras.length > 1 ? \"s\" : \"\"}.`);\n\t\t\t\tconsole.log(\"[Camera.js] backCameras:\", JSON.stringify(backCameras));\n\n\t\t\t\tcurrentCamera = backCamera;\n\n\t\t\t\tif (scope.onGotDevices) {\n\t\t\t\t\tscope.onGotDevices(devices);\n\t\t\t\t}\n\n\t\t\t\t// Lấy stream của camera sau\n\t\t\t\t// (Lấy cái cuối cùng trong danh sách trước, thường sẽ là camera chính trên Android)\n\t\t\t\tgetStreamOfCameraId(backCamera.deviceId)\n\t\t\t\t\t.then(onStreamReceived)\n\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\tif (backCameras.length > 1) {\n\t\t\t\t\t\t\t// nếu thiết bị có nhiều hơn 1 camera sau -> thử lấy camera khác\n\t\t\t\t\t\t\tbackCamera = backCameras[backCameras.length - 2];\n\t\t\t\t\t\t\tgetStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);\n\t\t\t\t\t\t} else if (backCameras.length > 2) {\n\t\t\t\t\t\t\t// nếu thiết bị có nhiều hơn 2 camera sau -> thử lấy camera khác nữa\n\t\t\t\t\t\t\tbackCamera = backCameras[backCameras.length - 3];\n\t\t\t\t\t\t\tgetStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// nếu thiết bị đéo có camera sau...\n\t\t\t\t\t\t\thandleError(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnavigator.mediaDevices.getUserMedia(requestedMediaConstraints).then(onStreamReceived).catch(handleError);\n\n\t\t\t\t// if (scope.onGotDevicesFailed) scope.onGotDevicesFailed();\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @param {MediaStream} stream\n\t\t */\n\t\tfunction onStreamReceived(stream) {\n\t\t\tif (inputCameras.length == 0) {\n\t\t\t\tconsole.log(\"[Camera.js] Not found any back cameras, request again?\");\n\t\t\t\tnavigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tisAllowed = true;\n\n\t\t\tplayWebcamVideo(stream);\n\t\t}\n\n\t\t/**\n\t\t * @param {MediaStream} _stream\n\t\t */\n\t\tfunction playWebcamVideo(_stream) {\n\t\t\tstream = _stream;\n\n\t\t\tif (\"srcObject\" in video) {\n\t\t\t\t// //alert ('GOT STREAM VIDEO OBJECT');\n\t\t\t\tvideo.srcObject = _stream;\n\t\t\t} else {\n\t\t\t\t// //alert ('GOT STREAM VIDEO SOURCE URL');\n\t\t\t\t// Avoid using this in new browsers, as it is going away.\n\t\t\t\tvideo.src = window.URL.createObjectURL(_stream);\n\t\t\t}\n\n\t\t\t// required to tell iOS safari we don't want fullscreen\n\t\t\tvideo.setAttribute(\"playsinline\", true);\n\t\t\tvideo.setAttribute(\"muted\", true);\n\t\t\tvideo.setAttribute(\"autoplay\", true);\n\t\t\tvideo.muted = true;\n\t\t\tvideo.autoplay = true;\n\t\t\tvideo.style.objectFit = \"cover\";\n\t\t\tvideo.play();\n\n\t\t\t// auto play\n\t\t\tvideo.addEventListener(\"canplay\", function (e) {\n\t\t\t\t// //alert ('CAN PLAY');\n\t\t\t});\n\n\t\t\tvideo.addEventListener(\"canplaythrough\", function (e) {\n\t\t\t\t// //alert ('CAN PLAY THROUGH');\n\t\t\t});\n\n\t\t\tvideo.addEventListener(\"error\", (e) => console.log(\"[Camera.js] <video> error:\", e));\n\n\t\t\tvideo.addEventListener(\"stalled\", function (e) {\n\t\t\t\t// //alert ('CANNOT GET METADATA');\n\t\t\t\tisAllowed = false;\n\t\t\t\tconsole.log(\"[Camera.js] <video> stalled:\", e);\n\n\t\t\t\treject();\n\t\t\t});\n\n\t\t\tvideo.addEventListener(\"loadedmetadata\", function (e) {\n\t\t\t\tif (currentCamera.label.toLowerCase().indexOf(\"facetime\") > -1) {\n\t\t\t\t\tvideo.style.transform = \"scaleX(-1)\";\n\t\t\t\t\tvideo.style.webkitTransform = \"scaleX(-1)\";\n\t\t\t\t}\n\n\t\t\t\tvideo.play();\n\n\t\t\t\tresolve(video);\n\t\t\t});\n\t\t}\n\n\t\tfunction getStreamOfCameraId(id) {\n\t\t\tconst constraints = {\n\t\t\t\tvideo: { deviceId: { exact: id } },\n\t\t\t\taudio: false,\n\t\t\t};\n\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tnavigator.mediaDevices.getUserMedia(constraints).then(resolve).catch(reject);\n\t\t\t});\n\t\t}\n\n\t\tfunction handleError(err) {\n\t\t\tconsole.error(err);\n\t\t\tconst errMsg = \"[Camera.js] \" + err.name + \": \" + err.message;\n\t\t\tconsole.error(errMsg);\n\n\t\t\tisAllowed = false;\n\n\t\t\treject();\n\t\t}\n\t});\n}\n","export const isNull = (object) => {\n\tif (typeof object == \"undefined\") return true;\n\tif (object == \"\") return true;\n\tif (Array.isArray(object)) return object.length == 0;\n\n\treturn object == null;\n};\n\nexport const toBool = (object) => {\n\tif (isNull(object)) return false;\n\tobject = object.toString();\n\n\treturn object === \"true\" || object == \"1\";\n};\n\nexport const toInt = (object) => {\n\tif (isNull(object)) return 0;\n\tobject = object.toString();\n\n\treturn parseInt(object, 10);\n};\n\nexport const toFloat = (object) => {\n\tif (isNull(object)) return 0;\n\tobject = object.toString();\n\n\treturn parseFloat(object);\n};\n\n/**\n * Convert value in object to array\n * @param {object} obj\n * @returns {Array}\n */\nexport const toArray = (obj) => {\n\tconst array = [];\n\tfor (const key in obj) {\n\t\tarray.push(obj[key]);\n\t}\n\treturn array;\n};\n","// import { log } from \"../../helper/log\";\n// import { startCase, toLower } from \"lodash\";\nimport { isNull } from \"../object\";\n\nexport const textLowCase = \"abcdefghijklmnopqrstuvwxyz\";\nexport const numeric = \"0123456789\";\nexport const punctuation = \"!@#$%^&*()_+~|}{[];?><,./-=\";\nexport const allCharacter = `đĐaáàảãạăắằẳẵặâấầẩẫậeéèẻẽẹêếềểễệoóòỏõọôốồổỗộơớờởỡợiíìỉĩịuúùủũụưứừửữựyýỳỷỹỵAÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬEÉÈẺẼẸÊẾỀỂỄỆOÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢIÍÌỈĨỊUÚÙỦŨỤƯỨỪỬỮỰYÝỲ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\\`abcdefghijklmnopqrstuvwxyz{|}`;\n\n//prettier-ignore\nconst char_map={À:\"A\",Á:\"A\",Â:\"A\",Ã:\"A\",Ä:\"A\",Å:\"A\",Æ:\"AE\",Ç:\"C\",È:\"E\",É:\"E\",Ê:\"E\",Ë:\"E\",Ì:\"I\",Í:\"I\",Î:\"I\",Ï:\"I\",Ð:\"D\",Ñ:\"N\",Ò:\"O\",Ó:\"O\",Ô:\"O\",Õ:\"O\",Ö:\"O\",Ő:\"O\",Ø:\"O\",Ù:\"U\",Ú:\"U\",Û:\"U\",Ü:\"U\",Ű:\"U\",Ý:\"Y\",Þ:\"TH\",ß:\"ss\",à:\"a\",á:\"a\",â:\"a\",ã:\"a\",ä:\"a\",å:\"a\",æ:\"ae\",ç:\"c\",è:\"e\",é:\"e\",ê:\"e\",ë:\"e\",ì:\"i\",í:\"i\",î:\"i\",ï:\"i\",ð:\"d\",ñ:\"n\",ò:\"o\",ó:\"o\",ô:\"o\",õ:\"o\",ö:\"o\",ő:\"o\",ø:\"o\",ù:\"u\",ú:\"u\",û:\"u\",ü:\"u\",ű:\"u\",ý:\"y\",þ:\"th\",ÿ:\"y\",\"©\":\"(c)\",Α:\"A\",Β:\"B\",Γ:\"G\",Δ:\"D\",Ε:\"E\",Ζ:\"Z\",Η:\"H\",Θ:\"8\",Ι:\"I\",Κ:\"K\",Λ:\"L\",Μ:\"M\",Ν:\"N\",Ξ:\"3\",Ο:\"O\",Π:\"P\",Ρ:\"R\",Σ:\"S\",Τ:\"T\",Υ:\"Y\",Φ:\"F\",Χ:\"X\",Ψ:\"PS\",Ω:\"W\",Ά:\"A\",Έ:\"E\",Ί:\"I\",Ό:\"O\",Ύ:\"Y\",Ή:\"H\",Ώ:\"W\",Ϊ:\"I\",Ϋ:\"Y\",α:\"a\",β:\"b\",γ:\"g\",δ:\"d\",ε:\"e\",ζ:\"z\",η:\"h\",θ:\"8\",ι:\"i\",κ:\"k\",λ:\"l\",μ:\"m\",ν:\"n\",ξ:\"3\",ο:\"o\",π:\"p\",ρ:\"r\",σ:\"s\",τ:\"t\",υ:\"y\",φ:\"f\",χ:\"x\",ψ:\"ps\",ω:\"w\",ά:\"a\",έ:\"e\",ί:\"i\",ό:\"o\",ύ:\"y\",ή:\"h\",ώ:\"w\",ς:\"s\",ϊ:\"i\",ΰ:\"y\",ϋ:\"y\",ΐ:\"i\",Ş:\"S\",İ:\"I\",Ç:\"C\",Ü:\"U\",Ö:\"O\",Ğ:\"G\",ş:\"s\",ı:\"i\",ç:\"c\",ü:\"u\",ö:\"o\",ğ:\"g\",А:\"A\",Б:\"B\",В:\"V\",Г:\"G\",Д:\"D\",Е:\"E\",Ё:\"Yo\",Ж:\"Zh\",З:\"Z\",И:\"I\",Й:\"J\",К:\"K\",Л:\"L\",М:\"M\",Н:\"N\",О:\"O\",П:\"P\",Р:\"R\",С:\"S\",Т:\"T\",У:\"U\",Ф:\"F\",Х:\"H\",Ц:\"C\",Ч:\"Ch\",Ш:\"Sh\",Щ:\"Sh\",Ъ:\"\",Ы:\"Y\",Ь:\"\",Э:\"E\",Ю:\"Yu\",Я:\"Ya\",а:\"a\",б:\"b\",в:\"v\",г:\"g\",д:\"d\",е:\"e\",ё:\"yo\",ж:\"zh\",з:\"z\",и:\"i\",й:\"j\",к:\"k\",л:\"l\",м:\"m\",н:\"n\",о:\"o\",п:\"p\",р:\"r\",с:\"s\",т:\"t\",у:\"u\",ф:\"f\",х:\"h\",ц:\"c\",ч:\"ch\",ш:\"sh\",щ:\"sh\",ъ:\"\",ы:\"y\",ь:\"\",э:\"e\",ю:\"yu\",я:\"ya\",Є:\"Ye\",І:\"I\",Ї:\"Yi\",Ґ:\"G\",є:\"ye\",і:\"i\",ї:\"yi\",ґ:\"g\",Č:\"C\",Ď:\"D\",Ě:\"E\",Ň:\"N\",Ř:\"R\",Š:\"S\",Ť:\"T\",Ů:\"U\",Ž:\"Z\",č:\"c\",ď:\"d\",ě:\"e\",ň:\"n\",ř:\"r\",š:\"s\",ť:\"t\",ů:\"u\",ž:\"z\",Ą:\"A\",Ć:\"C\",Ę:\"e\",Ł:\"L\",Ń:\"N\",Ó:\"o\",Ś:\"S\",Ź:\"Z\",Ż:\"Z\",ą:\"a\",ć:\"c\",ę:\"e\",ł:\"l\",ń:\"n\",ó:\"o\",ś:\"s\",ź:\"z\",ż:\"z\",Ā:\"A\",Č:\"C\",Ē:\"E\",Ģ:\"G\",Ī:\"i\",Ķ:\"k\",Ļ:\"L\",Ņ:\"N\",Š:\"S\",Ū:\"u\",Ž:\"Z\",ā:\"a\",č:\"c\",ē:\"e\",ģ:\"g\",ī:\"i\",ķ:\"k\",ļ:\"l\",ņ:\"n\",š:\"s\",ū:\"u\",ž:\"z\",};\n\n//prettier-ignore\nconst _lut = [ '00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0a', '0b', '0c', '0d', '0e', '0f', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2a', '2b', '2c', '2d', '2e', '2f', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3a', '3b', '3c', '3d', '3e', '3f', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4a', '4b', '4c', '4d', '4e', '4f', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5a', '5b', '5c', '5d', '5e', '5f', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6a', '6b', '6c', '6d', '6e', '6f', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7a', '7b', '7c', '7d', '7e', '7f', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '8a', '8b', '8c', '8d', '8e', '8f', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '9a', '9b', '9c', '9d', '9e', '9f', 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf', 'c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf', 'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df', 'e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef', 'f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff' ];\n\n/**\n * allCharacter = `đĐaáàảãạăắằẳẵặâấầẩẫậeéèẻẽẹêếềểễệoóòỏõọôốồổỗộơớờởỡợiíìỉĩịuúùủũụưứừửữựyýỳỷỹỵAÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬEÉÈẺẼẸÊẾỀỂỄỆOÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢIÍÌỈĨỊUÚÙỦŨỤƯỨỪỬỮỰYÝỲ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\\`abcdefghijklmnopqrstuvwxyz{|}`;\n * @param {number} length\n * @returns {string}\n */\nexport const randAllCharacterByLength = (length = 0) => {\n\treturn randomStringByLength(length, allCharacter);\n};\n\n/**\n * @param {number} length\n * @param {textLowCase | numeric | punctuation | allCharacter} str\n * @returns {string}\n */\nexport const randomStringByLength = (length, str = textLowCase) => {\n\tlet result = \"\";\n\n\tfor (let i = 0; i < length; i++) {\n\t\tresult += str.charAt(Math.floor(Math.random() * str.length));\n\t}\n\treturn result;\n};\n\n/**\n * Get string between str1 and str2 from text\n * @param {string} text\n * @param {string} str1\n * @param {string} str2\n * @return {string}\n */\nexport const getBetween = (text, str1, str2 = \"\") => {\n\tif (!text) return \"\";\n\tif (text.indexOf(str1) <= -1) return \"\";\n\n\tconst firstIndex = text.indexOf(str1) + str1.length;\n\tconst secondIndex = str2 ? text.indexOf(str2, firstIndex) : text.length;\n\treturn text.substring(firstIndex, secondIndex);\n};\n\n/**\n * Convert object to string\n * @param {*} object\n * @return {string}\n */\nexport const makeString = (object = \"\") => {\n\t/// Ensure some object is a coerced to a string\n\tif (isNull(object)) return \"\";\n\n\treturn \"\" + object;\n};\n\n/**\n * toUpperCase\n * @param {*} str\n * @return {string}\n */\nexport const toUpperCase = (str = \"\") => {\n\treturn makeString(str).toUpperCase();\n};\n\n/**\n * toLowerCase\n * @param {*} str\n * @return {string}\n */\nexport const toLowerCase = (str = \"\") => {\n\treturn makeString(str).toLowerCase();\n};\n\n/**\n * toLowerCase\n * @param {*} str\n * @return {string}\n */\nexport const titleize = (str = \"\") => {\n\tconst regString = new RegExp(/(?:^|\\s|-)\\S/g);\n\treturn toLowerCase(str).replace(regString, function (c) {\n\t\treturn c.toUpperCase();\n\t});\n};\n\n/**\n * Convert only first charater to UpperCase\n * @param {*} str\n * @return {string}\n */\nexport const capitalize = (str, lowercaseRest = 1) => {\n\tstr = makeString(str);\n\tconst remainingChars = !lowercaseRest ? str.slice(1) : str.slice(1).toLowerCase();\n\n\treturn str.charAt(0).toUpperCase() + remainingChars;\n};\n\n/**\n * Convert first character from every single words to UpperCase\n * @param {*} str\n * @return {string}\n */\nexport const capitalizeName = (str) => {\n\tstr = makeString(str);\n\n\tstr = str.trim();\n\tstr = str.replace(/^\\s+|\\s+$/gm, \"\");\n\n\tstr = str.toLowerCase();\n\n\tconst arr = str.split(\" \");\n\n\tstr = arr\n\t\t.map((item) => {\n\t\t\treturn capitalize(item);\n\t\t})\n\t\t.filter((x) => x)\n\t\t.join(\" \");\n\n\treturn str;\n};\n\n/**\n *\n * @param {string} s - Input string\n * @param {{delimiter,limit,lowercase,replacements,transliterate}} opt - Option\n * @return {string}\n */\nexport const clearUnicodeCharacters = (s, opt = {}) => {\n\ts = makeString(s);\n\n\tvar defaults = {\n\t\tdelimiter: \" \",\n\t\tlimit: undefined,\n\t\tlowercase: true,\n\t\treplacements: {},\n\t\ttransliterate: typeof XRegExp === \"undefined\" ? true : false,\n\t};\n\n\t// Merge options\n\tfor (var k in defaults) {\n\t\tif (!opt.hasOwnProperty(k)) {\n\t\t\topt[k] = defaults[k];\n\t\t}\n\t}\n\n\t// Vietnamese\n\ts = s.replace(/á|à|ả|ạ|ã|ă|ắ|ằ|ẳ|ẵ|ặ|â|ấ|ầ|ẩ|ẫ|ậ/gi, \"a\");\n\ts = s.replace(/é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ/gi, \"e\");\n\ts = s.replace(/i|í|ì|ỉ|ĩ|ị/gi, \"i\");\n\ts = s.replace(/ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ/gi, \"o\");\n\ts = s.replace(/ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự/gi, \"u\");\n\ts = s.replace(/ý|ỳ|ỷ|ỹ|ỵ/gi, \"y\");\n\ts = s.replace(/đ/gi, \"d\");\n\ts = \"@\" + s + \"@\";\n\ts = s.replace(/\\@\\-|\\-\\@|\\@/gi, \"\");\n\n\t// Make custom replacements\n\tfor (var k in opt.replacements) {\n\t\ts = s.replace(RegExp(k, \"g\"), opt.replacements[k]);\n\t}\n\n\t// Transliterate characters to ASCII\n\tif (opt.transliterate) {\n\t\tfor (var k in char_map) {\n\t\t\ts = s.replace(RegExp(k, \"g\"), char_map[k]);\n\t\t}\n\t}\n\n\t// Replace non-alphanumeric characters with our delimiter\n\tvar alnum = typeof XRegExp === \"undefined\" ? RegExp(\"[^a-z0-9]+\", \"ig\") : XRegExp(\"[^\\\\p{L}\\\\p{N}]+\", \"ig\");\n\ts = s.replace(alnum, opt.delimiter);\n\n\t// Remove duplicate delimiters\n\ts = s.replace(RegExp(\"[\" + opt.delimiter + \"]{2,}\", \"g\"), opt.delimiter);\n\n\t// Truncate slug to max. characters\n\ts = s.substring(0, opt.limit);\n\n\t// Remove delimiter from ends\n\ts = s.replace(RegExp(\"(^\" + opt.delimiter + \"|\" + opt.delimiter + \"$)\", \"g\"), \"\");\n\n\treturn opt.lowercase ? s.toLowerCase() : s;\n};\n\nexport function generateUUID() {\n\t// http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136\n\n\tconst d0 = (Math.random() * 0xffffffff) | 0;\n\tconst d1 = (Math.random() * 0xffffffff) | 0;\n\tconst d2 = (Math.random() * 0xffffffff) | 0;\n\tconst d3 = (Math.random() * 0xffffffff) | 0;\n\tconst uuid =\n\t\t_lut[d0 & 0xff] +\n\t\t_lut[(d0 >> 8) & 0xff] +\n\t\t_lut[(d0 >> 16) & 0xff] +\n\t\t_lut[(d0 >> 24) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[d1 & 0xff] +\n\t\t_lut[(d1 >> 8) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[((d1 >> 16) & 0x0f) | 0x40] +\n\t\t_lut[(d1 >> 24) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[(d2 & 0x3f) | 0x80] +\n\t\t_lut[(d2 >> 8) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[(d2 >> 16) & 0xff] +\n\t\t_lut[(d2 >> 24) & 0xff] +\n\t\t_lut[d3 & 0xff] +\n\t\t_lut[(d3 >> 8) & 0xff] +\n\t\t_lut[(d3 >> 16) & 0xff] +\n\t\t_lut[(d3 >> 24) & 0xff];\n\n\t// .toLowerCase() here flattens concatenated strings to save heap memory space.\n\treturn uuid.toLowerCase();\n}\n","import { isNull } from \"../object\";\n\nvar urlRegex = /(https?:\\/\\/[^\\s]+)/g;\n\nexport const getUrlParams = (parameter, staticURL, decode) => {\n\tif (typeof window == \"undefined\") return \"\";\n\n\tstaticURL = staticURL == undefined ? window.location : staticURL;\n\tvar currLocation = staticURL.length ? staticURL : window.location.search;\n\n\tif (currLocation.split(\"?\").length < 2) return \"\";\n\n\tvar parArr = currLocation.split(\"?\")[1].split(\"&\"),\n\t\treturnBool = true;\n\n\tfor (var i = 0; i < parArr.length; i++) {\n\t\tvar parr = parArr[i].split(\"=\");\n\t\tif (parr[0] == parameter) {\n\t\t\treturn decode ? decodeURIComponent(parr[1]) : parr[1];\n\t\t\treturnBool = true;\n\t\t} else {\n\t\t\treturnBool = false;\n\t\t}\n\t}\n\n\tif (!returnBool) return false;\n};\n\n/**\n *\n * @return {boolean}\n */\nexport const isLink = (str) => {\n\treturn urlRegex.test(str);\n};\n\n// /**\n// *\n// * @return {JSX.Element}\n// */\n// export const strToJsxLink = (str, altText) => {\n// \treturn isLink(str) ? <a href={src}>{altText || src}</a> : str;\n// };\n\n/**\n *\n * @param {string} url\n * @return {string}\n */\nexport const getFileNameWithoutExtension = (url) => {\n\turl = decodeURIComponent(url);\n\tif (url) {\n\t\tconst m = url.toString().match(/.*\\/(.+?)\\./);\n\t\tif (m && m.length > 1) {\n\t\t\treturn m[1];\n\t\t}\n\n\t\tif (!isNull(url)) {\n\t\t\treturn url.split(\".\").shift();\n\t\t}\n\t}\n\treturn \"\";\n};\n\n/**\n *\n * @param {string} url\n * @return {string}\n */\nexport const getFileNameWithExtension = (url) => {\n\turl = decodeURIComponent(url);\n\tif (url) {\n\t\tconst m = url.toString().match(/.*\\/(.*)$/);\n\n\t\tif (m && m.length > 1) {\n\t\t\treturn m[1].split(\"/\").pop().split(\"?\")[0];\n\t\t}\n\n\t\tif (!isNull(url)) {\n\t\t\treturn url;\n\t\t}\n\t}\n\treturn \"\";\n};\n\n/**\n *\n * @param {string} url\n * @return {string}\n */\nexport const getFileExtension = (url) => {\n\treturn getFileNameWithExtension(url).split(\".\").pop();\n};\n"],"names":[],"version":3,"file":"main.js.map"}
|
|
1
|
+
{"mappings":"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CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,MAAG,EAAC,KAAK;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;CAAE,AAAC;AAE3rD,iBAAiB;AACjB,MAAM,0BAAI,GAAG;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI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","sources":["packages/diginext-utils/index.js","packages/diginext-utils/src/Timer.js","packages/diginext-utils/src/permission/requestCamera.js","packages/diginext-utils/src/permission/requestDeviceOrientationControl.js","packages/diginext-utils/src/device/index.js","packages/diginext-utils/src/array/index.js","packages/diginext-utils/src/math/index.js","packages/diginext-utils/src/device/browser.js","packages/diginext-utils/src/device/camera.js","packages/diginext-utils/src/object/index.js","packages/diginext-utils/src/string/index.js","packages/diginext-utils/src/string/url.js"],"sourcesContent":["export * from \"./src/array\";\nexport * from \"./src/device\";\nexport * from \"./src/device/browser\";\nexport * from \"./src/device/camera\";\nexport * from \"./src/math\";\nexport * from \"./src/object\";\nexport * from \"./src/string\";\nexport * from \"./src/string/url\";\nimport Timer from \"./src/Timer\";\nimport requestCamera from \"./src/permission/requestCamera\";\nimport requestDeviceOrientationControl from \"./src/permission/requestDeviceOrientationControl\";\n\nexport { requestCamera, requestDeviceOrientationControl, Timer };\n","const Timer = {\n\twait: async (ms) => {\n\t\treturn new Promise((resolve) => setTimeout(resolve, ms));\n\t},\n};\n\nexport default Timer;\n","const requestCamera = ({ audio = true, video = true }) => {\n\tif (typeof window == \"undefined\") return false;\n\n\treturn new Promise((resolve, reject) => {\n\t\t// Older browsers might not implement mediaDevices at all, so we set an empty object first\n\t\tif (navigator.mediaDevices === undefined) {\n\t\t\tnavigator.mediaDevices = {};\n\t\t}\n\n\t\t// Some browsers partially implement mediaDevices. We can't just assign an object\n\t\t// with getUserMedia as it would overwrite existing properties.\n\t\t// Here, we will just add the getUserMedia property if it's missing.\n\t\tif (navigator.mediaDevices.getUserMedia === undefined) {\n\t\t\tnavigator.mediaDevices.getUserMedia = function (constraints) {\n\t\t\t\t// First get ahold of the legacy getUserMedia, if present\n\t\t\t\tvar getUserMedia = navigator.webkitGetUserMedia || navigator.mozGetUserMedia;\n\n\t\t\t\t// Some browsers just don't implement it - return a rejected promise with an error\n\t\t\t\t// to keep a consistent interface\n\t\t\t\tif (!getUserMedia) {\n\t\t\t\t\treturn Promise.reject(new Error(\"getUserMedia is not implemented in this browser\"));\n\t\t\t\t}\n\n\t\t\t\t// Otherwise, wrap the call to the old navigator.getUserMedia with a Promise\n\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\tgetUserMedia.call(navigator, constraints, resolve, reject);\n\t\t\t\t});\n\t\t\t};\n\t\t}\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia({ audio, video })\n\t\t\t.then(function (stream) {\n\t\t\t\tresolve(true);\n\t\t\t})\n\t\t\t.catch(function (err) {\n\t\t\t\tconsole.log(err.name + \": \" + err.message);\n\t\t\t\tresolve(false);\n\t\t\t});\n\t});\n};\n\nexport default requestCamera;\n","import { isAndroid } from \"../device\";\n\nconst requestDeviceOrientationControl = () => {\n\tif (typeof window == \"undefined\") return false;\n\treturn new Promise((resolve, reject) => {\n\t\tif (isAndroid()) resolve(true);\n\n\t\tif (typeof DeviceMotionEvent != \"undefined\" && DeviceMotionEvent.requestPermission) {\n\t\t\t// (optional) Do something before API request prompt.\n\t\t\tDeviceOrientationEvent.requestPermission()\n\t\t\t\t.then((response) => {\n\t\t\t\t\t// (optional) Do something after API prompt dismissed.\n\t\t\t\t\tif (response == \"granted\") {\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t// resolve({ status: true })\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(false);\n\t\t\t\t\t\t// resolve({ status: false, reason: \"DeviceMotionEvent is not support\" })\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((response) => {\n\t\t\t\t\tresolve(false);\n\t\t\t\t\t// resolve({ status: false, reason: response })\n\t\t\t\t});\n\t\t} else {\n\t\t\tresolve(false);\n\t\t\t// resolve({ status: false, reason: \"DeviceMotionEvent is not defined\" })\n\t\t}\n\t});\n};\n\nexport default requestDeviceOrientationControl;\n","export const isIos = () => {\n\tconst deviceInfo = checkOS();\n\tif (deviceInfo) return deviceInfo.os.toLowerCase() == \"ios\";\n\tconsole.log(\"Can't check OS\");\n\treturn null;\n};\n\nexport const isAndroid = () => {\n\tconst deviceInfo = checkOS();\n\tif (deviceInfo) return deviceInfo.os.toLowerCase() == \"android\";\n\tconsole.log(\"Can't check OS\");\n\treturn null;\n};\n\nexport const isMobile = () => {\n\tif (typeof navigator == \"undefined\") return null;\n\n\tif (\n\t\tnavigator.userAgent.match(/Android/i) ||\n\t\tnavigator.userAgent.match(/webOS/i) ||\n\t\tnavigator.userAgent.match(/iPhone/i) ||\n\t\tnavigator.userAgent.match(/iPad/i) ||\n\t\tnavigator.userAgent.match(/iPod/i) ||\n\t\tnavigator.userAgent.match(/BlackBerry/i) ||\n\t\tnavigator.userAgent.match(/Windows Phone/i)\n\t) {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/**\n *\n * @returns {{\n * screen,\n * browser,\n * browserVersion,\n * browserMajorVersion,\n * mobile,\n * os,\n * osVersion,\n * cookies,\n * flashVersion,\n * }}\n */\nexport const checkOS = () => {\n\tif (typeof window == \"undefined\") return {};\n\n\tif (typeof window?.deviceInfo == \"undefined\") {\n\t\tvar unknown = \"-\";\n\n\t\t// screen\n\t\tvar screenSize = \"\";\n\t\tif (screen.width) {\n\t\t\tvar width = screen.width ? screen.width : \"\";\n\t\t\tvar height = screen.height ? screen.height : \"\";\n\t\t\tscreenSize += \"\" + width + \" x \" + height;\n\t\t}\n\n\t\t// browser\n\t\tvar nVer = navigator.appVersion;\n\t\tvar nAgt = navigator.userAgent;\n\t\tvar browser = navigator.appName;\n\t\tvar version = \"\" + parseFloat(navigator.appVersion);\n\t\tvar majorVersion = parseInt(navigator.appVersion, 10);\n\t\tvar nameOffset, verOffset, ix;\n\n\t\t// Opera\n\t\tif ((verOffset = nAgt.indexOf(\"Opera\")) != -1) {\n\t\t\tbrowser = \"Opera\";\n\t\t\tversion = nAgt.substring(verOffset + 6);\n\t\t\tif ((verOffset = nAgt.indexOf(\"Version\")) != -1) {\n\t\t\t\tversion = nAgt.substring(verOffset + 8);\n\t\t\t}\n\t\t}\n\t\t// Opera Next\n\t\tif ((verOffset = nAgt.indexOf(\"OPR\")) != -1) {\n\t\t\tbrowser = \"Opera\";\n\t\t\tversion = nAgt.substring(verOffset + 4);\n\t\t}\n\t\t// Edge\n\t\telse if ((verOffset = nAgt.indexOf(\"Edge\")) != -1) {\n\t\t\tbrowser = \"Microsoft Edge\";\n\t\t\tversion = nAgt.substring(verOffset + 5);\n\t\t}\n\t\t// MSIE\n\t\telse if ((verOffset = nAgt.indexOf(\"MSIE\")) != -1) {\n\t\t\tbrowser = \"Microsoft Internet Explorer\";\n\t\t\tversion = nAgt.substring(verOffset + 5);\n\t\t}\n\t\t// Chrome\n\t\telse if ((verOffset = nAgt.indexOf(\"Chrome\")) != -1) {\n\t\t\tbrowser = \"Chrome\";\n\t\t\tversion = nAgt.substring(verOffset + 7);\n\t\t}\n\t\t// Safari\n\t\telse if ((verOffset = nAgt.indexOf(\"Safari\")) != -1) {\n\t\t\tbrowser = \"Safari\";\n\t\t\tversion = nAgt.substring(verOffset + 7);\n\t\t\tif ((verOffset = nAgt.indexOf(\"Version\")) != -1) {\n\t\t\t\tversion = nAgt.substring(verOffset + 8);\n\t\t\t}\n\t\t}\n\t\t// Firefox\n\t\telse if ((verOffset = nAgt.indexOf(\"Firefox\")) != -1) {\n\t\t\tbrowser = \"Firefox\";\n\t\t\tversion = nAgt.substring(verOffset + 8);\n\t\t}\n\t\t// MSIE 11+\n\t\telse if (nAgt.indexOf(\"Trident/\") != -1) {\n\t\t\tbrowser = \"Microsoft Internet Explorer\";\n\t\t\tversion = nAgt.substring(nAgt.indexOf(\"rv:\") + 3);\n\t\t}\n\t\t// Other browsers\n\t\telse if ((nameOffset = nAgt.lastIndexOf(\" \") + 1) < (verOffset = nAgt.lastIndexOf(\"/\"))) {\n\t\t\tbrowser = nAgt.substring(nameOffset, verOffset);\n\t\t\tversion = nAgt.substring(verOffset + 1);\n\t\t\tif (browser.toLowerCase() == browser.toUpperCase()) {\n\t\t\t\tbrowser = navigator.appName;\n\t\t\t}\n\t\t}\n\t\t// trim the version string\n\t\tif ((ix = version.indexOf(\";\")) != -1) version = version.substring(0, ix);\n\t\tif ((ix = version.indexOf(\" \")) != -1) version = version.substring(0, ix);\n\t\tif ((ix = version.indexOf(\")\")) != -1) version = version.substring(0, ix);\n\n\t\tmajorVersion = parseInt(\"\" + version, 10);\n\t\tif (isNaN(majorVersion)) {\n\t\t\tversion = \"\" + parseFloat(navigator.appVersion);\n\t\t\tmajorVersion = parseInt(navigator.appVersion, 10);\n\t\t}\n\n\t\t// mobile version\n\t\tvar mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer);\n\n\t\t// cookie\n\t\tvar cookieEnabled = navigator.cookieEnabled ? true : false;\n\n\t\tif (typeof navigator.cookieEnabled == \"undefined\" && !cookieEnabled) {\n\t\t\tdocument.cookie = \"testcookie\";\n\t\t\tcookieEnabled = document.cookie.indexOf(\"testcookie\") != -1 ? true : false;\n\t\t}\n\n\t\t// system\n\t\tvar os = unknown;\n\t\tvar clientStrings = [\n\t\t\t{ s: \"Windows 10\", r: /(Windows 10.0|Windows NT 10.0)/ },\n\t\t\t{ s: \"Windows 8.1\", r: /(Windows 8.1|Windows NT 6.3)/ },\n\t\t\t{ s: \"Windows 8\", r: /(Windows 8|Windows NT 6.2)/ },\n\t\t\t{ s: \"Windows 7\", r: /(Windows 7|Windows NT 6.1)/ },\n\t\t\t{ s: \"Windows Vista\", r: /Windows NT 6.0/ },\n\t\t\t{ s: \"Windows Server 2003\", r: /Windows NT 5.2/ },\n\t\t\t{ s: \"Windows XP\", r: /(Windows NT 5.1|Windows XP)/ },\n\t\t\t{ s: \"Windows 2000\", r: /(Windows NT 5.0|Windows 2000)/ },\n\t\t\t{ s: \"Windows ME\", r: /(Win 9x 4.90|Windows ME)/ },\n\t\t\t{ s: \"Windows 98\", r: /(Windows 98|Win98)/ },\n\t\t\t{ s: \"Windows 95\", r: /(Windows 95|Win95|Windows_95)/ },\n\t\t\t{ s: \"Windows NT 4.0\", r: /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/ },\n\t\t\t{ s: \"Windows CE\", r: /Windows CE/ },\n\t\t\t{ s: \"Windows 3.11\", r: /Win16/ },\n\t\t\t{ s: \"Android\", r: /Android/ },\n\t\t\t{ s: \"Open BSD\", r: /OpenBSD/ },\n\t\t\t{ s: \"Sun OS\", r: /SunOS/ },\n\t\t\t{ s: \"Linux\", r: /(Linux|X11)/ },\n\t\t\t{ s: \"iOS\", r: /(iPhone|iPad|iPod)/ },\n\t\t\t{ s: \"Mac OS X\", r: /Mac OS X/ },\n\t\t\t{ s: \"Mac OS\", r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/ },\n\t\t\t{ s: \"QNX\", r: /QNX/ },\n\t\t\t{ s: \"UNIX\", r: /UNIX/ },\n\t\t\t{ s: \"BeOS\", r: /BeOS/ },\n\t\t\t{ s: \"OS/2\", r: /OS\\/2/ },\n\t\t\t{ s: \"Search Bot\", r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\\/Teoma|ia_archiver)/ },\n\t\t];\n\t\tfor (var id in clientStrings) {\n\t\t\tvar cs = clientStrings[id];\n\t\t\tif (cs.r.test(nAgt)) {\n\t\t\t\tos = cs.s;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tvar osVersion = unknown;\n\n\t\tif (/Windows/.test(os)) {\n\t\t\tosVersion = /Windows (.*)/.exec(os)[1];\n\t\t\tos = \"Windows\";\n\t\t}\n\n\t\tswitch (os) {\n\t\t\tcase \"Mac OS X\":\n\t\t\t\tosVersion = /Mac OS X (10[\\.\\_\\d]+)/.exec(nAgt)[1];\n\t\t\t\tbreak;\n\n\t\t\tcase \"Android\":\n\t\t\t\tosVersion = /Android ([\\.\\_\\d]+)/.exec(nAgt)[1];\n\t\t\t\tbreak;\n\n\t\t\tcase \"iOS\":\n\t\t\t\tosVersion = /OS (\\d+)_(\\d+)_?(\\d+)?/.exec(nVer);\n\t\t\t\tosVersion = osVersion[1] + \".\" + osVersion[2] + \".\" + (osVersion[3] | 0);\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// flash (you'll need to include swfobject)\n\t\t/* script src=\"//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js\" */\n\t\tvar flashVersion = \"no check\";\n\t\tif (typeof swfobject != \"undefined\") {\n\t\t\tvar fv = swfobject.getFlashPlayerVersion();\n\t\t\tif (fv.major > 0) {\n\t\t\t\tflashVersion = fv.major + \".\" + fv.minor + \" r\" + fv.release;\n\t\t\t} else {\n\t\t\t\tflashVersion = unknown;\n\t\t\t}\n\t\t}\n\n\t\tconst deviceInfo = {\n\t\t\tscreen: screenSize,\n\t\t\tbrowser: browser,\n\t\t\tbrowserVersion: version,\n\t\t\tbrowserMajorVersion: majorVersion,\n\t\t\tmobile: mobile,\n\t\t\tos: os,\n\t\t\tosVersion: osVersion,\n\t\t\tcookies: cookieEnabled,\n\t\t\tflashVersion: flashVersion,\n\t\t};\n\n\t\twindow.deviceInfo = deviceInfo;\n\t}\n\n\treturn window.deviceInfo;\n};\n","import { randInt } from \"../math\";\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n*/\nexport const sumArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n if (key) return array.reduce((c, v) => c + v[key], 0);\n else return array.reduce((c, v) => c + v, 0);\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n */\nexport const averageArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n return this.sum(array, key) / array.length || 0;\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n */\nexport const minArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n if (array.length > 0) {\n if (key) return array.reduce((c, v) => (c < v[key] ? c : v[key]));\n else return array.reduce((c, v) => (c < v ? c : v));\n }\n return 0;\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n */\nexport const maxArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n if (array.length > 0) {\n if (key) return array.reduce((c, v) => (c > v[key] ? c : v[key]));\n else return array.reduce((c, v) => (c > v ? c : v));\n }\n return 0;\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Array}\n */\nexport const sortElementByString = (array, key) => {\n if (!Array.isArray(array)) return [];\n if (key)\n return array.sort((x, y) => {\n var a = x[key].toUpperCase(),\n b = y[key].toUpperCase();\n return a == b ? 0 : a > b ? 1 : -1;\n });\n console.log(\"NO KEY\");\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Array}\n */\nexport const sortElementByNumber = (array, key) => {\n if (!Array.isArray(array)) return [];\n if (key)\n return array.sort((a, b) => {\n return a[key] - b[key];\n });\n console.log(\"NO KEY\");\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const firstElement = (array) => {\n if (array) if (array.length || array.length > 0) return array[0];\n return null;\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const lastElement = (array) => {\n if (array) if (array.length || array.length > 0) return array[array.length - 1];\n return null;\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const randomIndex = (array) => {\n if (array) return randInt(0, array.length - 1);\n return -1;\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const randomElement = (array) => {\n if (array) return array[randomIndex(array)];\n return null;\n};\n\n/**\n * Remove same elements from 2 arrays\n * @param {Array} list1\n * @param {Array} list2\n * @param {string} key\n * @returns {Array}\n */\nexport const mergeAndMakeUniqueElement = (list1, list2, key) => {\n if (!list1 || !list2) return;\n\n if (key) {\n return list1\n .concat(list2)\n .filter((item, index, self) => {\n return self.findIndex(x => x[key] == item[key]) === index\n })\n }\n else {\n return list1.concat(list2)\n .filter((x, index, self) => {\n return self.indexOf(x) === index\n })\n }\n\n};\n\n/**\n * check target == toMatch\n * @param {Array} target\n * @param {Array} toMatch\n * @returns {Boolean}\n */\nexport const allMatchInArray = (target, toMatch) => {\n if (!target || !toMatch) return false;\n const found = toMatch.every((item) => {\n return target.includes(item);\n });\n return found;\n};\n\n\n\n/**\n *\n * @param {any} item\n * @param {Array} array\n * @returns {Array}\n */\nexport const removeItem = (item, array) => {\n const index = array.indexOf(item);\n if (index == -1) {\n console.warn(\"[ArrayExtra.removeItem] Item not found.\");\n return array;\n }\n array.splice(index, 1);\n return array;\n};\n\n/**\n *\n * @param {string} key\n * @param {any} value\n * @param {Array} array\n * @returns {Array}\n */\nexport const removeItemByKey = (key, value, array) => {\n const foundIndex = array.findIndex((item) => {\n return item[key] == value;\n });\n\n\tif (foundIndex < 0) {\n\t\tconsole.warn(\"[ArrayExtra.removeItemByKey] Item not found.\", key, value);\n\t\treturn array;\n\t}\n\tarray.splice(foundIndex, 1);\n\treturn array;\n};\n\n/**\n * Get an array with shuffle element\n * @param {Array} array\n * @param {Number} n\n * @returns {Array}\n */\n export const getRandom = (array, n) => {\n\tvar result = new Array(n),\n\t\tlen = array.length,\n\t\ttaken = new Array(len);\n\tif (n > len) throw new RangeError(\"getRandom: more elements taken than available\");\n\twhile (n--) {\n\t\tvar x = Math.floor(Math.random() * len);\n\t\tresult[n] = array[x in taken ? taken[x] : x];\n\t\ttaken[x] = --len in taken ? taken[len] : len;\n\t}\n\treturn result;\n};\n\n/**\n * Get an array with shuffle element\n * @param {Array} array\n * @param {Number} n\n * @returns {Array}\n */\n export const getHalfRandom = (array, n) => {\n\tvar n = Math.ceil(array.length / 2);\n\treturn array.getRandom(n);\n};\n\n/**\n * Make array shuffle itself\n * @param {Array} array\n * @returns {Array}\n */\n export const shuffle = (array) => {\n\tvar i = array.length,\n\t\tj,\n\t\ttemp;\n\tif (i == 0) return array;\n\twhile (--i) {\n\t\tj = Math.floor(Math.random() * (i + 1));\n\t\ttemp = array[i];\n\t\tarray[i] = array[j];\n\t\tarray[j] = temp;\n\t}\n\treturn array;\n};\n\n/**\n *\n * @param {Array} array\n * @param {Number} oldIndex\n * @param {Number} newIndex\n * @returns {Array}\n */\n export const moveIndex = (array, oldIndex, newIndex) => {\n\tif (newIndex >= array.length) {\n\t\tvar k = newIndex - array.length + 1;\n\t\twhile (k--) {\n\t\t\tarray.push(undefined);\n\t\t}\n\t}\n\tarray.splice(newIndex, 0, array.splice(oldIndex, 1)[0]);\n\treturn array; \n};\n\n\nexport const moveArray = (array, oldIndex, newIndex) => {\n\twhile (oldIndex < 0) {\n\t\toldIndex += array.length;\n\t}\n\twhile (newIndex < 0) {\n\t\tnewIndex += array.length;\n\t}\n\tif (newIndex >= array.length) {\n\t\tvar k = newIndex - array.length;\n\t\twhile (k-- + 1) {\n\t\t\tarray.push(999);\n\t\t}\n\t}\n\tarray.splice(newIndex, 0, array.splice(oldIndex, 1)[0]);\n\treturn array;\n};\n","const DEG2RAD = Math.PI / 180;\nconst RAD2DEG = 180 / Math.PI;\n\n/**\n *\n * @param {Number} number\n * @return {Number}\n */\nexport const randRound = (number) => {\n\treturn Math.round(Math.random() * number);\n};\n\n/**\n *\n * @param {Number} number\n * @return {Number}\n */\nexport const rand = (number) => {\n\treturn (Math.random() - Math.random()) * number;\n};\n\n/**\n *\n * @param {Number} number\n * @return {Number}\n */\nexport const randHalt = (number) => {\n\tvar rand = Math.random() - Math.random();\n\tvar res;\n\tif (rand > 0) {\n\t\tres = rand * (number / 2) + number / 2;\n\t} else {\n\t\tres = rand * (number / 2) - number / 2;\n\t}\n\treturn Math.abs(res);\n};\n/**\n *\n * @param {Number} low\n * @param {Number} high\n * @return {Number}\n */\nexport const randInt = (low, high) => {\n\treturn low + Math.floor(Math.random() * (high - low + 1));\n};\n\n/**\n *\n * @param {Number} low\n * @param {Number} high\n * @return {Number}\n */\nexport const randFloat = (low, high) => {\n\treturn low + Math.random() * (high - low);\n};\n/**\n *\n * @param {Number} degrees\n * @return {Number}\n */\nexport const degToRad = (degrees) => {\n\treturn degrees * DEG2RAD;\n};\n\n/**\n *\n * @param {Number} degrees\n * @return {Number}\n */\nexport const radToDeg = (radians) => {\n\treturn radians * RAD2DEG;\n};\n\n// const MathExtra = {\n// isRotateLeft(a, b, c) {\n// return (b.x - a.x) * (c.y - a.y) - (b.y - a.y) * (c.x - a.x) > 0;\n// },\n\n// deg_between_points_360(cx, cy, ex, ey) {\n// var theta = this.angleLine(cx, cy, ex, ey); // range (-180, 180]\n// if (theta < 0) theta = 360 + theta; // range [0, 360)\n// return theta;\n// },\n\n// deg_between_points(cx, cy, ex, ey) {\n// var dy = ey - cy;\n// var dx = ex - cx;\n// var theta = Math.atan2(dy, dx); // range (-PI, PI]\n// theta *= 180 / Math.PI; // rads to degs, range (-180, 180]\n// return theta;\n// },\n\n// angle_between_points(cx, cy, ex, ey) {\n// var dy = ey - cy;\n// var dx = ex - cx;\n// var theta = Math.atan2(dy, dx); // range (-PI, PI]\n// // theta *= 180 / Math.PI; // rads to degs, range (-180, 180]\n// return theta;\n// },\n\n// distance2Point(x1, y1, x2, y2) {\n// var dist = Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n// return dist;\n// },\n\n// clamp(value, min, max) {\n// return Math.max(min, Math.min(max, value));\n// },\n\n// // compute euclidian modulo of m % n\n// // https://en.wikipedia.org/wiki/Modulo_operation\n\n// euclideanModulo(n, m) {\n// return ((n % m) + m) % m;\n// },\n\n// // Linear mapping from range <a1, a2> to range <b1, b2>\n\n// mapLinear(x, a1, a2, b1, b2) {\n// return b1 + ((x - a1) * (b2 - b1)) / (a2 - a1);\n// },\n\n// // https://en.wikipedia.org/wiki/Linear_interpolation\n\n// lerp(x, y, t) {\n// return (1 - t) * x + t * y;\n// },\n\n// // http://en.wikipedia.org/wiki/Smoothstep\n\n// smoothstep(x, min, max) {\n// if (x <= min) return 0;\n// if (x >= max) return 1;\n\n// x = (x - min) / (max - min);\n\n// return x * x * (3 - 2 * x);\n// },\n\n// smootherstep(x, min, max) {\n// if (x <= min) return 0;\n// if (x >= max) return 1;\n\n// x = (x - min) / (max - min);\n\n// return x * x * x * (x * (x * 6 - 15) + 10);\n// },\n\n// // Random integer from <low, high> interval\n\n// // Random float from <-range/2, range/2> interval\n\n// randFloatSpread(range) {\n// return range * (0.5 - Math.random());\n// },\n\n// rotationDegToRad(rotation) {\n// return {\n// x: this.degToRad(rotation.x),\n// y: this.degToRad(rotation.y),\n// z: this.degToRad(rotation.z),\n// };\n// },\n\n// radToDeg(radians) {\n// return radians * RAD2DEG;\n// },\n\n// isPowerOfTwo(value) {\n// return (value & (value - 1)) === 0 && value !== 0;\n// },\n\n// nearestPowerOfTwo(value) {\n// return Math.pow(2, Math.round(Math.log(value) / Math.LN2));\n// },\n\n// nextPowerOfTwo(value) {\n// value--;\n// value |= value >> 1;\n// value |= value >> 2;\n// value |= value >> 4;\n// value |= value >> 8;\n// value |= value >> 16;\n// value++;\n\n// return value;\n// },\n\n// circleByPercentRadius(percent, radius) {\n// const theta = ((percent * 360 - 90) * Math.PI) / 180;\n\n// const x = radius * Math.cos(theta);\n// const y = -radius * Math.sin(theta);\n// return { x, y };\n// },\n\n// /**\n// *\n// * @param {Array} array\n// */\n// arrayToVector(array = [0, 0, 0]) {\n// const keys = ['x', 'y', 'z', 'w'];\n// const result = {};\n// array.map((item, index) => {\n// result[keys[index]] = item;\n// });\n// return result;\n// },\n// };\n\n// export default MathExtra;\n","export const isPotrait = (params) => {\n\tif (typeof window == \"undefined\") return false;\n\n\tif (!window.orientation) return window.matchMedia(\"(orientation: portrait)\").matches;\n\treturn !(window.orientation === 90 || window.orientation === -90);\n};\n\nexport const isLandscape = (params) => {\n\treturn !isPotrait();\n};\n\nexport const ua = (params) => {\n\tif (typeof navigator == \"undefined\") return null;\n\tif (typeof window == \"undefined\") return null;\n\n\treturn navigator.userAgent || navigator.vendor || window.opera;\n};\n\nexport const isFacebookWebview = (params) => {\n\tvar ua = ua();\n\tif (ua) return ua.indexOf(\"FBAN\") > -1 || ua.indexOf(\"FBAV\") > -1;\n};\n\nexport const isInAppWebview = (params) => {\n\tconst rules = [\"WebView\", \"(iPhone|iPod|iPad)(?!.*Safari/)\", \"Android.*(wv|.0.0.0)\"];\n\tconst regex = new RegExp(`(${rules.join(\"|\")})`, \"ig\");\n\tif (ua()) return Boolean(ua().match(regex));\n\treturn false;\n};\n","import requestCamera from \"../permission/requestCamera\";\n\n/**\n *\n * @param {{\n * container,\n * facingMode : environment | user,\n * audio : boolean,\n * }} param0\n * @returns\n */\nexport function getWebcam({\n\t//\n\tcontainer,\n\tfacingMode = \"environment\",\n\taudio = false,\n}) {\n\tif (typeof window == \"undefined\") return;\n\tcontainer = container || document.body;\n\n\treturn new Promise(async (resolve, reject) => {\n\t\tconst video = document.createElement(\"video\");\n\t\tvideo.style.position = \"absolute\";\n\t\tvideo.style.top = 0;\n\t\tvideo.style.left = 0;\n\t\tvideo.style.width = \"100%\";\n\t\tvideo.style.height = \"100%\";\n\t\tcontainer.append(video);\n\n\t\tlet inputCameras = [];\n\t\tlet currentCamera;\n\n\t\t/**\n\t\t * @type {MediaStreamConstraints}\n\t\t */\n\t\tconst requestedMediaConstraints = {\n\t\t\tvideo: {\n\t\t\t\tfacingMode: { exact: facingMode },\n\t\t\t},\n\t\t\taudio,\n\t\t};\n\n\t\t/**\n\t\t * @type {MediaStream}\n\t\t */\n\t\tlet stream;\n\t\tlet isAllowed = false;\n\n\t\tconsole.log(\"[Camera.js] Requesting:\", requestedMediaConstraints);\n\t\tconst res = await requestCamera({ audio });\n\t\tif (!res) {\n\t\t\tsetTimeout(function () {\n\t\t\t\thandleError({ name: \"Error\", message: \"NotSupported\" });\n\t\t\t}, 50);\n\t\t}\n\n\t\t// start requesting media permissions:\n\n\t\t// console.log(\"[Camera.js] Requesting:\", requestedMediaConstraints);\n\n\t\t// if (navigator.mediaDevices.enumerateDevices === undefined) {\n\t\t// \tsetTimeout(function () {\n\t\t// \t\thandleError({ name: \"Error\", message: \"NotSupported\" });\n\t\t// \t}, 50);\n\t\t// } else {\n\t\tnavigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);\n\t\t// }\n\n\t\t/**\n\t\t * @param {MediaDeviceInfo[]} devices\n\t\t */\n\t\tfunction parseDevices(devices) {\n\t\t\tinputCameras = [];\n\t\t\tlet backCameras = [];\n\n\t\t\tdevices.forEach(function (device) {\n\t\t\t\tif (device.kind == \"videoinput\" && typeof device.deviceId != \"undefined\" && device.deviceId != \"\") {\n\t\t\t\t\tinputCameras.push(device);\n\t\t\t\t}\n\t\t\t});\n\t\t\t// //alert (JSON.stringify (devices));\n\t\t\tconsole.log(\"[Camera.js] inputCameras:\", inputCameras);\n\n\t\t\tif (inputCameras.length > 0) {\n\t\t\t\tlet cams = \"\";\n\t\t\t\tlet backCamera;\n\n\t\t\t\tinputCameras.map((cam, index) => {\n\t\t\t\t\tcams += `[${cam.deviceId}] ${cam.kind} | ${cam.label}\\n`;\n\t\t\t\t\t// console.log(cam);\n\t\t\t\t\tlet label = cam.label.toLowerCase();\n\t\t\t\t\tif (label.indexOf(\"back\") > -1 || label.indexOf(\"facetime\") > -1) {\n\t\t\t\t\t\tbackCamera = cam;\n\t\t\t\t\t\tbackCameras.push(backCamera);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (backCameras.length > 1) {\n\t\t\t\t\tbackCamera = backCameras[backCameras.length - 1];\n\t\t\t\t}\n\n\t\t\t\tconsole.log(`[Camera.js] All input sources:`, cams);\n\t\t\t\tconsole.log(`[Camera.js] This device has ${backCameras.length} back camera${backCameras.length > 1 ? \"s\" : \"\"}.`);\n\t\t\t\tconsole.log(\"[Camera.js] backCameras:\", JSON.stringify(backCameras));\n\n\t\t\t\tcurrentCamera = backCamera;\n\n\t\t\t\tif (scope.onGotDevices) {\n\t\t\t\t\tscope.onGotDevices(devices);\n\t\t\t\t}\n\n\t\t\t\t// Lấy stream của camera sau\n\t\t\t\t// (Lấy cái cuối cùng trong danh sách trước, thường sẽ là camera chính trên Android)\n\t\t\t\tgetStreamOfCameraId(backCamera.deviceId)\n\t\t\t\t\t.then(onStreamReceived)\n\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\tif (backCameras.length > 1) {\n\t\t\t\t\t\t\t// nếu thiết bị có nhiều hơn 1 camera sau -> thử lấy camera khác\n\t\t\t\t\t\t\tbackCamera = backCameras[backCameras.length - 2];\n\t\t\t\t\t\t\tgetStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);\n\t\t\t\t\t\t} else if (backCameras.length > 2) {\n\t\t\t\t\t\t\t// nếu thiết bị có nhiều hơn 2 camera sau -> thử lấy camera khác nữa\n\t\t\t\t\t\t\tbackCamera = backCameras[backCameras.length - 3];\n\t\t\t\t\t\t\tgetStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// nếu thiết bị đéo có camera sau...\n\t\t\t\t\t\t\thandleError(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnavigator.mediaDevices.getUserMedia(requestedMediaConstraints).then(onStreamReceived).catch(handleError);\n\n\t\t\t\t// if (scope.onGotDevicesFailed) scope.onGotDevicesFailed();\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @param {MediaStream} stream\n\t\t */\n\t\tfunction onStreamReceived(stream) {\n\t\t\tif (inputCameras.length == 0) {\n\t\t\t\tconsole.log(\"[Camera.js] Not found any back cameras, request again?\");\n\t\t\t\tnavigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tisAllowed = true;\n\n\t\t\tplayWebcamVideo(stream);\n\t\t}\n\n\t\t/**\n\t\t * @param {MediaStream} _stream\n\t\t */\n\t\tfunction playWebcamVideo(_stream) {\n\t\t\tstream = _stream;\n\n\t\t\tif (\"srcObject\" in video) {\n\t\t\t\t// //alert ('GOT STREAM VIDEO OBJECT');\n\t\t\t\tvideo.srcObject = _stream;\n\t\t\t} else {\n\t\t\t\t// //alert ('GOT STREAM VIDEO SOURCE URL');\n\t\t\t\t// Avoid using this in new browsers, as it is going away.\n\t\t\t\tvideo.src = window.URL.createObjectURL(_stream);\n\t\t\t}\n\n\t\t\t// required to tell iOS safari we don't want fullscreen\n\t\t\tvideo.setAttribute(\"playsinline\", true);\n\t\t\tvideo.setAttribute(\"muted\", true);\n\t\t\tvideo.setAttribute(\"autoplay\", true);\n\t\t\tvideo.muted = true;\n\t\t\tvideo.autoplay = true;\n\t\t\tvideo.style.objectFit = \"cover\";\n\t\t\tvideo.play();\n\n\t\t\t// auto play\n\t\t\tvideo.addEventListener(\"canplay\", function (e) {\n\t\t\t\t// //alert ('CAN PLAY');\n\t\t\t});\n\n\t\t\tvideo.addEventListener(\"canplaythrough\", function (e) {\n\t\t\t\t// //alert ('CAN PLAY THROUGH');\n\t\t\t});\n\n\t\t\tvideo.addEventListener(\"error\", (e) => console.log(\"[Camera.js] <video> error:\", e));\n\n\t\t\tvideo.addEventListener(\"stalled\", function (e) {\n\t\t\t\t// //alert ('CANNOT GET METADATA');\n\t\t\t\tisAllowed = false;\n\t\t\t\tconsole.log(\"[Camera.js] <video> stalled:\", e);\n\n\t\t\t\treject();\n\t\t\t});\n\n\t\t\tvideo.addEventListener(\"loadedmetadata\", function (e) {\n\t\t\t\tif (currentCamera.label.toLowerCase().indexOf(\"facetime\") > -1) {\n\t\t\t\t\tvideo.style.transform = \"scaleX(-1)\";\n\t\t\t\t\tvideo.style.webkitTransform = \"scaleX(-1)\";\n\t\t\t\t}\n\n\t\t\t\tvideo.play();\n\n\t\t\t\tresolve(video);\n\t\t\t});\n\t\t}\n\n\t\tfunction getStreamOfCameraId(id) {\n\t\t\tconst constraints = {\n\t\t\t\tvideo: { deviceId: { exact: id } },\n\t\t\t\taudio: false,\n\t\t\t};\n\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tnavigator.mediaDevices.getUserMedia(constraints).then(resolve).catch(reject);\n\t\t\t});\n\t\t}\n\n\t\tfunction handleError(err) {\n\t\t\tconsole.error(err);\n\t\t\tconst errMsg = \"[Camera.js] \" + err.name + \": \" + err.message;\n\t\t\tconsole.error(errMsg);\n\n\t\t\tisAllowed = false;\n\n\t\t\treject();\n\t\t}\n\t});\n}\n","export const isNull = (object) => {\n\tif (typeof object == \"undefined\") return true;\n\tif (object == \"\") return true;\n\tif (Array.isArray(object)) return object.length == 0;\n\n\treturn object == null;\n};\n\nexport const toBool = (object) => {\n\tif (isNull(object)) return false;\n\tobject = object.toString();\n\n\treturn object === \"true\" || object == \"1\";\n};\n\nexport const toInt = (object) => {\n\tif (isNull(object)) return 0;\n\tobject = object.toString();\n\n\treturn parseInt(object, 10);\n};\n\nexport const toFloat = (object) => {\n\tif (isNull(object)) return 0;\n\tobject = object.toString();\n\n\treturn parseFloat(object);\n};\n\n/**\n * Convert value in object to array\n * @param {object} obj\n * @returns {Array}\n */\nexport const toArray = (obj) => {\n\tconst array = [];\n\tfor (const key in obj) {\n\t\tarray.push(obj[key]);\n\t}\n\treturn array;\n};\n","// import { log } from \"../../helper/log\";\n// import { startCase, toLower } from \"lodash\";\nimport { isNull } from \"../object\";\n\nexport const textLowCase = \"abcdefghijklmnopqrstuvwxyz\";\nexport const numeric = \"0123456789\";\nexport const punctuation = \"!@#$%^&*()_+~|}{[];?><,./-=\";\nexport const allCharacter = `đĐaáàảãạăắằẳẵặâấầẩẫậeéèẻẽẹêếềểễệoóòỏõọôốồổỗộơớờởỡợiíìỉĩịuúùủũụưứừửữựyýỳỷỹỵAÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬEÉÈẺẼẸÊẾỀỂỄỆOÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢIÍÌỈĨỊUÚÙỦŨỤƯỨỪỬỮỰYÝỲ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\\`abcdefghijklmnopqrstuvwxyz{|}`;\n\n//prettier-ignore\nconst char_map={À:\"A\",Á:\"A\",Â:\"A\",Ã:\"A\",Ä:\"A\",Å:\"A\",Æ:\"AE\",Ç:\"C\",È:\"E\",É:\"E\",Ê:\"E\",Ë:\"E\",Ì:\"I\",Í:\"I\",Î:\"I\",Ï:\"I\",Ð:\"D\",Ñ:\"N\",Ò:\"O\",Ó:\"O\",Ô:\"O\",Õ:\"O\",Ö:\"O\",Ő:\"O\",Ø:\"O\",Ù:\"U\",Ú:\"U\",Û:\"U\",Ü:\"U\",Ű:\"U\",Ý:\"Y\",Þ:\"TH\",ß:\"ss\",à:\"a\",á:\"a\",â:\"a\",ã:\"a\",ä:\"a\",å:\"a\",æ:\"ae\",ç:\"c\",è:\"e\",é:\"e\",ê:\"e\",ë:\"e\",ì:\"i\",í:\"i\",î:\"i\",ï:\"i\",ð:\"d\",ñ:\"n\",ò:\"o\",ó:\"o\",ô:\"o\",õ:\"o\",ö:\"o\",ő:\"o\",ø:\"o\",ù:\"u\",ú:\"u\",û:\"u\",ü:\"u\",ű:\"u\",ý:\"y\",þ:\"th\",ÿ:\"y\",\"©\":\"(c)\",Α:\"A\",Β:\"B\",Γ:\"G\",Δ:\"D\",Ε:\"E\",Ζ:\"Z\",Η:\"H\",Θ:\"8\",Ι:\"I\",Κ:\"K\",Λ:\"L\",Μ:\"M\",Ν:\"N\",Ξ:\"3\",Ο:\"O\",Π:\"P\",Ρ:\"R\",Σ:\"S\",Τ:\"T\",Υ:\"Y\",Φ:\"F\",Χ:\"X\",Ψ:\"PS\",Ω:\"W\",Ά:\"A\",Έ:\"E\",Ί:\"I\",Ό:\"O\",Ύ:\"Y\",Ή:\"H\",Ώ:\"W\",Ϊ:\"I\",Ϋ:\"Y\",α:\"a\",β:\"b\",γ:\"g\",δ:\"d\",ε:\"e\",ζ:\"z\",η:\"h\",θ:\"8\",ι:\"i\",κ:\"k\",λ:\"l\",μ:\"m\",ν:\"n\",ξ:\"3\",ο:\"o\",π:\"p\",ρ:\"r\",σ:\"s\",τ:\"t\",υ:\"y\",φ:\"f\",χ:\"x\",ψ:\"ps\",ω:\"w\",ά:\"a\",έ:\"e\",ί:\"i\",ό:\"o\",ύ:\"y\",ή:\"h\",ώ:\"w\",ς:\"s\",ϊ:\"i\",ΰ:\"y\",ϋ:\"y\",ΐ:\"i\",Ş:\"S\",İ:\"I\",Ç:\"C\",Ü:\"U\",Ö:\"O\",Ğ:\"G\",ş:\"s\",ı:\"i\",ç:\"c\",ü:\"u\",ö:\"o\",ğ:\"g\",А:\"A\",Б:\"B\",В:\"V\",Г:\"G\",Д:\"D\",Е:\"E\",Ё:\"Yo\",Ж:\"Zh\",З:\"Z\",И:\"I\",Й:\"J\",К:\"K\",Л:\"L\",М:\"M\",Н:\"N\",О:\"O\",П:\"P\",Р:\"R\",С:\"S\",Т:\"T\",У:\"U\",Ф:\"F\",Х:\"H\",Ц:\"C\",Ч:\"Ch\",Ш:\"Sh\",Щ:\"Sh\",Ъ:\"\",Ы:\"Y\",Ь:\"\",Э:\"E\",Ю:\"Yu\",Я:\"Ya\",а:\"a\",б:\"b\",в:\"v\",г:\"g\",д:\"d\",е:\"e\",ё:\"yo\",ж:\"zh\",з:\"z\",и:\"i\",й:\"j\",к:\"k\",л:\"l\",м:\"m\",н:\"n\",о:\"o\",п:\"p\",р:\"r\",с:\"s\",т:\"t\",у:\"u\",ф:\"f\",х:\"h\",ц:\"c\",ч:\"ch\",ш:\"sh\",щ:\"sh\",ъ:\"\",ы:\"y\",ь:\"\",э:\"e\",ю:\"yu\",я:\"ya\",Є:\"Ye\",І:\"I\",Ї:\"Yi\",Ґ:\"G\",є:\"ye\",і:\"i\",ї:\"yi\",ґ:\"g\",Č:\"C\",Ď:\"D\",Ě:\"E\",Ň:\"N\",Ř:\"R\",Š:\"S\",Ť:\"T\",Ů:\"U\",Ž:\"Z\",č:\"c\",ď:\"d\",ě:\"e\",ň:\"n\",ř:\"r\",š:\"s\",ť:\"t\",ů:\"u\",ž:\"z\",Ą:\"A\",Ć:\"C\",Ę:\"e\",Ł:\"L\",Ń:\"N\",Ó:\"o\",Ś:\"S\",Ź:\"Z\",Ż:\"Z\",ą:\"a\",ć:\"c\",ę:\"e\",ł:\"l\",ń:\"n\",ó:\"o\",ś:\"s\",ź:\"z\",ż:\"z\",Ā:\"A\",Č:\"C\",Ē:\"E\",Ģ:\"G\",Ī:\"i\",Ķ:\"k\",Ļ:\"L\",Ņ:\"N\",Š:\"S\",Ū:\"u\",Ž:\"Z\",ā:\"a\",č:\"c\",ē:\"e\",ģ:\"g\",ī:\"i\",ķ:\"k\",ļ:\"l\",ņ:\"n\",š:\"s\",ū:\"u\",ž:\"z\",};\n\n//prettier-ignore\nconst _lut = [ '00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0a', '0b', '0c', '0d', '0e', '0f', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2a', '2b', '2c', '2d', '2e', '2f', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3a', '3b', '3c', '3d', '3e', '3f', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4a', '4b', '4c', '4d', '4e', '4f', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5a', '5b', '5c', '5d', '5e', '5f', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6a', '6b', '6c', '6d', '6e', '6f', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7a', '7b', '7c', '7d', '7e', '7f', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '8a', '8b', '8c', '8d', '8e', '8f', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '9a', '9b', '9c', '9d', '9e', '9f', 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf', 'c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf', 'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df', 'e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef', 'f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff' ];\n\n/**\n * allCharacter = `đĐaáàảãạăắằẳẵặâấầẩẫậeéèẻẽẹêếềểễệoóòỏõọôốồổỗộơớờởỡợiíìỉĩịuúùủũụưứừửữựyýỳỷỹỵAÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬEÉÈẺẼẸÊẾỀỂỄỆOÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢIÍÌỈĨỊUÚÙỦŨỤƯỨỪỬỮỰYÝỲ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\\`abcdefghijklmnopqrstuvwxyz{|}`;\n * @param {number} length\n * @returns {string}\n */\nexport const randAllCharacterByLength = (length = 0) => {\n\treturn randomStringByLength(length, allCharacter);\n};\n\n/**\n * @param {number} length\n * @param {textLowCase | numeric | punctuation | allCharacter} str\n * @returns {string}\n */\nexport const randomStringByLength = (length, str = textLowCase) => {\n\tlet result = \"\";\n\n\tfor (let i = 0; i < length; i++) {\n\t\tresult += str.charAt(Math.floor(Math.random() * str.length));\n\t}\n\treturn result;\n};\n\n/**\n * Get string between str1 and str2 from text\n * @param {string} text\n * @param {string} str1\n * @param {string} str2\n * @return {string}\n */\nexport const getBetween = (text, str1, str2 = \"\") => {\n\tif (!text) return \"\";\n\tif (text.indexOf(str1) <= -1) return \"\";\n\n\tconst firstIndex = text.indexOf(str1) + str1.length;\n\tconst secondIndex = str2 ? text.indexOf(str2, firstIndex) : text.length;\n\treturn text.substring(firstIndex, secondIndex);\n};\n\n/**\n * Convert object to string\n * @param {*} object\n * @return {string}\n */\nexport const makeString = (object = \"\") => {\n\t/// Ensure some object is a coerced to a string\n\tif (isNull(object)) return \"\";\n\n\treturn \"\" + object;\n};\n\n/**\n * toUpperCase\n * @param {*} str\n * @return {string}\n */\nexport const toUpperCase = (str = \"\") => {\n\treturn makeString(str).toUpperCase();\n};\n\n/**\n * toLowerCase\n * @param {*} str\n * @return {string}\n */\nexport const toLowerCase = (str = \"\") => {\n\treturn makeString(str).toLowerCase();\n};\n\n/**\n * toLowerCase\n * @param {*} str\n * @return {string}\n */\nexport const titleize = (str = \"\") => {\n\tconst regString = new RegExp(/(?:^|\\s|-)\\S/g);\n\treturn toLowerCase(str).replace(regString, function (c) {\n\t\treturn c.toUpperCase();\n\t});\n};\n\n/**\n * Convert only first charater to UpperCase\n * @param {*} str\n * @return {string}\n */\nexport const capitalize = (str, lowercaseRest = 1) => {\n\tstr = makeString(str);\n\tconst remainingChars = !lowercaseRest ? str.slice(1) : str.slice(1).toLowerCase();\n\n\treturn str.charAt(0).toUpperCase() + remainingChars;\n};\n\n/**\n * Convert first character from every single words to UpperCase\n * @param {*} str\n * @return {string}\n */\nexport const capitalizeName = (str) => {\n\tstr = makeString(str);\n\n\tstr = str.trim();\n\tstr = str.replace(/^\\s+|\\s+$/gm, \"\");\n\n\tstr = str.toLowerCase();\n\n\tconst arr = str.split(\" \");\n\n\tstr = arr\n\t\t.map((item) => {\n\t\t\treturn capitalize(item);\n\t\t})\n\t\t.filter((x) => x)\n\t\t.join(\" \");\n\n\treturn str;\n};\n\n/**\n *\n * @param {string} s - Input string\n * @param {{delimiter,limit,lowercase,replacements,transliterate}} opt - Option\n * @return {string}\n */\nexport const clearUnicodeCharacters = (s, opt = {}) => {\n\ts = makeString(s);\n\n\tvar defaults = {\n\t\tdelimiter: \" \",\n\t\tlimit: undefined,\n\t\tlowercase: true,\n\t\treplacements: {},\n\t\ttransliterate: typeof XRegExp === \"undefined\" ? true : false,\n\t};\n\n\t// Merge options\n\tfor (var k in defaults) {\n\t\tif (!opt.hasOwnProperty(k)) {\n\t\t\topt[k] = defaults[k];\n\t\t}\n\t}\n\n\t// Vietnamese\n\ts = s.replace(/á|à|ả|ạ|ã|ă|ắ|ằ|ẳ|ẵ|ặ|â|ấ|ầ|ẩ|ẫ|ậ/gi, \"a\");\n\ts = s.replace(/é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ/gi, \"e\");\n\ts = s.replace(/i|í|ì|ỉ|ĩ|ị/gi, \"i\");\n\ts = s.replace(/ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ/gi, \"o\");\n\ts = s.replace(/ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự/gi, \"u\");\n\ts = s.replace(/ý|ỳ|ỷ|ỹ|ỵ/gi, \"y\");\n\ts = s.replace(/đ/gi, \"d\");\n\ts = \"@\" + s + \"@\";\n\ts = s.replace(/\\@\\-|\\-\\@|\\@/gi, \"\");\n\n\t// Make custom replacements\n\tfor (var k in opt.replacements) {\n\t\ts = s.replace(RegExp(k, \"g\"), opt.replacements[k]);\n\t}\n\n\t// Transliterate characters to ASCII\n\tif (opt.transliterate) {\n\t\tfor (var k in char_map) {\n\t\t\ts = s.replace(RegExp(k, \"g\"), char_map[k]);\n\t\t}\n\t}\n\n\t// Replace non-alphanumeric characters with our delimiter\n\tvar alnum = typeof XRegExp === \"undefined\" ? RegExp(\"[^a-z0-9]+\", \"ig\") : XRegExp(\"[^\\\\p{L}\\\\p{N}]+\", \"ig\");\n\ts = s.replace(alnum, opt.delimiter);\n\n\t// Remove duplicate delimiters\n\ts = s.replace(RegExp(\"[\" + opt.delimiter + \"]{2,}\", \"g\"), opt.delimiter);\n\n\t// Truncate slug to max. characters\n\ts = s.substring(0, opt.limit);\n\n\t// Remove delimiter from ends\n\ts = s.replace(RegExp(\"(^\" + opt.delimiter + \"|\" + opt.delimiter + \"$)\", \"g\"), \"\");\n\n\treturn opt.lowercase ? s.toLowerCase() : s;\n};\n\nexport function generateUUID() {\n\t// http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136\n\n\tconst d0 = (Math.random() * 0xffffffff) | 0;\n\tconst d1 = (Math.random() * 0xffffffff) | 0;\n\tconst d2 = (Math.random() * 0xffffffff) | 0;\n\tconst d3 = (Math.random() * 0xffffffff) | 0;\n\tconst uuid =\n\t\t_lut[d0 & 0xff] +\n\t\t_lut[(d0 >> 8) & 0xff] +\n\t\t_lut[(d0 >> 16) & 0xff] +\n\t\t_lut[(d0 >> 24) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[d1 & 0xff] +\n\t\t_lut[(d1 >> 8) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[((d1 >> 16) & 0x0f) | 0x40] +\n\t\t_lut[(d1 >> 24) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[(d2 & 0x3f) | 0x80] +\n\t\t_lut[(d2 >> 8) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[(d2 >> 16) & 0xff] +\n\t\t_lut[(d2 >> 24) & 0xff] +\n\t\t_lut[d3 & 0xff] +\n\t\t_lut[(d3 >> 8) & 0xff] +\n\t\t_lut[(d3 >> 16) & 0xff] +\n\t\t_lut[(d3 >> 24) & 0xff];\n\n\t// .toLowerCase() here flattens concatenated strings to save heap memory space.\n\treturn uuid.toLowerCase();\n}\n","import { isNull } from \"../object\";\n\nvar urlRegex = /(https?:\\/\\/[^\\s]+)/g;\n\nexport const getUrlParams = (parameter, staticURL, decode) => {\n\tif (typeof window == \"undefined\") return \"\";\n\n\tstaticURL = staticURL == undefined ? window.location : staticURL;\n\tvar currLocation = staticURL.length ? staticURL : window.location.search;\n\n\tif (currLocation.split(\"?\").length < 2) return \"\";\n\n\tvar parArr = currLocation.split(\"?\")[1].split(\"&\"),\n\t\treturnBool = true;\n\n\tfor (var i = 0; i < parArr.length; i++) {\n\t\tvar parr = parArr[i].split(\"=\");\n\t\tif (parr[0] == parameter) {\n\t\t\treturn decode ? decodeURIComponent(parr[1]) : parr[1];\n\t\t\treturnBool = true;\n\t\t} else {\n\t\t\treturnBool = false;\n\t\t}\n\t}\n\n\tif (!returnBool) return false;\n};\n\n/**\n *\n * @return {boolean}\n */\nexport const isLink = (str) => {\n\treturn urlRegex.test(str);\n};\n\n// /**\n// *\n// * @return {JSX.Element}\n// */\n// export const strToJsxLink = (str, altText) => {\n// \treturn isLink(str) ? <a href={src}>{altText || src}</a> : str;\n// };\n\n/**\n *\n * @param {string} url\n * @return {string}\n */\nexport const getFileNameWithoutExtension = (url) => {\n\turl = decodeURIComponent(url);\n\tif (url) {\n\t\tconst m = url.toString().match(/.*\\/(.+?)\\./);\n\t\tif (m && m.length > 1) {\n\t\t\treturn m[1];\n\t\t}\n\n\t\tif (!isNull(url)) {\n\t\t\treturn url.split(\".\").shift();\n\t\t}\n\t}\n\treturn \"\";\n};\n\n/**\n *\n * @param {string} url\n * @return {string}\n */\nexport const getFileNameWithExtension = (url) => {\n\turl = decodeURIComponent(url);\n\tif (url) {\n\t\tconst m = url.toString().match(/.*\\/(.*)$/);\n\n\t\tif (m && m.length > 1) {\n\t\t\treturn m[1].split(\"/\").pop().split(\"?\")[0];\n\t\t}\n\n\t\tif (!isNull(url)) {\n\t\t\treturn url;\n\t\t}\n\t}\n\treturn \"\";\n};\n\n/**\n *\n * @param {string} url\n * @return {string}\n */\nexport const getFileExtension = (url) => {\n\treturn getFileNameWithExtension(url).split(\".\").pop();\n};\n"],"names":[],"version":3,"file":"main.js.map"}
|
package/dist/module.js
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
function $parcel$export(e, n, v, s) {
|
|
2
2
|
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
3
3
|
}
|
|
4
|
+
const $8fe3896bd5467870$var$Timer = {
|
|
5
|
+
wait: async (ms)=>{
|
|
6
|
+
return new Promise((resolve)=>setTimeout(resolve, ms));
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
var $8fe3896bd5467870$export$2e2bcd8739ae039 = $8fe3896bd5467870$var$Timer;
|
|
10
|
+
|
|
11
|
+
|
|
4
12
|
const $f0f09b584740e2f3$var$requestCamera = ({ audio: audio = true , video: video = true })=>{
|
|
5
13
|
if (typeof window == "undefined") return false;
|
|
6
14
|
return new Promise((resolve, reject)=>{
|
|
@@ -1572,5 +1580,5 @@ const $de3cf7f00f335771$export$5f7821c344028c56 = (url)=>{
|
|
|
1572
1580
|
|
|
1573
1581
|
|
|
1574
1582
|
|
|
1575
|
-
export {$f0f09b584740e2f3$export$2e2bcd8739ae039 as requestCamera, $e730781d5c0a00a9$export$2e2bcd8739ae039 as requestDeviceOrientationControl, $2ca70dfaa96b15b9$export$49bdca8d9bee322f as sumArray, $2ca70dfaa96b15b9$export$ac670fb62802935a as averageArray, $2ca70dfaa96b15b9$export$a1f1952d9b4428af as minArray, $2ca70dfaa96b15b9$export$efc4a9e0e0ac75e as maxArray, $2ca70dfaa96b15b9$export$4fd64e376619fa84 as sortElementByString, $2ca70dfaa96b15b9$export$dcc0320e182596b5 as sortElementByNumber, $2ca70dfaa96b15b9$export$43c7f521acf6e6cf as firstElement, $2ca70dfaa96b15b9$export$2b172101b53b52e6 as lastElement, $2ca70dfaa96b15b9$export$23b1f9ce5361528e as randomIndex, $2ca70dfaa96b15b9$export$d3d80cee07107776 as randomElement, $2ca70dfaa96b15b9$export$33132b67042f2f2a as mergeAndMakeUniqueElement, $2ca70dfaa96b15b9$export$79ac041f2b324c04 as allMatchInArray, $2ca70dfaa96b15b9$export$fe2d9b4e03920b4c as removeItem, $2ca70dfaa96b15b9$export$846415a11802e0e as removeItemByKey, $2ca70dfaa96b15b9$export$1a76347094524b3b as getRandom, $2ca70dfaa96b15b9$export$333626154b16d34f as getHalfRandom, $2ca70dfaa96b15b9$export$448332262467e042 as shuffle, $2ca70dfaa96b15b9$export$8d895961bc96a6b2 as moveIndex, $2ca70dfaa96b15b9$export$2f3f9678178e797c as moveArray, $2ca70dfaa96b15b9$exports as default, $ea6480a0915f140d$export$41a665f744414057 as isIos, $ea6480a0915f140d$export$569c67be1cdf360d as checkOS, $ea6480a0915f140d$export$a11b0059900ceec8 as isAndroid, $ea6480a0915f140d$export$d0a8044dce8ff2fc as isMobile, $32b0aa7947611a19$export$59bf81beacc278c9 as isPotrait, $32b0aa7947611a19$export$5cd843239dff6e53 as isLandscape, $32b0aa7947611a19$export$1a85a5b39245481e as ua, $32b0aa7947611a19$export$2ffb895ad65f87b as isFacebookWebview, $32b0aa7947611a19$export$e9f1d34d540bf7cc as isInAppWebview, $3567a21a907cc8e3$export$a6b361d6bfb7a093 as getWebcam, $8c41dc646358608d$export$6f50058d820858c5 as randRound, $8c41dc646358608d$export$bb0a9c36cf454ea0 as rand, $8c41dc646358608d$export$b647c187d1d74a5e as randHalt, $8c41dc646358608d$export$a85cdcada2f6e6d0 as randInt, $8c41dc646358608d$export$8dceb61b660164cc as randFloat, $8c41dc646358608d$export$e6bfdeff8bfc94f9 as degToRad, $8c41dc646358608d$export$54390e3b44c4a9cb as radToDeg, $0667b9c04801d7c4$export$630801d484da15df as isNull, $0667b9c04801d7c4$export$a5e0e20515fe635 as toBool, $0667b9c04801d7c4$export$e7a1baa2fae31f0f as toInt, $0667b9c04801d7c4$export$d94660d4b808c5a8 as toFloat, $0667b9c04801d7c4$export$45b10814cc054894 as toArray, $44a7d938ab685710$export$4645b4fcee4cd202 as textLowCase, $44a7d938ab685710$export$b7a508fa8dae59fc as numeric, $44a7d938ab685710$export$cb2021665d0782e2 as punctuation, $44a7d938ab685710$export$c7acbaf62ee0a77a as allCharacter, $44a7d938ab685710$export$1553b55b39fe0033 as randAllCharacterByLength, $44a7d938ab685710$export$6263a4b5f5ed507b as randomStringByLength, $44a7d938ab685710$export$7587f8e6781523e5 as getBetween, $44a7d938ab685710$export$992e00a9150f373b as makeString, $44a7d938ab685710$export$d80c591a9e16646 as toUpperCase, $44a7d938ab685710$export$84b9399c77df0edf as toLowerCase, $44a7d938ab685710$export$29d0dd1cc36cee26 as titleize, $44a7d938ab685710$export$9a00dee1beb8f576 as capitalize, $44a7d938ab685710$export$ca69f6a6464047b4 as capitalizeName, $44a7d938ab685710$export$b2c326c8102a62cd as clearUnicodeCharacters, $44a7d938ab685710$export$e73c8bd0f20705a as generateUUID, $de3cf7f00f335771$export$1061071041ba84d4 as getUrlParams, $de3cf7f00f335771$export$4e4336b95bdd3a81 as isLink, $de3cf7f00f335771$export$afd41bce1ef3e9cf as getFileNameWithoutExtension, $de3cf7f00f335771$export$f8ed5ad7fba8ab94 as getFileNameWithExtension, $de3cf7f00f335771$export$5f7821c344028c56 as getFileExtension};
|
|
1583
|
+
export {$f0f09b584740e2f3$export$2e2bcd8739ae039 as requestCamera, $e730781d5c0a00a9$export$2e2bcd8739ae039 as requestDeviceOrientationControl, $8fe3896bd5467870$export$2e2bcd8739ae039 as Timer, $2ca70dfaa96b15b9$export$49bdca8d9bee322f as sumArray, $2ca70dfaa96b15b9$export$ac670fb62802935a as averageArray, $2ca70dfaa96b15b9$export$a1f1952d9b4428af as minArray, $2ca70dfaa96b15b9$export$efc4a9e0e0ac75e as maxArray, $2ca70dfaa96b15b9$export$4fd64e376619fa84 as sortElementByString, $2ca70dfaa96b15b9$export$dcc0320e182596b5 as sortElementByNumber, $2ca70dfaa96b15b9$export$43c7f521acf6e6cf as firstElement, $2ca70dfaa96b15b9$export$2b172101b53b52e6 as lastElement, $2ca70dfaa96b15b9$export$23b1f9ce5361528e as randomIndex, $2ca70dfaa96b15b9$export$d3d80cee07107776 as randomElement, $2ca70dfaa96b15b9$export$33132b67042f2f2a as mergeAndMakeUniqueElement, $2ca70dfaa96b15b9$export$79ac041f2b324c04 as allMatchInArray, $2ca70dfaa96b15b9$export$fe2d9b4e03920b4c as removeItem, $2ca70dfaa96b15b9$export$846415a11802e0e as removeItemByKey, $2ca70dfaa96b15b9$export$1a76347094524b3b as getRandom, $2ca70dfaa96b15b9$export$333626154b16d34f as getHalfRandom, $2ca70dfaa96b15b9$export$448332262467e042 as shuffle, $2ca70dfaa96b15b9$export$8d895961bc96a6b2 as moveIndex, $2ca70dfaa96b15b9$export$2f3f9678178e797c as moveArray, $2ca70dfaa96b15b9$exports as default, $ea6480a0915f140d$export$41a665f744414057 as isIos, $ea6480a0915f140d$export$569c67be1cdf360d as checkOS, $ea6480a0915f140d$export$a11b0059900ceec8 as isAndroid, $ea6480a0915f140d$export$d0a8044dce8ff2fc as isMobile, $32b0aa7947611a19$export$59bf81beacc278c9 as isPotrait, $32b0aa7947611a19$export$5cd843239dff6e53 as isLandscape, $32b0aa7947611a19$export$1a85a5b39245481e as ua, $32b0aa7947611a19$export$2ffb895ad65f87b as isFacebookWebview, $32b0aa7947611a19$export$e9f1d34d540bf7cc as isInAppWebview, $3567a21a907cc8e3$export$a6b361d6bfb7a093 as getWebcam, $8c41dc646358608d$export$6f50058d820858c5 as randRound, $8c41dc646358608d$export$bb0a9c36cf454ea0 as rand, $8c41dc646358608d$export$b647c187d1d74a5e as randHalt, $8c41dc646358608d$export$a85cdcada2f6e6d0 as randInt, $8c41dc646358608d$export$8dceb61b660164cc as randFloat, $8c41dc646358608d$export$e6bfdeff8bfc94f9 as degToRad, $8c41dc646358608d$export$54390e3b44c4a9cb as radToDeg, $0667b9c04801d7c4$export$630801d484da15df as isNull, $0667b9c04801d7c4$export$a5e0e20515fe635 as toBool, $0667b9c04801d7c4$export$e7a1baa2fae31f0f as toInt, $0667b9c04801d7c4$export$d94660d4b808c5a8 as toFloat, $0667b9c04801d7c4$export$45b10814cc054894 as toArray, $44a7d938ab685710$export$4645b4fcee4cd202 as textLowCase, $44a7d938ab685710$export$b7a508fa8dae59fc as numeric, $44a7d938ab685710$export$cb2021665d0782e2 as punctuation, $44a7d938ab685710$export$c7acbaf62ee0a77a as allCharacter, $44a7d938ab685710$export$1553b55b39fe0033 as randAllCharacterByLength, $44a7d938ab685710$export$6263a4b5f5ed507b as randomStringByLength, $44a7d938ab685710$export$7587f8e6781523e5 as getBetween, $44a7d938ab685710$export$992e00a9150f373b as makeString, $44a7d938ab685710$export$d80c591a9e16646 as toUpperCase, $44a7d938ab685710$export$84b9399c77df0edf as toLowerCase, $44a7d938ab685710$export$29d0dd1cc36cee26 as titleize, $44a7d938ab685710$export$9a00dee1beb8f576 as capitalize, $44a7d938ab685710$export$ca69f6a6464047b4 as capitalizeName, $44a7d938ab685710$export$b2c326c8102a62cd as clearUnicodeCharacters, $44a7d938ab685710$export$e73c8bd0f20705a as generateUUID, $de3cf7f00f335771$export$1061071041ba84d4 as getUrlParams, $de3cf7f00f335771$export$4e4336b95bdd3a81 as isLink, $de3cf7f00f335771$export$afd41bce1ef3e9cf as getFileNameWithoutExtension, $de3cf7f00f335771$export$f8ed5ad7fba8ab94 as getFileNameWithExtension, $de3cf7f00f335771$export$5f7821c344028c56 as getFileExtension};
|
|
1576
1584
|
//# sourceMappingURL=module.js.map
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,MAAG,EAAC,KAAK;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;CAAE,AAAC;AAE3rD,iBAAiB;AACjB,MAAM,0BAAI,GAAG;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAA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","sources":["packages/diginext-utils/index.js","packages/diginext-utils/src/permission/requestCamera.js","packages/diginext-utils/src/permission/requestDeviceOrientationControl.js","packages/diginext-utils/src/device/index.js","packages/diginext-utils/src/array/index.js","packages/diginext-utils/src/math/index.js","packages/diginext-utils/src/device/browser.js","packages/diginext-utils/src/device/camera.js","packages/diginext-utils/src/object/index.js","packages/diginext-utils/src/string/index.js","packages/diginext-utils/src/string/url.js"],"sourcesContent":["export * from \"./src/array\";\nexport * from \"./src/device\";\nexport * from \"./src/device/browser\";\nexport * from \"./src/device/camera\";\nexport * from \"./src/math\";\nexport * from \"./src/object\";\nexport * from \"./src/string\";\nexport * from \"./src/string/url\";\nimport requestCamera from \"./src/permission/requestCamera\";\nimport requestDeviceOrientationControl from \"./src/permission/requestDeviceOrientationControl\";\n\nexport { requestCamera, requestDeviceOrientationControl };\n","const requestCamera = ({ audio = true, video = true }) => {\n\tif (typeof window == \"undefined\") return false;\n\n\treturn new Promise((resolve, reject) => {\n\t\t// Older browsers might not implement mediaDevices at all, so we set an empty object first\n\t\tif (navigator.mediaDevices === undefined) {\n\t\t\tnavigator.mediaDevices = {};\n\t\t}\n\n\t\t// Some browsers partially implement mediaDevices. We can't just assign an object\n\t\t// with getUserMedia as it would overwrite existing properties.\n\t\t// Here, we will just add the getUserMedia property if it's missing.\n\t\tif (navigator.mediaDevices.getUserMedia === undefined) {\n\t\t\tnavigator.mediaDevices.getUserMedia = function (constraints) {\n\t\t\t\t// First get ahold of the legacy getUserMedia, if present\n\t\t\t\tvar getUserMedia = navigator.webkitGetUserMedia || navigator.mozGetUserMedia;\n\n\t\t\t\t// Some browsers just don't implement it - return a rejected promise with an error\n\t\t\t\t// to keep a consistent interface\n\t\t\t\tif (!getUserMedia) {\n\t\t\t\t\treturn Promise.reject(new Error(\"getUserMedia is not implemented in this browser\"));\n\t\t\t\t}\n\n\t\t\t\t// Otherwise, wrap the call to the old navigator.getUserMedia with a Promise\n\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\tgetUserMedia.call(navigator, constraints, resolve, reject);\n\t\t\t\t});\n\t\t\t};\n\t\t}\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia({ audio, video })\n\t\t\t.then(function (stream) {\n\t\t\t\tresolve(true);\n\t\t\t})\n\t\t\t.catch(function (err) {\n\t\t\t\tconsole.log(err.name + \": \" + err.message);\n\t\t\t\tresolve(false);\n\t\t\t});\n\t});\n};\n\nexport default requestCamera;\n","import { isAndroid } from \"../device\";\n\nconst requestDeviceOrientationControl = () => {\n\tif (typeof window == \"undefined\") return false;\n\treturn new Promise((resolve, reject) => {\n\t\tif (isAndroid()) resolve(true);\n\n\t\tif (typeof DeviceMotionEvent != \"undefined\" && DeviceMotionEvent.requestPermission) {\n\t\t\t// (optional) Do something before API request prompt.\n\t\t\tDeviceOrientationEvent.requestPermission()\n\t\t\t\t.then((response) => {\n\t\t\t\t\t// (optional) Do something after API prompt dismissed.\n\t\t\t\t\tif (response == \"granted\") {\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t// resolve({ status: true })\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(false);\n\t\t\t\t\t\t// resolve({ status: false, reason: \"DeviceMotionEvent is not support\" })\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((response) => {\n\t\t\t\t\tresolve(false);\n\t\t\t\t\t// resolve({ status: false, reason: response })\n\t\t\t\t});\n\t\t} else {\n\t\t\tresolve(false);\n\t\t\t// resolve({ status: false, reason: \"DeviceMotionEvent is not defined\" })\n\t\t}\n\t});\n};\n\nexport default requestDeviceOrientationControl;\n","export const isIos = () => {\n\tconst deviceInfo = checkOS();\n\tif (deviceInfo) return deviceInfo.os.toLowerCase() == \"ios\";\n\tconsole.log(\"Can't check OS\");\n\treturn null;\n};\n\nexport const isAndroid = () => {\n\tconst deviceInfo = checkOS();\n\tif (deviceInfo) return deviceInfo.os.toLowerCase() == \"android\";\n\tconsole.log(\"Can't check OS\");\n\treturn null;\n};\n\nexport const isMobile = () => {\n\tif (typeof navigator == \"undefined\") return null;\n\n\tif (\n\t\tnavigator.userAgent.match(/Android/i) ||\n\t\tnavigator.userAgent.match(/webOS/i) ||\n\t\tnavigator.userAgent.match(/iPhone/i) ||\n\t\tnavigator.userAgent.match(/iPad/i) ||\n\t\tnavigator.userAgent.match(/iPod/i) ||\n\t\tnavigator.userAgent.match(/BlackBerry/i) ||\n\t\tnavigator.userAgent.match(/Windows Phone/i)\n\t) {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/**\n *\n * @returns {{\n * screen,\n * browser,\n * browserVersion,\n * browserMajorVersion,\n * mobile,\n * os,\n * osVersion,\n * cookies,\n * flashVersion,\n * }}\n */\nexport const checkOS = () => {\n\tif (typeof window == \"undefined\") return {};\n\n\tif (typeof window?.deviceInfo == \"undefined\") {\n\t\tvar unknown = \"-\";\n\n\t\t// screen\n\t\tvar screenSize = \"\";\n\t\tif (screen.width) {\n\t\t\tvar width = screen.width ? screen.width : \"\";\n\t\t\tvar height = screen.height ? screen.height : \"\";\n\t\t\tscreenSize += \"\" + width + \" x \" + height;\n\t\t}\n\n\t\t// browser\n\t\tvar nVer = navigator.appVersion;\n\t\tvar nAgt = navigator.userAgent;\n\t\tvar browser = navigator.appName;\n\t\tvar version = \"\" + parseFloat(navigator.appVersion);\n\t\tvar majorVersion = parseInt(navigator.appVersion, 10);\n\t\tvar nameOffset, verOffset, ix;\n\n\t\t// Opera\n\t\tif ((verOffset = nAgt.indexOf(\"Opera\")) != -1) {\n\t\t\tbrowser = \"Opera\";\n\t\t\tversion = nAgt.substring(verOffset + 6);\n\t\t\tif ((verOffset = nAgt.indexOf(\"Version\")) != -1) {\n\t\t\t\tversion = nAgt.substring(verOffset + 8);\n\t\t\t}\n\t\t}\n\t\t// Opera Next\n\t\tif ((verOffset = nAgt.indexOf(\"OPR\")) != -1) {\n\t\t\tbrowser = \"Opera\";\n\t\t\tversion = nAgt.substring(verOffset + 4);\n\t\t}\n\t\t// Edge\n\t\telse if ((verOffset = nAgt.indexOf(\"Edge\")) != -1) {\n\t\t\tbrowser = \"Microsoft Edge\";\n\t\t\tversion = nAgt.substring(verOffset + 5);\n\t\t}\n\t\t// MSIE\n\t\telse if ((verOffset = nAgt.indexOf(\"MSIE\")) != -1) {\n\t\t\tbrowser = \"Microsoft Internet Explorer\";\n\t\t\tversion = nAgt.substring(verOffset + 5);\n\t\t}\n\t\t// Chrome\n\t\telse if ((verOffset = nAgt.indexOf(\"Chrome\")) != -1) {\n\t\t\tbrowser = \"Chrome\";\n\t\t\tversion = nAgt.substring(verOffset + 7);\n\t\t}\n\t\t// Safari\n\t\telse if ((verOffset = nAgt.indexOf(\"Safari\")) != -1) {\n\t\t\tbrowser = \"Safari\";\n\t\t\tversion = nAgt.substring(verOffset + 7);\n\t\t\tif ((verOffset = nAgt.indexOf(\"Version\")) != -1) {\n\t\t\t\tversion = nAgt.substring(verOffset + 8);\n\t\t\t}\n\t\t}\n\t\t// Firefox\n\t\telse if ((verOffset = nAgt.indexOf(\"Firefox\")) != -1) {\n\t\t\tbrowser = \"Firefox\";\n\t\t\tversion = nAgt.substring(verOffset + 8);\n\t\t}\n\t\t// MSIE 11+\n\t\telse if (nAgt.indexOf(\"Trident/\") != -1) {\n\t\t\tbrowser = \"Microsoft Internet Explorer\";\n\t\t\tversion = nAgt.substring(nAgt.indexOf(\"rv:\") + 3);\n\t\t}\n\t\t// Other browsers\n\t\telse if ((nameOffset = nAgt.lastIndexOf(\" \") + 1) < (verOffset = nAgt.lastIndexOf(\"/\"))) {\n\t\t\tbrowser = nAgt.substring(nameOffset, verOffset);\n\t\t\tversion = nAgt.substring(verOffset + 1);\n\t\t\tif (browser.toLowerCase() == browser.toUpperCase()) {\n\t\t\t\tbrowser = navigator.appName;\n\t\t\t}\n\t\t}\n\t\t// trim the version string\n\t\tif ((ix = version.indexOf(\";\")) != -1) version = version.substring(0, ix);\n\t\tif ((ix = version.indexOf(\" \")) != -1) version = version.substring(0, ix);\n\t\tif ((ix = version.indexOf(\")\")) != -1) version = version.substring(0, ix);\n\n\t\tmajorVersion = parseInt(\"\" + version, 10);\n\t\tif (isNaN(majorVersion)) {\n\t\t\tversion = \"\" + parseFloat(navigator.appVersion);\n\t\t\tmajorVersion = parseInt(navigator.appVersion, 10);\n\t\t}\n\n\t\t// mobile version\n\t\tvar mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer);\n\n\t\t// cookie\n\t\tvar cookieEnabled = navigator.cookieEnabled ? true : false;\n\n\t\tif (typeof navigator.cookieEnabled == \"undefined\" && !cookieEnabled) {\n\t\t\tdocument.cookie = \"testcookie\";\n\t\t\tcookieEnabled = document.cookie.indexOf(\"testcookie\") != -1 ? true : false;\n\t\t}\n\n\t\t// system\n\t\tvar os = unknown;\n\t\tvar clientStrings = [\n\t\t\t{ s: \"Windows 10\", r: /(Windows 10.0|Windows NT 10.0)/ },\n\t\t\t{ s: \"Windows 8.1\", r: /(Windows 8.1|Windows NT 6.3)/ },\n\t\t\t{ s: \"Windows 8\", r: /(Windows 8|Windows NT 6.2)/ },\n\t\t\t{ s: \"Windows 7\", r: /(Windows 7|Windows NT 6.1)/ },\n\t\t\t{ s: \"Windows Vista\", r: /Windows NT 6.0/ },\n\t\t\t{ s: \"Windows Server 2003\", r: /Windows NT 5.2/ },\n\t\t\t{ s: \"Windows XP\", r: /(Windows NT 5.1|Windows XP)/ },\n\t\t\t{ s: \"Windows 2000\", r: /(Windows NT 5.0|Windows 2000)/ },\n\t\t\t{ s: \"Windows ME\", r: /(Win 9x 4.90|Windows ME)/ },\n\t\t\t{ s: \"Windows 98\", r: /(Windows 98|Win98)/ },\n\t\t\t{ s: \"Windows 95\", r: /(Windows 95|Win95|Windows_95)/ },\n\t\t\t{ s: \"Windows NT 4.0\", r: /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/ },\n\t\t\t{ s: \"Windows CE\", r: /Windows CE/ },\n\t\t\t{ s: \"Windows 3.11\", r: /Win16/ },\n\t\t\t{ s: \"Android\", r: /Android/ },\n\t\t\t{ s: \"Open BSD\", r: /OpenBSD/ },\n\t\t\t{ s: \"Sun OS\", r: /SunOS/ },\n\t\t\t{ s: \"Linux\", r: /(Linux|X11)/ },\n\t\t\t{ s: \"iOS\", r: /(iPhone|iPad|iPod)/ },\n\t\t\t{ s: \"Mac OS X\", r: /Mac OS X/ },\n\t\t\t{ s: \"Mac OS\", r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/ },\n\t\t\t{ s: \"QNX\", r: /QNX/ },\n\t\t\t{ s: \"UNIX\", r: /UNIX/ },\n\t\t\t{ s: \"BeOS\", r: /BeOS/ },\n\t\t\t{ s: \"OS/2\", r: /OS\\/2/ },\n\t\t\t{ s: \"Search Bot\", r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\\/Teoma|ia_archiver)/ },\n\t\t];\n\t\tfor (var id in clientStrings) {\n\t\t\tvar cs = clientStrings[id];\n\t\t\tif (cs.r.test(nAgt)) {\n\t\t\t\tos = cs.s;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tvar osVersion = unknown;\n\n\t\tif (/Windows/.test(os)) {\n\t\t\tosVersion = /Windows (.*)/.exec(os)[1];\n\t\t\tos = \"Windows\";\n\t\t}\n\n\t\tswitch (os) {\n\t\t\tcase \"Mac OS X\":\n\t\t\t\tosVersion = /Mac OS X (10[\\.\\_\\d]+)/.exec(nAgt)[1];\n\t\t\t\tbreak;\n\n\t\t\tcase \"Android\":\n\t\t\t\tosVersion = /Android ([\\.\\_\\d]+)/.exec(nAgt)[1];\n\t\t\t\tbreak;\n\n\t\t\tcase \"iOS\":\n\t\t\t\tosVersion = /OS (\\d+)_(\\d+)_?(\\d+)?/.exec(nVer);\n\t\t\t\tosVersion = osVersion[1] + \".\" + osVersion[2] + \".\" + (osVersion[3] | 0);\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// flash (you'll need to include swfobject)\n\t\t/* script src=\"//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js\" */\n\t\tvar flashVersion = \"no check\";\n\t\tif (typeof swfobject != \"undefined\") {\n\t\t\tvar fv = swfobject.getFlashPlayerVersion();\n\t\t\tif (fv.major > 0) {\n\t\t\t\tflashVersion = fv.major + \".\" + fv.minor + \" r\" + fv.release;\n\t\t\t} else {\n\t\t\t\tflashVersion = unknown;\n\t\t\t}\n\t\t}\n\n\t\tconst deviceInfo = {\n\t\t\tscreen: screenSize,\n\t\t\tbrowser: browser,\n\t\t\tbrowserVersion: version,\n\t\t\tbrowserMajorVersion: majorVersion,\n\t\t\tmobile: mobile,\n\t\t\tos: os,\n\t\t\tosVersion: osVersion,\n\t\t\tcookies: cookieEnabled,\n\t\t\tflashVersion: flashVersion,\n\t\t};\n\n\t\twindow.deviceInfo = deviceInfo;\n\t}\n\n\treturn window.deviceInfo;\n};\n","import { randInt } from \"../math\";\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n*/\nexport const sumArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n if (key) return array.reduce((c, v) => c + v[key], 0);\n else return array.reduce((c, v) => c + v, 0);\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n */\nexport const averageArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n return this.sum(array, key) / array.length || 0;\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n */\nexport const minArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n if (array.length > 0) {\n if (key) return array.reduce((c, v) => (c < v[key] ? c : v[key]));\n else return array.reduce((c, v) => (c < v ? c : v));\n }\n return 0;\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n */\nexport const maxArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n if (array.length > 0) {\n if (key) return array.reduce((c, v) => (c > v[key] ? c : v[key]));\n else return array.reduce((c, v) => (c > v ? c : v));\n }\n return 0;\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Array}\n */\nexport const sortElementByString = (array, key) => {\n if (!Array.isArray(array)) return [];\n if (key)\n return array.sort((x, y) => {\n var a = x[key].toUpperCase(),\n b = y[key].toUpperCase();\n return a == b ? 0 : a > b ? 1 : -1;\n });\n console.log(\"NO KEY\");\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Array}\n */\nexport const sortElementByNumber = (array, key) => {\n if (!Array.isArray(array)) return [];\n if (key)\n return array.sort((a, b) => {\n return a[key] - b[key];\n });\n console.log(\"NO KEY\");\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const firstElement = (array) => {\n if (array) if (array.length || array.length > 0) return array[0];\n return null;\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const lastElement = (array) => {\n if (array) if (array.length || array.length > 0) return array[array.length - 1];\n return null;\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const randomIndex = (array) => {\n if (array) return randInt(0, array.length - 1);\n return -1;\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const randomElement = (array) => {\n if (array) return array[randomIndex(array)];\n return null;\n};\n\n/**\n * Remove same elements from 2 arrays\n * @param {Array} list1\n * @param {Array} list2\n * @param {string} key\n * @returns {Array}\n */\nexport const mergeAndMakeUniqueElement = (list1, list2, key) => {\n if (!list1 || !list2) return;\n\n if (key) {\n return list1\n .concat(list2)\n .filter((item, index, self) => {\n return self.findIndex(x => x[key] == item[key]) === index\n })\n }\n else {\n return list1.concat(list2)\n .filter((x, index, self) => {\n return self.indexOf(x) === index\n })\n }\n\n};\n\n/**\n * check target == toMatch\n * @param {Array} target\n * @param {Array} toMatch\n * @returns {Boolean}\n */\nexport const allMatchInArray = (target, toMatch) => {\n if (!target || !toMatch) return false;\n const found = toMatch.every((item) => {\n return target.includes(item);\n });\n return found;\n};\n\n\n\n/**\n *\n * @param {any} item\n * @param {Array} array\n * @returns {Array}\n */\nexport const removeItem = (item, array) => {\n const index = array.indexOf(item);\n if (index == -1) {\n console.warn(\"[ArrayExtra.removeItem] Item not found.\");\n return array;\n }\n array.splice(index, 1);\n return array;\n};\n\n/**\n *\n * @param {string} key\n * @param {any} value\n * @param {Array} array\n * @returns {Array}\n */\nexport const removeItemByKey = (key, value, array) => {\n const foundIndex = array.findIndex((item) => {\n return item[key] == value;\n });\n\n\tif (foundIndex < 0) {\n\t\tconsole.warn(\"[ArrayExtra.removeItemByKey] Item not found.\", key, value);\n\t\treturn array;\n\t}\n\tarray.splice(foundIndex, 1);\n\treturn array;\n};\n\n/**\n * Get an array with shuffle element\n * @param {Array} array\n * @param {Number} n\n * @returns {Array}\n */\n export const getRandom = (array, n) => {\n\tvar result = new Array(n),\n\t\tlen = array.length,\n\t\ttaken = new Array(len);\n\tif (n > len) throw new RangeError(\"getRandom: more elements taken than available\");\n\twhile (n--) {\n\t\tvar x = Math.floor(Math.random() * len);\n\t\tresult[n] = array[x in taken ? taken[x] : x];\n\t\ttaken[x] = --len in taken ? taken[len] : len;\n\t}\n\treturn result;\n};\n\n/**\n * Get an array with shuffle element\n * @param {Array} array\n * @param {Number} n\n * @returns {Array}\n */\n export const getHalfRandom = (array, n) => {\n\tvar n = Math.ceil(array.length / 2);\n\treturn array.getRandom(n);\n};\n\n/**\n * Make array shuffle itself\n * @param {Array} array\n * @returns {Array}\n */\n export const shuffle = (array) => {\n\tvar i = array.length,\n\t\tj,\n\t\ttemp;\n\tif (i == 0) return array;\n\twhile (--i) {\n\t\tj = Math.floor(Math.random() * (i + 1));\n\t\ttemp = array[i];\n\t\tarray[i] = array[j];\n\t\tarray[j] = temp;\n\t}\n\treturn array;\n};\n\n/**\n *\n * @param {Array} array\n * @param {Number} oldIndex\n * @param {Number} newIndex\n * @returns {Array}\n */\n export const moveIndex = (array, oldIndex, newIndex) => {\n\tif (newIndex >= array.length) {\n\t\tvar k = newIndex - array.length + 1;\n\t\twhile (k--) {\n\t\t\tarray.push(undefined);\n\t\t}\n\t}\n\tarray.splice(newIndex, 0, array.splice(oldIndex, 1)[0]);\n\treturn array; \n};\n\n\nexport const moveArray = (array, oldIndex, newIndex) => {\n\twhile (oldIndex < 0) {\n\t\toldIndex += array.length;\n\t}\n\twhile (newIndex < 0) {\n\t\tnewIndex += array.length;\n\t}\n\tif (newIndex >= array.length) {\n\t\tvar k = newIndex - array.length;\n\t\twhile (k-- + 1) {\n\t\t\tarray.push(999);\n\t\t}\n\t}\n\tarray.splice(newIndex, 0, array.splice(oldIndex, 1)[0]);\n\treturn array;\n};\n","const DEG2RAD = Math.PI / 180;\nconst RAD2DEG = 180 / Math.PI;\n\n/**\n *\n * @param {Number} number\n * @return {Number}\n */\nexport const randRound = (number) => {\n\treturn Math.round(Math.random() * number);\n};\n\n/**\n *\n * @param {Number} number\n * @return {Number}\n */\nexport const rand = (number) => {\n\treturn (Math.random() - Math.random()) * number;\n};\n\n/**\n *\n * @param {Number} number\n * @return {Number}\n */\nexport const randHalt = (number) => {\n\tvar rand = Math.random() - Math.random();\n\tvar res;\n\tif (rand > 0) {\n\t\tres = rand * (number / 2) + number / 2;\n\t} else {\n\t\tres = rand * (number / 2) - number / 2;\n\t}\n\treturn Math.abs(res);\n};\n/**\n *\n * @param {Number} low\n * @param {Number} high\n * @return {Number}\n */\nexport const randInt = (low, high) => {\n\treturn low + Math.floor(Math.random() * (high - low + 1));\n};\n\n/**\n *\n * @param {Number} low\n * @param {Number} high\n * @return {Number}\n */\nexport const randFloat = (low, high) => {\n\treturn low + Math.random() * (high - low);\n};\n/**\n *\n * @param {Number} degrees\n * @return {Number}\n */\nexport const degToRad = (degrees) => {\n\treturn degrees * DEG2RAD;\n};\n\n/**\n *\n * @param {Number} degrees\n * @return {Number}\n */\nexport const radToDeg = (radians) => {\n\treturn radians * RAD2DEG;\n};\n\n// const MathExtra = {\n// isRotateLeft(a, b, c) {\n// return (b.x - a.x) * (c.y - a.y) - (b.y - a.y) * (c.x - a.x) > 0;\n// },\n\n// deg_between_points_360(cx, cy, ex, ey) {\n// var theta = this.angleLine(cx, cy, ex, ey); // range (-180, 180]\n// if (theta < 0) theta = 360 + theta; // range [0, 360)\n// return theta;\n// },\n\n// deg_between_points(cx, cy, ex, ey) {\n// var dy = ey - cy;\n// var dx = ex - cx;\n// var theta = Math.atan2(dy, dx); // range (-PI, PI]\n// theta *= 180 / Math.PI; // rads to degs, range (-180, 180]\n// return theta;\n// },\n\n// angle_between_points(cx, cy, ex, ey) {\n// var dy = ey - cy;\n// var dx = ex - cx;\n// var theta = Math.atan2(dy, dx); // range (-PI, PI]\n// // theta *= 180 / Math.PI; // rads to degs, range (-180, 180]\n// return theta;\n// },\n\n// distance2Point(x1, y1, x2, y2) {\n// var dist = Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n// return dist;\n// },\n\n// clamp(value, min, max) {\n// return Math.max(min, Math.min(max, value));\n// },\n\n// // compute euclidian modulo of m % n\n// // https://en.wikipedia.org/wiki/Modulo_operation\n\n// euclideanModulo(n, m) {\n// return ((n % m) + m) % m;\n// },\n\n// // Linear mapping from range <a1, a2> to range <b1, b2>\n\n// mapLinear(x, a1, a2, b1, b2) {\n// return b1 + ((x - a1) * (b2 - b1)) / (a2 - a1);\n// },\n\n// // https://en.wikipedia.org/wiki/Linear_interpolation\n\n// lerp(x, y, t) {\n// return (1 - t) * x + t * y;\n// },\n\n// // http://en.wikipedia.org/wiki/Smoothstep\n\n// smoothstep(x, min, max) {\n// if (x <= min) return 0;\n// if (x >= max) return 1;\n\n// x = (x - min) / (max - min);\n\n// return x * x * (3 - 2 * x);\n// },\n\n// smootherstep(x, min, max) {\n// if (x <= min) return 0;\n// if (x >= max) return 1;\n\n// x = (x - min) / (max - min);\n\n// return x * x * x * (x * (x * 6 - 15) + 10);\n// },\n\n// // Random integer from <low, high> interval\n\n// // Random float from <-range/2, range/2> interval\n\n// randFloatSpread(range) {\n// return range * (0.5 - Math.random());\n// },\n\n// rotationDegToRad(rotation) {\n// return {\n// x: this.degToRad(rotation.x),\n// y: this.degToRad(rotation.y),\n// z: this.degToRad(rotation.z),\n// };\n// },\n\n// radToDeg(radians) {\n// return radians * RAD2DEG;\n// },\n\n// isPowerOfTwo(value) {\n// return (value & (value - 1)) === 0 && value !== 0;\n// },\n\n// nearestPowerOfTwo(value) {\n// return Math.pow(2, Math.round(Math.log(value) / Math.LN2));\n// },\n\n// nextPowerOfTwo(value) {\n// value--;\n// value |= value >> 1;\n// value |= value >> 2;\n// value |= value >> 4;\n// value |= value >> 8;\n// value |= value >> 16;\n// value++;\n\n// return value;\n// },\n\n// circleByPercentRadius(percent, radius) {\n// const theta = ((percent * 360 - 90) * Math.PI) / 180;\n\n// const x = radius * Math.cos(theta);\n// const y = -radius * Math.sin(theta);\n// return { x, y };\n// },\n\n// /**\n// *\n// * @param {Array} array\n// */\n// arrayToVector(array = [0, 0, 0]) {\n// const keys = ['x', 'y', 'z', 'w'];\n// const result = {};\n// array.map((item, index) => {\n// result[keys[index]] = item;\n// });\n// return result;\n// },\n// };\n\n// export default MathExtra;\n","export const isPotrait = (params) => {\n\tif (typeof window == \"undefined\") return false;\n\n\tif (!window.orientation) return window.matchMedia(\"(orientation: portrait)\").matches;\n\treturn !(window.orientation === 90 || window.orientation === -90);\n};\n\nexport const isLandscape = (params) => {\n\treturn !isPotrait();\n};\n\nexport const ua = (params) => {\n\tif (typeof navigator == \"undefined\") return null;\n\tif (typeof window == \"undefined\") return null;\n\n\treturn navigator.userAgent || navigator.vendor || window.opera;\n};\n\nexport const isFacebookWebview = (params) => {\n\tvar ua = ua();\n\tif (ua) return ua.indexOf(\"FBAN\") > -1 || ua.indexOf(\"FBAV\") > -1;\n};\n\nexport const isInAppWebview = (params) => {\n\tconst rules = [\"WebView\", \"(iPhone|iPod|iPad)(?!.*Safari/)\", \"Android.*(wv|.0.0.0)\"];\n\tconst regex = new RegExp(`(${rules.join(\"|\")})`, \"ig\");\n\tif (ua()) return Boolean(ua().match(regex));\n\treturn false;\n};\n","import requestCamera from \"../permission/requestCamera\";\n\n/**\n *\n * @param {{\n * container,\n * facingMode : environment | user,\n * audio : boolean,\n * }} param0\n * @returns\n */\nexport function getWebcam({\n\t//\n\tcontainer,\n\tfacingMode = \"environment\",\n\taudio = false,\n}) {\n\tif (typeof window == \"undefined\") return;\n\tcontainer = container || document.body;\n\n\treturn new Promise(async (resolve, reject) => {\n\t\tconst video = document.createElement(\"video\");\n\t\tvideo.style.position = \"absolute\";\n\t\tvideo.style.top = 0;\n\t\tvideo.style.left = 0;\n\t\tvideo.style.width = \"100%\";\n\t\tvideo.style.height = \"100%\";\n\t\tcontainer.append(video);\n\n\t\tlet inputCameras = [];\n\t\tlet currentCamera;\n\n\t\t/**\n\t\t * @type {MediaStreamConstraints}\n\t\t */\n\t\tconst requestedMediaConstraints = {\n\t\t\tvideo: {\n\t\t\t\tfacingMode: { exact: facingMode },\n\t\t\t},\n\t\t\taudio,\n\t\t};\n\n\t\t/**\n\t\t * @type {MediaStream}\n\t\t */\n\t\tlet stream;\n\t\tlet isAllowed = false;\n\n\t\tconsole.log(\"[Camera.js] Requesting:\", requestedMediaConstraints);\n\t\tconst res = await requestCamera({ audio });\n\t\tif (!res) {\n\t\t\tsetTimeout(function () {\n\t\t\t\thandleError({ name: \"Error\", message: \"NotSupported\" });\n\t\t\t}, 50);\n\t\t}\n\n\t\t// start requesting media permissions:\n\n\t\t// console.log(\"[Camera.js] Requesting:\", requestedMediaConstraints);\n\n\t\t// if (navigator.mediaDevices.enumerateDevices === undefined) {\n\t\t// \tsetTimeout(function () {\n\t\t// \t\thandleError({ name: \"Error\", message: \"NotSupported\" });\n\t\t// \t}, 50);\n\t\t// } else {\n\t\tnavigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);\n\t\t// }\n\n\t\t/**\n\t\t * @param {MediaDeviceInfo[]} devices\n\t\t */\n\t\tfunction parseDevices(devices) {\n\t\t\tinputCameras = [];\n\t\t\tlet backCameras = [];\n\n\t\t\tdevices.forEach(function (device) {\n\t\t\t\tif (device.kind == \"videoinput\" && typeof device.deviceId != \"undefined\" && device.deviceId != \"\") {\n\t\t\t\t\tinputCameras.push(device);\n\t\t\t\t}\n\t\t\t});\n\t\t\t// //alert (JSON.stringify (devices));\n\t\t\tconsole.log(\"[Camera.js] inputCameras:\", inputCameras);\n\n\t\t\tif (inputCameras.length > 0) {\n\t\t\t\tlet cams = \"\";\n\t\t\t\tlet backCamera;\n\n\t\t\t\tinputCameras.map((cam, index) => {\n\t\t\t\t\tcams += `[${cam.deviceId}] ${cam.kind} | ${cam.label}\\n`;\n\t\t\t\t\t// console.log(cam);\n\t\t\t\t\tlet label = cam.label.toLowerCase();\n\t\t\t\t\tif (label.indexOf(\"back\") > -1 || label.indexOf(\"facetime\") > -1) {\n\t\t\t\t\t\tbackCamera = cam;\n\t\t\t\t\t\tbackCameras.push(backCamera);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (backCameras.length > 1) {\n\t\t\t\t\tbackCamera = backCameras[backCameras.length - 1];\n\t\t\t\t}\n\n\t\t\t\tconsole.log(`[Camera.js] All input sources:`, cams);\n\t\t\t\tconsole.log(`[Camera.js] This device has ${backCameras.length} back camera${backCameras.length > 1 ? \"s\" : \"\"}.`);\n\t\t\t\tconsole.log(\"[Camera.js] backCameras:\", JSON.stringify(backCameras));\n\n\t\t\t\tcurrentCamera = backCamera;\n\n\t\t\t\tif (scope.onGotDevices) {\n\t\t\t\t\tscope.onGotDevices(devices);\n\t\t\t\t}\n\n\t\t\t\t// Lấy stream của camera sau\n\t\t\t\t// (Lấy cái cuối cùng trong danh sách trước, thường sẽ là camera chính trên Android)\n\t\t\t\tgetStreamOfCameraId(backCamera.deviceId)\n\t\t\t\t\t.then(onStreamReceived)\n\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\tif (backCameras.length > 1) {\n\t\t\t\t\t\t\t// nếu thiết bị có nhiều hơn 1 camera sau -> thử lấy camera khác\n\t\t\t\t\t\t\tbackCamera = backCameras[backCameras.length - 2];\n\t\t\t\t\t\t\tgetStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);\n\t\t\t\t\t\t} else if (backCameras.length > 2) {\n\t\t\t\t\t\t\t// nếu thiết bị có nhiều hơn 2 camera sau -> thử lấy camera khác nữa\n\t\t\t\t\t\t\tbackCamera = backCameras[backCameras.length - 3];\n\t\t\t\t\t\t\tgetStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// nếu thiết bị đéo có camera sau...\n\t\t\t\t\t\t\thandleError(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnavigator.mediaDevices.getUserMedia(requestedMediaConstraints).then(onStreamReceived).catch(handleError);\n\n\t\t\t\t// if (scope.onGotDevicesFailed) scope.onGotDevicesFailed();\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @param {MediaStream} stream\n\t\t */\n\t\tfunction onStreamReceived(stream) {\n\t\t\tif (inputCameras.length == 0) {\n\t\t\t\tconsole.log(\"[Camera.js] Not found any back cameras, request again?\");\n\t\t\t\tnavigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tisAllowed = true;\n\n\t\t\tplayWebcamVideo(stream);\n\t\t}\n\n\t\t/**\n\t\t * @param {MediaStream} _stream\n\t\t */\n\t\tfunction playWebcamVideo(_stream) {\n\t\t\tstream = _stream;\n\n\t\t\tif (\"srcObject\" in video) {\n\t\t\t\t// //alert ('GOT STREAM VIDEO OBJECT');\n\t\t\t\tvideo.srcObject = _stream;\n\t\t\t} else {\n\t\t\t\t// //alert ('GOT STREAM VIDEO SOURCE URL');\n\t\t\t\t// Avoid using this in new browsers, as it is going away.\n\t\t\t\tvideo.src = window.URL.createObjectURL(_stream);\n\t\t\t}\n\n\t\t\t// required to tell iOS safari we don't want fullscreen\n\t\t\tvideo.setAttribute(\"playsinline\", true);\n\t\t\tvideo.setAttribute(\"muted\", true);\n\t\t\tvideo.setAttribute(\"autoplay\", true);\n\t\t\tvideo.muted = true;\n\t\t\tvideo.autoplay = true;\n\t\t\tvideo.style.objectFit = \"cover\";\n\t\t\tvideo.play();\n\n\t\t\t// auto play\n\t\t\tvideo.addEventListener(\"canplay\", function (e) {\n\t\t\t\t// //alert ('CAN PLAY');\n\t\t\t});\n\n\t\t\tvideo.addEventListener(\"canplaythrough\", function (e) {\n\t\t\t\t// //alert ('CAN PLAY THROUGH');\n\t\t\t});\n\n\t\t\tvideo.addEventListener(\"error\", (e) => console.log(\"[Camera.js] <video> error:\", e));\n\n\t\t\tvideo.addEventListener(\"stalled\", function (e) {\n\t\t\t\t// //alert ('CANNOT GET METADATA');\n\t\t\t\tisAllowed = false;\n\t\t\t\tconsole.log(\"[Camera.js] <video> stalled:\", e);\n\n\t\t\t\treject();\n\t\t\t});\n\n\t\t\tvideo.addEventListener(\"loadedmetadata\", function (e) {\n\t\t\t\tif (currentCamera.label.toLowerCase().indexOf(\"facetime\") > -1) {\n\t\t\t\t\tvideo.style.transform = \"scaleX(-1)\";\n\t\t\t\t\tvideo.style.webkitTransform = \"scaleX(-1)\";\n\t\t\t\t}\n\n\t\t\t\tvideo.play();\n\n\t\t\t\tresolve(video);\n\t\t\t});\n\t\t}\n\n\t\tfunction getStreamOfCameraId(id) {\n\t\t\tconst constraints = {\n\t\t\t\tvideo: { deviceId: { exact: id } },\n\t\t\t\taudio: false,\n\t\t\t};\n\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tnavigator.mediaDevices.getUserMedia(constraints).then(resolve).catch(reject);\n\t\t\t});\n\t\t}\n\n\t\tfunction handleError(err) {\n\t\t\tconsole.error(err);\n\t\t\tconst errMsg = \"[Camera.js] \" + err.name + \": \" + err.message;\n\t\t\tconsole.error(errMsg);\n\n\t\t\tisAllowed = false;\n\n\t\t\treject();\n\t\t}\n\t});\n}\n","export const isNull = (object) => {\n\tif (typeof object == \"undefined\") return true;\n\tif (object == \"\") return true;\n\tif (Array.isArray(object)) return object.length == 0;\n\n\treturn object == null;\n};\n\nexport const toBool = (object) => {\n\tif (isNull(object)) return false;\n\tobject = object.toString();\n\n\treturn object === \"true\" || object == \"1\";\n};\n\nexport const toInt = (object) => {\n\tif (isNull(object)) return 0;\n\tobject = object.toString();\n\n\treturn parseInt(object, 10);\n};\n\nexport const toFloat = (object) => {\n\tif (isNull(object)) return 0;\n\tobject = object.toString();\n\n\treturn parseFloat(object);\n};\n\n/**\n * Convert value in object to array\n * @param {object} obj\n * @returns {Array}\n */\nexport const toArray = (obj) => {\n\tconst array = [];\n\tfor (const key in obj) {\n\t\tarray.push(obj[key]);\n\t}\n\treturn array;\n};\n","// import { log } from \"../../helper/log\";\n// import { startCase, toLower } from \"lodash\";\nimport { isNull } from \"../object\";\n\nexport const textLowCase = \"abcdefghijklmnopqrstuvwxyz\";\nexport const numeric = \"0123456789\";\nexport const punctuation = \"!@#$%^&*()_+~|}{[];?><,./-=\";\nexport const allCharacter = `đĐaáàảãạăắằẳẵặâấầẩẫậeéèẻẽẹêếềểễệoóòỏõọôốồổỗộơớờởỡợiíìỉĩịuúùủũụưứừửữựyýỳỷỹỵAÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬEÉÈẺẼẸÊẾỀỂỄỆOÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢIÍÌỈĨỊUÚÙỦŨỤƯỨỪỬỮỰYÝỲ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\\`abcdefghijklmnopqrstuvwxyz{|}`;\n\n//prettier-ignore\nconst char_map={À:\"A\",Á:\"A\",Â:\"A\",Ã:\"A\",Ä:\"A\",Å:\"A\",Æ:\"AE\",Ç:\"C\",È:\"E\",É:\"E\",Ê:\"E\",Ë:\"E\",Ì:\"I\",Í:\"I\",Î:\"I\",Ï:\"I\",Ð:\"D\",Ñ:\"N\",Ò:\"O\",Ó:\"O\",Ô:\"O\",Õ:\"O\",Ö:\"O\",Ő:\"O\",Ø:\"O\",Ù:\"U\",Ú:\"U\",Û:\"U\",Ü:\"U\",Ű:\"U\",Ý:\"Y\",Þ:\"TH\",ß:\"ss\",à:\"a\",á:\"a\",â:\"a\",ã:\"a\",ä:\"a\",å:\"a\",æ:\"ae\",ç:\"c\",è:\"e\",é:\"e\",ê:\"e\",ë:\"e\",ì:\"i\",í:\"i\",î:\"i\",ï:\"i\",ð:\"d\",ñ:\"n\",ò:\"o\",ó:\"o\",ô:\"o\",õ:\"o\",ö:\"o\",ő:\"o\",ø:\"o\",ù:\"u\",ú:\"u\",û:\"u\",ü:\"u\",ű:\"u\",ý:\"y\",þ:\"th\",ÿ:\"y\",\"©\":\"(c)\",Α:\"A\",Β:\"B\",Γ:\"G\",Δ:\"D\",Ε:\"E\",Ζ:\"Z\",Η:\"H\",Θ:\"8\",Ι:\"I\",Κ:\"K\",Λ:\"L\",Μ:\"M\",Ν:\"N\",Ξ:\"3\",Ο:\"O\",Π:\"P\",Ρ:\"R\",Σ:\"S\",Τ:\"T\",Υ:\"Y\",Φ:\"F\",Χ:\"X\",Ψ:\"PS\",Ω:\"W\",Ά:\"A\",Έ:\"E\",Ί:\"I\",Ό:\"O\",Ύ:\"Y\",Ή:\"H\",Ώ:\"W\",Ϊ:\"I\",Ϋ:\"Y\",α:\"a\",β:\"b\",γ:\"g\",δ:\"d\",ε:\"e\",ζ:\"z\",η:\"h\",θ:\"8\",ι:\"i\",κ:\"k\",λ:\"l\",μ:\"m\",ν:\"n\",ξ:\"3\",ο:\"o\",π:\"p\",ρ:\"r\",σ:\"s\",τ:\"t\",υ:\"y\",φ:\"f\",χ:\"x\",ψ:\"ps\",ω:\"w\",ά:\"a\",έ:\"e\",ί:\"i\",ό:\"o\",ύ:\"y\",ή:\"h\",ώ:\"w\",ς:\"s\",ϊ:\"i\",ΰ:\"y\",ϋ:\"y\",ΐ:\"i\",Ş:\"S\",İ:\"I\",Ç:\"C\",Ü:\"U\",Ö:\"O\",Ğ:\"G\",ş:\"s\",ı:\"i\",ç:\"c\",ü:\"u\",ö:\"o\",ğ:\"g\",А:\"A\",Б:\"B\",В:\"V\",Г:\"G\",Д:\"D\",Е:\"E\",Ё:\"Yo\",Ж:\"Zh\",З:\"Z\",И:\"I\",Й:\"J\",К:\"K\",Л:\"L\",М:\"M\",Н:\"N\",О:\"O\",П:\"P\",Р:\"R\",С:\"S\",Т:\"T\",У:\"U\",Ф:\"F\",Х:\"H\",Ц:\"C\",Ч:\"Ch\",Ш:\"Sh\",Щ:\"Sh\",Ъ:\"\",Ы:\"Y\",Ь:\"\",Э:\"E\",Ю:\"Yu\",Я:\"Ya\",а:\"a\",б:\"b\",в:\"v\",г:\"g\",д:\"d\",е:\"e\",ё:\"yo\",ж:\"zh\",з:\"z\",и:\"i\",й:\"j\",к:\"k\",л:\"l\",м:\"m\",н:\"n\",о:\"o\",п:\"p\",р:\"r\",с:\"s\",т:\"t\",у:\"u\",ф:\"f\",х:\"h\",ц:\"c\",ч:\"ch\",ш:\"sh\",щ:\"sh\",ъ:\"\",ы:\"y\",ь:\"\",э:\"e\",ю:\"yu\",я:\"ya\",Є:\"Ye\",І:\"I\",Ї:\"Yi\",Ґ:\"G\",є:\"ye\",і:\"i\",ї:\"yi\",ґ:\"g\",Č:\"C\",Ď:\"D\",Ě:\"E\",Ň:\"N\",Ř:\"R\",Š:\"S\",Ť:\"T\",Ů:\"U\",Ž:\"Z\",č:\"c\",ď:\"d\",ě:\"e\",ň:\"n\",ř:\"r\",š:\"s\",ť:\"t\",ů:\"u\",ž:\"z\",Ą:\"A\",Ć:\"C\",Ę:\"e\",Ł:\"L\",Ń:\"N\",Ó:\"o\",Ś:\"S\",Ź:\"Z\",Ż:\"Z\",ą:\"a\",ć:\"c\",ę:\"e\",ł:\"l\",ń:\"n\",ó:\"o\",ś:\"s\",ź:\"z\",ż:\"z\",Ā:\"A\",Č:\"C\",Ē:\"E\",Ģ:\"G\",Ī:\"i\",Ķ:\"k\",Ļ:\"L\",Ņ:\"N\",Š:\"S\",Ū:\"u\",Ž:\"Z\",ā:\"a\",č:\"c\",ē:\"e\",ģ:\"g\",ī:\"i\",ķ:\"k\",ļ:\"l\",ņ:\"n\",š:\"s\",ū:\"u\",ž:\"z\",};\n\n//prettier-ignore\nconst _lut = [ '00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0a', '0b', '0c', '0d', '0e', '0f', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2a', '2b', '2c', '2d', '2e', '2f', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3a', '3b', '3c', '3d', '3e', '3f', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4a', '4b', '4c', '4d', '4e', '4f', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5a', '5b', '5c', '5d', '5e', '5f', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6a', '6b', '6c', '6d', '6e', '6f', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7a', '7b', '7c', '7d', '7e', '7f', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '8a', '8b', '8c', '8d', '8e', '8f', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '9a', '9b', '9c', '9d', '9e', '9f', 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf', 'c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf', 'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df', 'e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef', 'f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff' ];\n\n/**\n * allCharacter = `đĐaáàảãạăắằẳẵặâấầẩẫậeéèẻẽẹêếềểễệoóòỏõọôốồổỗộơớờởỡợiíìỉĩịuúùủũụưứừửữựyýỳỷỹỵAÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬEÉÈẺẼẸÊẾỀỂỄỆOÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢIÍÌỈĨỊUÚÙỦŨỤƯỨỪỬỮỰYÝỲ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\\`abcdefghijklmnopqrstuvwxyz{|}`;\n * @param {number} length\n * @returns {string}\n */\nexport const randAllCharacterByLength = (length = 0) => {\n\treturn randomStringByLength(length, allCharacter);\n};\n\n/**\n * @param {number} length\n * @param {textLowCase | numeric | punctuation | allCharacter} str\n * @returns {string}\n */\nexport const randomStringByLength = (length, str = textLowCase) => {\n\tlet result = \"\";\n\n\tfor (let i = 0; i < length; i++) {\n\t\tresult += str.charAt(Math.floor(Math.random() * str.length));\n\t}\n\treturn result;\n};\n\n/**\n * Get string between str1 and str2 from text\n * @param {string} text\n * @param {string} str1\n * @param {string} str2\n * @return {string}\n */\nexport const getBetween = (text, str1, str2 = \"\") => {\n\tif (!text) return \"\";\n\tif (text.indexOf(str1) <= -1) return \"\";\n\n\tconst firstIndex = text.indexOf(str1) + str1.length;\n\tconst secondIndex = str2 ? text.indexOf(str2, firstIndex) : text.length;\n\treturn text.substring(firstIndex, secondIndex);\n};\n\n/**\n * Convert object to string\n * @param {*} object\n * @return {string}\n */\nexport const makeString = (object = \"\") => {\n\t/// Ensure some object is a coerced to a string\n\tif (isNull(object)) return \"\";\n\n\treturn \"\" + object;\n};\n\n/**\n * toUpperCase\n * @param {*} str\n * @return {string}\n */\nexport const toUpperCase = (str = \"\") => {\n\treturn makeString(str).toUpperCase();\n};\n\n/**\n * toLowerCase\n * @param {*} str\n * @return {string}\n */\nexport const toLowerCase = (str = \"\") => {\n\treturn makeString(str).toLowerCase();\n};\n\n/**\n * toLowerCase\n * @param {*} str\n * @return {string}\n */\nexport const titleize = (str = \"\") => {\n\tconst regString = new RegExp(/(?:^|\\s|-)\\S/g);\n\treturn toLowerCase(str).replace(regString, function (c) {\n\t\treturn c.toUpperCase();\n\t});\n};\n\n/**\n * Convert only first charater to UpperCase\n * @param {*} str\n * @return {string}\n */\nexport const capitalize = (str, lowercaseRest = 1) => {\n\tstr = makeString(str);\n\tconst remainingChars = !lowercaseRest ? str.slice(1) : str.slice(1).toLowerCase();\n\n\treturn str.charAt(0).toUpperCase() + remainingChars;\n};\n\n/**\n * Convert first character from every single words to UpperCase\n * @param {*} str\n * @return {string}\n */\nexport const capitalizeName = (str) => {\n\tstr = makeString(str);\n\n\tstr = str.trim();\n\tstr = str.replace(/^\\s+|\\s+$/gm, \"\");\n\n\tstr = str.toLowerCase();\n\n\tconst arr = str.split(\" \");\n\n\tstr = arr\n\t\t.map((item) => {\n\t\t\treturn capitalize(item);\n\t\t})\n\t\t.filter((x) => x)\n\t\t.join(\" \");\n\n\treturn str;\n};\n\n/**\n *\n * @param {string} s - Input string\n * @param {{delimiter,limit,lowercase,replacements,transliterate}} opt - Option\n * @return {string}\n */\nexport const clearUnicodeCharacters = (s, opt = {}) => {\n\ts = makeString(s);\n\n\tvar defaults = {\n\t\tdelimiter: \" \",\n\t\tlimit: undefined,\n\t\tlowercase: true,\n\t\treplacements: {},\n\t\ttransliterate: typeof XRegExp === \"undefined\" ? true : false,\n\t};\n\n\t// Merge options\n\tfor (var k in defaults) {\n\t\tif (!opt.hasOwnProperty(k)) {\n\t\t\topt[k] = defaults[k];\n\t\t}\n\t}\n\n\t// Vietnamese\n\ts = s.replace(/á|à|ả|ạ|ã|ă|ắ|ằ|ẳ|ẵ|ặ|â|ấ|ầ|ẩ|ẫ|ậ/gi, \"a\");\n\ts = s.replace(/é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ/gi, \"e\");\n\ts = s.replace(/i|í|ì|ỉ|ĩ|ị/gi, \"i\");\n\ts = s.replace(/ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ/gi, \"o\");\n\ts = s.replace(/ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự/gi, \"u\");\n\ts = s.replace(/ý|ỳ|ỷ|ỹ|ỵ/gi, \"y\");\n\ts = s.replace(/đ/gi, \"d\");\n\ts = \"@\" + s + \"@\";\n\ts = s.replace(/\\@\\-|\\-\\@|\\@/gi, \"\");\n\n\t// Make custom replacements\n\tfor (var k in opt.replacements) {\n\t\ts = s.replace(RegExp(k, \"g\"), opt.replacements[k]);\n\t}\n\n\t// Transliterate characters to ASCII\n\tif (opt.transliterate) {\n\t\tfor (var k in char_map) {\n\t\t\ts = s.replace(RegExp(k, \"g\"), char_map[k]);\n\t\t}\n\t}\n\n\t// Replace non-alphanumeric characters with our delimiter\n\tvar alnum = typeof XRegExp === \"undefined\" ? RegExp(\"[^a-z0-9]+\", \"ig\") : XRegExp(\"[^\\\\p{L}\\\\p{N}]+\", \"ig\");\n\ts = s.replace(alnum, opt.delimiter);\n\n\t// Remove duplicate delimiters\n\ts = s.replace(RegExp(\"[\" + opt.delimiter + \"]{2,}\", \"g\"), opt.delimiter);\n\n\t// Truncate slug to max. characters\n\ts = s.substring(0, opt.limit);\n\n\t// Remove delimiter from ends\n\ts = s.replace(RegExp(\"(^\" + opt.delimiter + \"|\" + opt.delimiter + \"$)\", \"g\"), \"\");\n\n\treturn opt.lowercase ? s.toLowerCase() : s;\n};\n\nexport function generateUUID() {\n\t// http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136\n\n\tconst d0 = (Math.random() * 0xffffffff) | 0;\n\tconst d1 = (Math.random() * 0xffffffff) | 0;\n\tconst d2 = (Math.random() * 0xffffffff) | 0;\n\tconst d3 = (Math.random() * 0xffffffff) | 0;\n\tconst uuid =\n\t\t_lut[d0 & 0xff] +\n\t\t_lut[(d0 >> 8) & 0xff] +\n\t\t_lut[(d0 >> 16) & 0xff] +\n\t\t_lut[(d0 >> 24) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[d1 & 0xff] +\n\t\t_lut[(d1 >> 8) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[((d1 >> 16) & 0x0f) | 0x40] +\n\t\t_lut[(d1 >> 24) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[(d2 & 0x3f) | 0x80] +\n\t\t_lut[(d2 >> 8) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[(d2 >> 16) & 0xff] +\n\t\t_lut[(d2 >> 24) & 0xff] +\n\t\t_lut[d3 & 0xff] +\n\t\t_lut[(d3 >> 8) & 0xff] +\n\t\t_lut[(d3 >> 16) & 0xff] +\n\t\t_lut[(d3 >> 24) & 0xff];\n\n\t// .toLowerCase() here flattens concatenated strings to save heap memory space.\n\treturn uuid.toLowerCase();\n}\n","import { isNull } from \"../object\";\n\nvar urlRegex = /(https?:\\/\\/[^\\s]+)/g;\n\nexport const getUrlParams = (parameter, staticURL, decode) => {\n\tif (typeof window == \"undefined\") return \"\";\n\n\tstaticURL = staticURL == undefined ? window.location : staticURL;\n\tvar currLocation = staticURL.length ? staticURL : window.location.search;\n\n\tif (currLocation.split(\"?\").length < 2) return \"\";\n\n\tvar parArr = currLocation.split(\"?\")[1].split(\"&\"),\n\t\treturnBool = true;\n\n\tfor (var i = 0; i < parArr.length; i++) {\n\t\tvar parr = parArr[i].split(\"=\");\n\t\tif (parr[0] == parameter) {\n\t\t\treturn decode ? decodeURIComponent(parr[1]) : parr[1];\n\t\t\treturnBool = true;\n\t\t} else {\n\t\t\treturnBool = false;\n\t\t}\n\t}\n\n\tif (!returnBool) return false;\n};\n\n/**\n *\n * @return {boolean}\n */\nexport const isLink = (str) => {\n\treturn urlRegex.test(str);\n};\n\n// /**\n// *\n// * @return {JSX.Element}\n// */\n// export const strToJsxLink = (str, altText) => {\n// \treturn isLink(str) ? <a href={src}>{altText || src}</a> : str;\n// };\n\n/**\n *\n * @param {string} url\n * @return {string}\n */\nexport const getFileNameWithoutExtension = (url) => {\n\turl = decodeURIComponent(url);\n\tif (url) {\n\t\tconst m = url.toString().match(/.*\\/(.+?)\\./);\n\t\tif (m && m.length > 1) {\n\t\t\treturn m[1];\n\t\t}\n\n\t\tif (!isNull(url)) {\n\t\t\treturn url.split(\".\").shift();\n\t\t}\n\t}\n\treturn \"\";\n};\n\n/**\n *\n * @param {string} url\n * @return {string}\n */\nexport const getFileNameWithExtension = (url) => {\n\turl = decodeURIComponent(url);\n\tif (url) {\n\t\tconst m = url.toString().match(/.*\\/(.*)$/);\n\n\t\tif (m && m.length > 1) {\n\t\t\treturn m[1].split(\"/\").pop().split(\"?\")[0];\n\t\t}\n\n\t\tif (!isNull(url)) {\n\t\t\treturn url;\n\t\t}\n\t}\n\treturn \"\";\n};\n\n/**\n *\n * @param {string} url\n * @return {string}\n */\nexport const getFileExtension = (url) => {\n\treturn getFileNameWithExtension(url).split(\".\").pop();\n};\n"],"names":[],"version":3,"file":"module.js.map"}
|
|
1
|
+
{"mappings":"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CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,MAAG,EAAC,KAAK;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,EAAE;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,IAAI;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;IAAC,CAAC,EAAC,GAAG;CAAE,AAAC;AAE3rD,iBAAiB;AACjB,MAAM,0BAAI,GAAG;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI;IAAE,IAAI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","sources":["packages/diginext-utils/index.js","packages/diginext-utils/src/Timer.js","packages/diginext-utils/src/permission/requestCamera.js","packages/diginext-utils/src/permission/requestDeviceOrientationControl.js","packages/diginext-utils/src/device/index.js","packages/diginext-utils/src/array/index.js","packages/diginext-utils/src/math/index.js","packages/diginext-utils/src/device/browser.js","packages/diginext-utils/src/device/camera.js","packages/diginext-utils/src/object/index.js","packages/diginext-utils/src/string/index.js","packages/diginext-utils/src/string/url.js"],"sourcesContent":["export * from \"./src/array\";\nexport * from \"./src/device\";\nexport * from \"./src/device/browser\";\nexport * from \"./src/device/camera\";\nexport * from \"./src/math\";\nexport * from \"./src/object\";\nexport * from \"./src/string\";\nexport * from \"./src/string/url\";\nimport Timer from \"./src/Timer\";\nimport requestCamera from \"./src/permission/requestCamera\";\nimport requestDeviceOrientationControl from \"./src/permission/requestDeviceOrientationControl\";\n\nexport { requestCamera, requestDeviceOrientationControl, Timer };\n","const Timer = {\n\twait: async (ms) => {\n\t\treturn new Promise((resolve) => setTimeout(resolve, ms));\n\t},\n};\n\nexport default Timer;\n","const requestCamera = ({ audio = true, video = true }) => {\n\tif (typeof window == \"undefined\") return false;\n\n\treturn new Promise((resolve, reject) => {\n\t\t// Older browsers might not implement mediaDevices at all, so we set an empty object first\n\t\tif (navigator.mediaDevices === undefined) {\n\t\t\tnavigator.mediaDevices = {};\n\t\t}\n\n\t\t// Some browsers partially implement mediaDevices. We can't just assign an object\n\t\t// with getUserMedia as it would overwrite existing properties.\n\t\t// Here, we will just add the getUserMedia property if it's missing.\n\t\tif (navigator.mediaDevices.getUserMedia === undefined) {\n\t\t\tnavigator.mediaDevices.getUserMedia = function (constraints) {\n\t\t\t\t// First get ahold of the legacy getUserMedia, if present\n\t\t\t\tvar getUserMedia = navigator.webkitGetUserMedia || navigator.mozGetUserMedia;\n\n\t\t\t\t// Some browsers just don't implement it - return a rejected promise with an error\n\t\t\t\t// to keep a consistent interface\n\t\t\t\tif (!getUserMedia) {\n\t\t\t\t\treturn Promise.reject(new Error(\"getUserMedia is not implemented in this browser\"));\n\t\t\t\t}\n\n\t\t\t\t// Otherwise, wrap the call to the old navigator.getUserMedia with a Promise\n\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\tgetUserMedia.call(navigator, constraints, resolve, reject);\n\t\t\t\t});\n\t\t\t};\n\t\t}\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia({ audio, video })\n\t\t\t.then(function (stream) {\n\t\t\t\tresolve(true);\n\t\t\t})\n\t\t\t.catch(function (err) {\n\t\t\t\tconsole.log(err.name + \": \" + err.message);\n\t\t\t\tresolve(false);\n\t\t\t});\n\t});\n};\n\nexport default requestCamera;\n","import { isAndroid } from \"../device\";\n\nconst requestDeviceOrientationControl = () => {\n\tif (typeof window == \"undefined\") return false;\n\treturn new Promise((resolve, reject) => {\n\t\tif (isAndroid()) resolve(true);\n\n\t\tif (typeof DeviceMotionEvent != \"undefined\" && DeviceMotionEvent.requestPermission) {\n\t\t\t// (optional) Do something before API request prompt.\n\t\t\tDeviceOrientationEvent.requestPermission()\n\t\t\t\t.then((response) => {\n\t\t\t\t\t// (optional) Do something after API prompt dismissed.\n\t\t\t\t\tif (response == \"granted\") {\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t// resolve({ status: true })\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(false);\n\t\t\t\t\t\t// resolve({ status: false, reason: \"DeviceMotionEvent is not support\" })\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((response) => {\n\t\t\t\t\tresolve(false);\n\t\t\t\t\t// resolve({ status: false, reason: response })\n\t\t\t\t});\n\t\t} else {\n\t\t\tresolve(false);\n\t\t\t// resolve({ status: false, reason: \"DeviceMotionEvent is not defined\" })\n\t\t}\n\t});\n};\n\nexport default requestDeviceOrientationControl;\n","export const isIos = () => {\n\tconst deviceInfo = checkOS();\n\tif (deviceInfo) return deviceInfo.os.toLowerCase() == \"ios\";\n\tconsole.log(\"Can't check OS\");\n\treturn null;\n};\n\nexport const isAndroid = () => {\n\tconst deviceInfo = checkOS();\n\tif (deviceInfo) return deviceInfo.os.toLowerCase() == \"android\";\n\tconsole.log(\"Can't check OS\");\n\treturn null;\n};\n\nexport const isMobile = () => {\n\tif (typeof navigator == \"undefined\") return null;\n\n\tif (\n\t\tnavigator.userAgent.match(/Android/i) ||\n\t\tnavigator.userAgent.match(/webOS/i) ||\n\t\tnavigator.userAgent.match(/iPhone/i) ||\n\t\tnavigator.userAgent.match(/iPad/i) ||\n\t\tnavigator.userAgent.match(/iPod/i) ||\n\t\tnavigator.userAgent.match(/BlackBerry/i) ||\n\t\tnavigator.userAgent.match(/Windows Phone/i)\n\t) {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/**\n *\n * @returns {{\n * screen,\n * browser,\n * browserVersion,\n * browserMajorVersion,\n * mobile,\n * os,\n * osVersion,\n * cookies,\n * flashVersion,\n * }}\n */\nexport const checkOS = () => {\n\tif (typeof window == \"undefined\") return {};\n\n\tif (typeof window?.deviceInfo == \"undefined\") {\n\t\tvar unknown = \"-\";\n\n\t\t// screen\n\t\tvar screenSize = \"\";\n\t\tif (screen.width) {\n\t\t\tvar width = screen.width ? screen.width : \"\";\n\t\t\tvar height = screen.height ? screen.height : \"\";\n\t\t\tscreenSize += \"\" + width + \" x \" + height;\n\t\t}\n\n\t\t// browser\n\t\tvar nVer = navigator.appVersion;\n\t\tvar nAgt = navigator.userAgent;\n\t\tvar browser = navigator.appName;\n\t\tvar version = \"\" + parseFloat(navigator.appVersion);\n\t\tvar majorVersion = parseInt(navigator.appVersion, 10);\n\t\tvar nameOffset, verOffset, ix;\n\n\t\t// Opera\n\t\tif ((verOffset = nAgt.indexOf(\"Opera\")) != -1) {\n\t\t\tbrowser = \"Opera\";\n\t\t\tversion = nAgt.substring(verOffset + 6);\n\t\t\tif ((verOffset = nAgt.indexOf(\"Version\")) != -1) {\n\t\t\t\tversion = nAgt.substring(verOffset + 8);\n\t\t\t}\n\t\t}\n\t\t// Opera Next\n\t\tif ((verOffset = nAgt.indexOf(\"OPR\")) != -1) {\n\t\t\tbrowser = \"Opera\";\n\t\t\tversion = nAgt.substring(verOffset + 4);\n\t\t}\n\t\t// Edge\n\t\telse if ((verOffset = nAgt.indexOf(\"Edge\")) != -1) {\n\t\t\tbrowser = \"Microsoft Edge\";\n\t\t\tversion = nAgt.substring(verOffset + 5);\n\t\t}\n\t\t// MSIE\n\t\telse if ((verOffset = nAgt.indexOf(\"MSIE\")) != -1) {\n\t\t\tbrowser = \"Microsoft Internet Explorer\";\n\t\t\tversion = nAgt.substring(verOffset + 5);\n\t\t}\n\t\t// Chrome\n\t\telse if ((verOffset = nAgt.indexOf(\"Chrome\")) != -1) {\n\t\t\tbrowser = \"Chrome\";\n\t\t\tversion = nAgt.substring(verOffset + 7);\n\t\t}\n\t\t// Safari\n\t\telse if ((verOffset = nAgt.indexOf(\"Safari\")) != -1) {\n\t\t\tbrowser = \"Safari\";\n\t\t\tversion = nAgt.substring(verOffset + 7);\n\t\t\tif ((verOffset = nAgt.indexOf(\"Version\")) != -1) {\n\t\t\t\tversion = nAgt.substring(verOffset + 8);\n\t\t\t}\n\t\t}\n\t\t// Firefox\n\t\telse if ((verOffset = nAgt.indexOf(\"Firefox\")) != -1) {\n\t\t\tbrowser = \"Firefox\";\n\t\t\tversion = nAgt.substring(verOffset + 8);\n\t\t}\n\t\t// MSIE 11+\n\t\telse if (nAgt.indexOf(\"Trident/\") != -1) {\n\t\t\tbrowser = \"Microsoft Internet Explorer\";\n\t\t\tversion = nAgt.substring(nAgt.indexOf(\"rv:\") + 3);\n\t\t}\n\t\t// Other browsers\n\t\telse if ((nameOffset = nAgt.lastIndexOf(\" \") + 1) < (verOffset = nAgt.lastIndexOf(\"/\"))) {\n\t\t\tbrowser = nAgt.substring(nameOffset, verOffset);\n\t\t\tversion = nAgt.substring(verOffset + 1);\n\t\t\tif (browser.toLowerCase() == browser.toUpperCase()) {\n\t\t\t\tbrowser = navigator.appName;\n\t\t\t}\n\t\t}\n\t\t// trim the version string\n\t\tif ((ix = version.indexOf(\";\")) != -1) version = version.substring(0, ix);\n\t\tif ((ix = version.indexOf(\" \")) != -1) version = version.substring(0, ix);\n\t\tif ((ix = version.indexOf(\")\")) != -1) version = version.substring(0, ix);\n\n\t\tmajorVersion = parseInt(\"\" + version, 10);\n\t\tif (isNaN(majorVersion)) {\n\t\t\tversion = \"\" + parseFloat(navigator.appVersion);\n\t\t\tmajorVersion = parseInt(navigator.appVersion, 10);\n\t\t}\n\n\t\t// mobile version\n\t\tvar mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer);\n\n\t\t// cookie\n\t\tvar cookieEnabled = navigator.cookieEnabled ? true : false;\n\n\t\tif (typeof navigator.cookieEnabled == \"undefined\" && !cookieEnabled) {\n\t\t\tdocument.cookie = \"testcookie\";\n\t\t\tcookieEnabled = document.cookie.indexOf(\"testcookie\") != -1 ? true : false;\n\t\t}\n\n\t\t// system\n\t\tvar os = unknown;\n\t\tvar clientStrings = [\n\t\t\t{ s: \"Windows 10\", r: /(Windows 10.0|Windows NT 10.0)/ },\n\t\t\t{ s: \"Windows 8.1\", r: /(Windows 8.1|Windows NT 6.3)/ },\n\t\t\t{ s: \"Windows 8\", r: /(Windows 8|Windows NT 6.2)/ },\n\t\t\t{ s: \"Windows 7\", r: /(Windows 7|Windows NT 6.1)/ },\n\t\t\t{ s: \"Windows Vista\", r: /Windows NT 6.0/ },\n\t\t\t{ s: \"Windows Server 2003\", r: /Windows NT 5.2/ },\n\t\t\t{ s: \"Windows XP\", r: /(Windows NT 5.1|Windows XP)/ },\n\t\t\t{ s: \"Windows 2000\", r: /(Windows NT 5.0|Windows 2000)/ },\n\t\t\t{ s: \"Windows ME\", r: /(Win 9x 4.90|Windows ME)/ },\n\t\t\t{ s: \"Windows 98\", r: /(Windows 98|Win98)/ },\n\t\t\t{ s: \"Windows 95\", r: /(Windows 95|Win95|Windows_95)/ },\n\t\t\t{ s: \"Windows NT 4.0\", r: /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/ },\n\t\t\t{ s: \"Windows CE\", r: /Windows CE/ },\n\t\t\t{ s: \"Windows 3.11\", r: /Win16/ },\n\t\t\t{ s: \"Android\", r: /Android/ },\n\t\t\t{ s: \"Open BSD\", r: /OpenBSD/ },\n\t\t\t{ s: \"Sun OS\", r: /SunOS/ },\n\t\t\t{ s: \"Linux\", r: /(Linux|X11)/ },\n\t\t\t{ s: \"iOS\", r: /(iPhone|iPad|iPod)/ },\n\t\t\t{ s: \"Mac OS X\", r: /Mac OS X/ },\n\t\t\t{ s: \"Mac OS\", r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/ },\n\t\t\t{ s: \"QNX\", r: /QNX/ },\n\t\t\t{ s: \"UNIX\", r: /UNIX/ },\n\t\t\t{ s: \"BeOS\", r: /BeOS/ },\n\t\t\t{ s: \"OS/2\", r: /OS\\/2/ },\n\t\t\t{ s: \"Search Bot\", r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\\/Teoma|ia_archiver)/ },\n\t\t];\n\t\tfor (var id in clientStrings) {\n\t\t\tvar cs = clientStrings[id];\n\t\t\tif (cs.r.test(nAgt)) {\n\t\t\t\tos = cs.s;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tvar osVersion = unknown;\n\n\t\tif (/Windows/.test(os)) {\n\t\t\tosVersion = /Windows (.*)/.exec(os)[1];\n\t\t\tos = \"Windows\";\n\t\t}\n\n\t\tswitch (os) {\n\t\t\tcase \"Mac OS X\":\n\t\t\t\tosVersion = /Mac OS X (10[\\.\\_\\d]+)/.exec(nAgt)[1];\n\t\t\t\tbreak;\n\n\t\t\tcase \"Android\":\n\t\t\t\tosVersion = /Android ([\\.\\_\\d]+)/.exec(nAgt)[1];\n\t\t\t\tbreak;\n\n\t\t\tcase \"iOS\":\n\t\t\t\tosVersion = /OS (\\d+)_(\\d+)_?(\\d+)?/.exec(nVer);\n\t\t\t\tosVersion = osVersion[1] + \".\" + osVersion[2] + \".\" + (osVersion[3] | 0);\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// flash (you'll need to include swfobject)\n\t\t/* script src=\"//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js\" */\n\t\tvar flashVersion = \"no check\";\n\t\tif (typeof swfobject != \"undefined\") {\n\t\t\tvar fv = swfobject.getFlashPlayerVersion();\n\t\t\tif (fv.major > 0) {\n\t\t\t\tflashVersion = fv.major + \".\" + fv.minor + \" r\" + fv.release;\n\t\t\t} else {\n\t\t\t\tflashVersion = unknown;\n\t\t\t}\n\t\t}\n\n\t\tconst deviceInfo = {\n\t\t\tscreen: screenSize,\n\t\t\tbrowser: browser,\n\t\t\tbrowserVersion: version,\n\t\t\tbrowserMajorVersion: majorVersion,\n\t\t\tmobile: mobile,\n\t\t\tos: os,\n\t\t\tosVersion: osVersion,\n\t\t\tcookies: cookieEnabled,\n\t\t\tflashVersion: flashVersion,\n\t\t};\n\n\t\twindow.deviceInfo = deviceInfo;\n\t}\n\n\treturn window.deviceInfo;\n};\n","import { randInt } from \"../math\";\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n*/\nexport const sumArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n if (key) return array.reduce((c, v) => c + v[key], 0);\n else return array.reduce((c, v) => c + v, 0);\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n */\nexport const averageArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n return this.sum(array, key) / array.length || 0;\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n */\nexport const minArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n if (array.length > 0) {\n if (key) return array.reduce((c, v) => (c < v[key] ? c : v[key]));\n else return array.reduce((c, v) => (c < v ? c : v));\n }\n return 0;\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Number}\n */\nexport const maxArray = (array, key) => {\n if (!array) {\n console.warn(\"ARRAY NOT EXITED !\");\n return 0;\n }\n if (array.length > 0) {\n if (key) return array.reduce((c, v) => (c > v[key] ? c : v[key]));\n else return array.reduce((c, v) => (c > v ? c : v));\n }\n return 0;\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Array}\n */\nexport const sortElementByString = (array, key) => {\n if (!Array.isArray(array)) return [];\n if (key)\n return array.sort((x, y) => {\n var a = x[key].toUpperCase(),\n b = y[key].toUpperCase();\n return a == b ? 0 : a > b ? 1 : -1;\n });\n console.log(\"NO KEY\");\n};\n\n/**\n *\n * @param {Array} array\n * @param {string} key\n * @returns {Array}\n */\nexport const sortElementByNumber = (array, key) => {\n if (!Array.isArray(array)) return [];\n if (key)\n return array.sort((a, b) => {\n return a[key] - b[key];\n });\n console.log(\"NO KEY\");\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const firstElement = (array) => {\n if (array) if (array.length || array.length > 0) return array[0];\n return null;\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const lastElement = (array) => {\n if (array) if (array.length || array.length > 0) return array[array.length - 1];\n return null;\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const randomIndex = (array) => {\n if (array) return randInt(0, array.length - 1);\n return -1;\n};\n\n/**\n *\n * @param {Array} array\n * @returns {any}\n */\nexport const randomElement = (array) => {\n if (array) return array[randomIndex(array)];\n return null;\n};\n\n/**\n * Remove same elements from 2 arrays\n * @param {Array} list1\n * @param {Array} list2\n * @param {string} key\n * @returns {Array}\n */\nexport const mergeAndMakeUniqueElement = (list1, list2, key) => {\n if (!list1 || !list2) return;\n\n if (key) {\n return list1\n .concat(list2)\n .filter((item, index, self) => {\n return self.findIndex(x => x[key] == item[key]) === index\n })\n }\n else {\n return list1.concat(list2)\n .filter((x, index, self) => {\n return self.indexOf(x) === index\n })\n }\n\n};\n\n/**\n * check target == toMatch\n * @param {Array} target\n * @param {Array} toMatch\n * @returns {Boolean}\n */\nexport const allMatchInArray = (target, toMatch) => {\n if (!target || !toMatch) return false;\n const found = toMatch.every((item) => {\n return target.includes(item);\n });\n return found;\n};\n\n\n\n/**\n *\n * @param {any} item\n * @param {Array} array\n * @returns {Array}\n */\nexport const removeItem = (item, array) => {\n const index = array.indexOf(item);\n if (index == -1) {\n console.warn(\"[ArrayExtra.removeItem] Item not found.\");\n return array;\n }\n array.splice(index, 1);\n return array;\n};\n\n/**\n *\n * @param {string} key\n * @param {any} value\n * @param {Array} array\n * @returns {Array}\n */\nexport const removeItemByKey = (key, value, array) => {\n const foundIndex = array.findIndex((item) => {\n return item[key] == value;\n });\n\n\tif (foundIndex < 0) {\n\t\tconsole.warn(\"[ArrayExtra.removeItemByKey] Item not found.\", key, value);\n\t\treturn array;\n\t}\n\tarray.splice(foundIndex, 1);\n\treturn array;\n};\n\n/**\n * Get an array with shuffle element\n * @param {Array} array\n * @param {Number} n\n * @returns {Array}\n */\n export const getRandom = (array, n) => {\n\tvar result = new Array(n),\n\t\tlen = array.length,\n\t\ttaken = new Array(len);\n\tif (n > len) throw new RangeError(\"getRandom: more elements taken than available\");\n\twhile (n--) {\n\t\tvar x = Math.floor(Math.random() * len);\n\t\tresult[n] = array[x in taken ? taken[x] : x];\n\t\ttaken[x] = --len in taken ? taken[len] : len;\n\t}\n\treturn result;\n};\n\n/**\n * Get an array with shuffle element\n * @param {Array} array\n * @param {Number} n\n * @returns {Array}\n */\n export const getHalfRandom = (array, n) => {\n\tvar n = Math.ceil(array.length / 2);\n\treturn array.getRandom(n);\n};\n\n/**\n * Make array shuffle itself\n * @param {Array} array\n * @returns {Array}\n */\n export const shuffle = (array) => {\n\tvar i = array.length,\n\t\tj,\n\t\ttemp;\n\tif (i == 0) return array;\n\twhile (--i) {\n\t\tj = Math.floor(Math.random() * (i + 1));\n\t\ttemp = array[i];\n\t\tarray[i] = array[j];\n\t\tarray[j] = temp;\n\t}\n\treturn array;\n};\n\n/**\n *\n * @param {Array} array\n * @param {Number} oldIndex\n * @param {Number} newIndex\n * @returns {Array}\n */\n export const moveIndex = (array, oldIndex, newIndex) => {\n\tif (newIndex >= array.length) {\n\t\tvar k = newIndex - array.length + 1;\n\t\twhile (k--) {\n\t\t\tarray.push(undefined);\n\t\t}\n\t}\n\tarray.splice(newIndex, 0, array.splice(oldIndex, 1)[0]);\n\treturn array; \n};\n\n\nexport const moveArray = (array, oldIndex, newIndex) => {\n\twhile (oldIndex < 0) {\n\t\toldIndex += array.length;\n\t}\n\twhile (newIndex < 0) {\n\t\tnewIndex += array.length;\n\t}\n\tif (newIndex >= array.length) {\n\t\tvar k = newIndex - array.length;\n\t\twhile (k-- + 1) {\n\t\t\tarray.push(999);\n\t\t}\n\t}\n\tarray.splice(newIndex, 0, array.splice(oldIndex, 1)[0]);\n\treturn array;\n};\n","const DEG2RAD = Math.PI / 180;\nconst RAD2DEG = 180 / Math.PI;\n\n/**\n *\n * @param {Number} number\n * @return {Number}\n */\nexport const randRound = (number) => {\n\treturn Math.round(Math.random() * number);\n};\n\n/**\n *\n * @param {Number} number\n * @return {Number}\n */\nexport const rand = (number) => {\n\treturn (Math.random() - Math.random()) * number;\n};\n\n/**\n *\n * @param {Number} number\n * @return {Number}\n */\nexport const randHalt = (number) => {\n\tvar rand = Math.random() - Math.random();\n\tvar res;\n\tif (rand > 0) {\n\t\tres = rand * (number / 2) + number / 2;\n\t} else {\n\t\tres = rand * (number / 2) - number / 2;\n\t}\n\treturn Math.abs(res);\n};\n/**\n *\n * @param {Number} low\n * @param {Number} high\n * @return {Number}\n */\nexport const randInt = (low, high) => {\n\treturn low + Math.floor(Math.random() * (high - low + 1));\n};\n\n/**\n *\n * @param {Number} low\n * @param {Number} high\n * @return {Number}\n */\nexport const randFloat = (low, high) => {\n\treturn low + Math.random() * (high - low);\n};\n/**\n *\n * @param {Number} degrees\n * @return {Number}\n */\nexport const degToRad = (degrees) => {\n\treturn degrees * DEG2RAD;\n};\n\n/**\n *\n * @param {Number} degrees\n * @return {Number}\n */\nexport const radToDeg = (radians) => {\n\treturn radians * RAD2DEG;\n};\n\n// const MathExtra = {\n// isRotateLeft(a, b, c) {\n// return (b.x - a.x) * (c.y - a.y) - (b.y - a.y) * (c.x - a.x) > 0;\n// },\n\n// deg_between_points_360(cx, cy, ex, ey) {\n// var theta = this.angleLine(cx, cy, ex, ey); // range (-180, 180]\n// if (theta < 0) theta = 360 + theta; // range [0, 360)\n// return theta;\n// },\n\n// deg_between_points(cx, cy, ex, ey) {\n// var dy = ey - cy;\n// var dx = ex - cx;\n// var theta = Math.atan2(dy, dx); // range (-PI, PI]\n// theta *= 180 / Math.PI; // rads to degs, range (-180, 180]\n// return theta;\n// },\n\n// angle_between_points(cx, cy, ex, ey) {\n// var dy = ey - cy;\n// var dx = ex - cx;\n// var theta = Math.atan2(dy, dx); // range (-PI, PI]\n// // theta *= 180 / Math.PI; // rads to degs, range (-180, 180]\n// return theta;\n// },\n\n// distance2Point(x1, y1, x2, y2) {\n// var dist = Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n// return dist;\n// },\n\n// clamp(value, min, max) {\n// return Math.max(min, Math.min(max, value));\n// },\n\n// // compute euclidian modulo of m % n\n// // https://en.wikipedia.org/wiki/Modulo_operation\n\n// euclideanModulo(n, m) {\n// return ((n % m) + m) % m;\n// },\n\n// // Linear mapping from range <a1, a2> to range <b1, b2>\n\n// mapLinear(x, a1, a2, b1, b2) {\n// return b1 + ((x - a1) * (b2 - b1)) / (a2 - a1);\n// },\n\n// // https://en.wikipedia.org/wiki/Linear_interpolation\n\n// lerp(x, y, t) {\n// return (1 - t) * x + t * y;\n// },\n\n// // http://en.wikipedia.org/wiki/Smoothstep\n\n// smoothstep(x, min, max) {\n// if (x <= min) return 0;\n// if (x >= max) return 1;\n\n// x = (x - min) / (max - min);\n\n// return x * x * (3 - 2 * x);\n// },\n\n// smootherstep(x, min, max) {\n// if (x <= min) return 0;\n// if (x >= max) return 1;\n\n// x = (x - min) / (max - min);\n\n// return x * x * x * (x * (x * 6 - 15) + 10);\n// },\n\n// // Random integer from <low, high> interval\n\n// // Random float from <-range/2, range/2> interval\n\n// randFloatSpread(range) {\n// return range * (0.5 - Math.random());\n// },\n\n// rotationDegToRad(rotation) {\n// return {\n// x: this.degToRad(rotation.x),\n// y: this.degToRad(rotation.y),\n// z: this.degToRad(rotation.z),\n// };\n// },\n\n// radToDeg(radians) {\n// return radians * RAD2DEG;\n// },\n\n// isPowerOfTwo(value) {\n// return (value & (value - 1)) === 0 && value !== 0;\n// },\n\n// nearestPowerOfTwo(value) {\n// return Math.pow(2, Math.round(Math.log(value) / Math.LN2));\n// },\n\n// nextPowerOfTwo(value) {\n// value--;\n// value |= value >> 1;\n// value |= value >> 2;\n// value |= value >> 4;\n// value |= value >> 8;\n// value |= value >> 16;\n// value++;\n\n// return value;\n// },\n\n// circleByPercentRadius(percent, radius) {\n// const theta = ((percent * 360 - 90) * Math.PI) / 180;\n\n// const x = radius * Math.cos(theta);\n// const y = -radius * Math.sin(theta);\n// return { x, y };\n// },\n\n// /**\n// *\n// * @param {Array} array\n// */\n// arrayToVector(array = [0, 0, 0]) {\n// const keys = ['x', 'y', 'z', 'w'];\n// const result = {};\n// array.map((item, index) => {\n// result[keys[index]] = item;\n// });\n// return result;\n// },\n// };\n\n// export default MathExtra;\n","export const isPotrait = (params) => {\n\tif (typeof window == \"undefined\") return false;\n\n\tif (!window.orientation) return window.matchMedia(\"(orientation: portrait)\").matches;\n\treturn !(window.orientation === 90 || window.orientation === -90);\n};\n\nexport const isLandscape = (params) => {\n\treturn !isPotrait();\n};\n\nexport const ua = (params) => {\n\tif (typeof navigator == \"undefined\") return null;\n\tif (typeof window == \"undefined\") return null;\n\n\treturn navigator.userAgent || navigator.vendor || window.opera;\n};\n\nexport const isFacebookWebview = (params) => {\n\tvar ua = ua();\n\tif (ua) return ua.indexOf(\"FBAN\") > -1 || ua.indexOf(\"FBAV\") > -1;\n};\n\nexport const isInAppWebview = (params) => {\n\tconst rules = [\"WebView\", \"(iPhone|iPod|iPad)(?!.*Safari/)\", \"Android.*(wv|.0.0.0)\"];\n\tconst regex = new RegExp(`(${rules.join(\"|\")})`, \"ig\");\n\tif (ua()) return Boolean(ua().match(regex));\n\treturn false;\n};\n","import requestCamera from \"../permission/requestCamera\";\n\n/**\n *\n * @param {{\n * container,\n * facingMode : environment | user,\n * audio : boolean,\n * }} param0\n * @returns\n */\nexport function getWebcam({\n\t//\n\tcontainer,\n\tfacingMode = \"environment\",\n\taudio = false,\n}) {\n\tif (typeof window == \"undefined\") return;\n\tcontainer = container || document.body;\n\n\treturn new Promise(async (resolve, reject) => {\n\t\tconst video = document.createElement(\"video\");\n\t\tvideo.style.position = \"absolute\";\n\t\tvideo.style.top = 0;\n\t\tvideo.style.left = 0;\n\t\tvideo.style.width = \"100%\";\n\t\tvideo.style.height = \"100%\";\n\t\tcontainer.append(video);\n\n\t\tlet inputCameras = [];\n\t\tlet currentCamera;\n\n\t\t/**\n\t\t * @type {MediaStreamConstraints}\n\t\t */\n\t\tconst requestedMediaConstraints = {\n\t\t\tvideo: {\n\t\t\t\tfacingMode: { exact: facingMode },\n\t\t\t},\n\t\t\taudio,\n\t\t};\n\n\t\t/**\n\t\t * @type {MediaStream}\n\t\t */\n\t\tlet stream;\n\t\tlet isAllowed = false;\n\n\t\tconsole.log(\"[Camera.js] Requesting:\", requestedMediaConstraints);\n\t\tconst res = await requestCamera({ audio });\n\t\tif (!res) {\n\t\t\tsetTimeout(function () {\n\t\t\t\thandleError({ name: \"Error\", message: \"NotSupported\" });\n\t\t\t}, 50);\n\t\t}\n\n\t\t// start requesting media permissions:\n\n\t\t// console.log(\"[Camera.js] Requesting:\", requestedMediaConstraints);\n\n\t\t// if (navigator.mediaDevices.enumerateDevices === undefined) {\n\t\t// \tsetTimeout(function () {\n\t\t// \t\thandleError({ name: \"Error\", message: \"NotSupported\" });\n\t\t// \t}, 50);\n\t\t// } else {\n\t\tnavigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);\n\t\t// }\n\n\t\t/**\n\t\t * @param {MediaDeviceInfo[]} devices\n\t\t */\n\t\tfunction parseDevices(devices) {\n\t\t\tinputCameras = [];\n\t\t\tlet backCameras = [];\n\n\t\t\tdevices.forEach(function (device) {\n\t\t\t\tif (device.kind == \"videoinput\" && typeof device.deviceId != \"undefined\" && device.deviceId != \"\") {\n\t\t\t\t\tinputCameras.push(device);\n\t\t\t\t}\n\t\t\t});\n\t\t\t// //alert (JSON.stringify (devices));\n\t\t\tconsole.log(\"[Camera.js] inputCameras:\", inputCameras);\n\n\t\t\tif (inputCameras.length > 0) {\n\t\t\t\tlet cams = \"\";\n\t\t\t\tlet backCamera;\n\n\t\t\t\tinputCameras.map((cam, index) => {\n\t\t\t\t\tcams += `[${cam.deviceId}] ${cam.kind} | ${cam.label}\\n`;\n\t\t\t\t\t// console.log(cam);\n\t\t\t\t\tlet label = cam.label.toLowerCase();\n\t\t\t\t\tif (label.indexOf(\"back\") > -1 || label.indexOf(\"facetime\") > -1) {\n\t\t\t\t\t\tbackCamera = cam;\n\t\t\t\t\t\tbackCameras.push(backCamera);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (backCameras.length > 1) {\n\t\t\t\t\tbackCamera = backCameras[backCameras.length - 1];\n\t\t\t\t}\n\n\t\t\t\tconsole.log(`[Camera.js] All input sources:`, cams);\n\t\t\t\tconsole.log(`[Camera.js] This device has ${backCameras.length} back camera${backCameras.length > 1 ? \"s\" : \"\"}.`);\n\t\t\t\tconsole.log(\"[Camera.js] backCameras:\", JSON.stringify(backCameras));\n\n\t\t\t\tcurrentCamera = backCamera;\n\n\t\t\t\tif (scope.onGotDevices) {\n\t\t\t\t\tscope.onGotDevices(devices);\n\t\t\t\t}\n\n\t\t\t\t// Lấy stream của camera sau\n\t\t\t\t// (Lấy cái cuối cùng trong danh sách trước, thường sẽ là camera chính trên Android)\n\t\t\t\tgetStreamOfCameraId(backCamera.deviceId)\n\t\t\t\t\t.then(onStreamReceived)\n\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\tif (backCameras.length > 1) {\n\t\t\t\t\t\t\t// nếu thiết bị có nhiều hơn 1 camera sau -> thử lấy camera khác\n\t\t\t\t\t\t\tbackCamera = backCameras[backCameras.length - 2];\n\t\t\t\t\t\t\tgetStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);\n\t\t\t\t\t\t} else if (backCameras.length > 2) {\n\t\t\t\t\t\t\t// nếu thiết bị có nhiều hơn 2 camera sau -> thử lấy camera khác nữa\n\t\t\t\t\t\t\tbackCamera = backCameras[backCameras.length - 3];\n\t\t\t\t\t\t\tgetStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// nếu thiết bị đéo có camera sau...\n\t\t\t\t\t\t\thandleError(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnavigator.mediaDevices.getUserMedia(requestedMediaConstraints).then(onStreamReceived).catch(handleError);\n\n\t\t\t\t// if (scope.onGotDevicesFailed) scope.onGotDevicesFailed();\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * @param {MediaStream} stream\n\t\t */\n\t\tfunction onStreamReceived(stream) {\n\t\t\tif (inputCameras.length == 0) {\n\t\t\t\tconsole.log(\"[Camera.js] Not found any back cameras, request again?\");\n\t\t\t\tnavigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tisAllowed = true;\n\n\t\t\tplayWebcamVideo(stream);\n\t\t}\n\n\t\t/**\n\t\t * @param {MediaStream} _stream\n\t\t */\n\t\tfunction playWebcamVideo(_stream) {\n\t\t\tstream = _stream;\n\n\t\t\tif (\"srcObject\" in video) {\n\t\t\t\t// //alert ('GOT STREAM VIDEO OBJECT');\n\t\t\t\tvideo.srcObject = _stream;\n\t\t\t} else {\n\t\t\t\t// //alert ('GOT STREAM VIDEO SOURCE URL');\n\t\t\t\t// Avoid using this in new browsers, as it is going away.\n\t\t\t\tvideo.src = window.URL.createObjectURL(_stream);\n\t\t\t}\n\n\t\t\t// required to tell iOS safari we don't want fullscreen\n\t\t\tvideo.setAttribute(\"playsinline\", true);\n\t\t\tvideo.setAttribute(\"muted\", true);\n\t\t\tvideo.setAttribute(\"autoplay\", true);\n\t\t\tvideo.muted = true;\n\t\t\tvideo.autoplay = true;\n\t\t\tvideo.style.objectFit = \"cover\";\n\t\t\tvideo.play();\n\n\t\t\t// auto play\n\t\t\tvideo.addEventListener(\"canplay\", function (e) {\n\t\t\t\t// //alert ('CAN PLAY');\n\t\t\t});\n\n\t\t\tvideo.addEventListener(\"canplaythrough\", function (e) {\n\t\t\t\t// //alert ('CAN PLAY THROUGH');\n\t\t\t});\n\n\t\t\tvideo.addEventListener(\"error\", (e) => console.log(\"[Camera.js] <video> error:\", e));\n\n\t\t\tvideo.addEventListener(\"stalled\", function (e) {\n\t\t\t\t// //alert ('CANNOT GET METADATA');\n\t\t\t\tisAllowed = false;\n\t\t\t\tconsole.log(\"[Camera.js] <video> stalled:\", e);\n\n\t\t\t\treject();\n\t\t\t});\n\n\t\t\tvideo.addEventListener(\"loadedmetadata\", function (e) {\n\t\t\t\tif (currentCamera.label.toLowerCase().indexOf(\"facetime\") > -1) {\n\t\t\t\t\tvideo.style.transform = \"scaleX(-1)\";\n\t\t\t\t\tvideo.style.webkitTransform = \"scaleX(-1)\";\n\t\t\t\t}\n\n\t\t\t\tvideo.play();\n\n\t\t\t\tresolve(video);\n\t\t\t});\n\t\t}\n\n\t\tfunction getStreamOfCameraId(id) {\n\t\t\tconst constraints = {\n\t\t\t\tvideo: { deviceId: { exact: id } },\n\t\t\t\taudio: false,\n\t\t\t};\n\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tnavigator.mediaDevices.getUserMedia(constraints).then(resolve).catch(reject);\n\t\t\t});\n\t\t}\n\n\t\tfunction handleError(err) {\n\t\t\tconsole.error(err);\n\t\t\tconst errMsg = \"[Camera.js] \" + err.name + \": \" + err.message;\n\t\t\tconsole.error(errMsg);\n\n\t\t\tisAllowed = false;\n\n\t\t\treject();\n\t\t}\n\t});\n}\n","export const isNull = (object) => {\n\tif (typeof object == \"undefined\") return true;\n\tif (object == \"\") return true;\n\tif (Array.isArray(object)) return object.length == 0;\n\n\treturn object == null;\n};\n\nexport const toBool = (object) => {\n\tif (isNull(object)) return false;\n\tobject = object.toString();\n\n\treturn object === \"true\" || object == \"1\";\n};\n\nexport const toInt = (object) => {\n\tif (isNull(object)) return 0;\n\tobject = object.toString();\n\n\treturn parseInt(object, 10);\n};\n\nexport const toFloat = (object) => {\n\tif (isNull(object)) return 0;\n\tobject = object.toString();\n\n\treturn parseFloat(object);\n};\n\n/**\n * Convert value in object to array\n * @param {object} obj\n * @returns {Array}\n */\nexport const toArray = (obj) => {\n\tconst array = [];\n\tfor (const key in obj) {\n\t\tarray.push(obj[key]);\n\t}\n\treturn array;\n};\n","// import { log } from \"../../helper/log\";\n// import { startCase, toLower } from \"lodash\";\nimport { isNull } from \"../object\";\n\nexport const textLowCase = \"abcdefghijklmnopqrstuvwxyz\";\nexport const numeric = \"0123456789\";\nexport const punctuation = \"!@#$%^&*()_+~|}{[];?><,./-=\";\nexport const allCharacter = `đĐaáàảãạăắằẳẵặâấầẩẫậeéèẻẽẹêếềểễệoóòỏõọôốồổỗộơớờởỡợiíìỉĩịuúùủũụưứừửữựyýỳỷỹỵAÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬEÉÈẺẼẸÊẾỀỂỄỆOÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢIÍÌỈĨỊUÚÙỦŨỤƯỨỪỬỮỰYÝỲ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\\`abcdefghijklmnopqrstuvwxyz{|}`;\n\n//prettier-ignore\nconst char_map={À:\"A\",Á:\"A\",Â:\"A\",Ã:\"A\",Ä:\"A\",Å:\"A\",Æ:\"AE\",Ç:\"C\",È:\"E\",É:\"E\",Ê:\"E\",Ë:\"E\",Ì:\"I\",Í:\"I\",Î:\"I\",Ï:\"I\",Ð:\"D\",Ñ:\"N\",Ò:\"O\",Ó:\"O\",Ô:\"O\",Õ:\"O\",Ö:\"O\",Ő:\"O\",Ø:\"O\",Ù:\"U\",Ú:\"U\",Û:\"U\",Ü:\"U\",Ű:\"U\",Ý:\"Y\",Þ:\"TH\",ß:\"ss\",à:\"a\",á:\"a\",â:\"a\",ã:\"a\",ä:\"a\",å:\"a\",æ:\"ae\",ç:\"c\",è:\"e\",é:\"e\",ê:\"e\",ë:\"e\",ì:\"i\",í:\"i\",î:\"i\",ï:\"i\",ð:\"d\",ñ:\"n\",ò:\"o\",ó:\"o\",ô:\"o\",õ:\"o\",ö:\"o\",ő:\"o\",ø:\"o\",ù:\"u\",ú:\"u\",û:\"u\",ü:\"u\",ű:\"u\",ý:\"y\",þ:\"th\",ÿ:\"y\",\"©\":\"(c)\",Α:\"A\",Β:\"B\",Γ:\"G\",Δ:\"D\",Ε:\"E\",Ζ:\"Z\",Η:\"H\",Θ:\"8\",Ι:\"I\",Κ:\"K\",Λ:\"L\",Μ:\"M\",Ν:\"N\",Ξ:\"3\",Ο:\"O\",Π:\"P\",Ρ:\"R\",Σ:\"S\",Τ:\"T\",Υ:\"Y\",Φ:\"F\",Χ:\"X\",Ψ:\"PS\",Ω:\"W\",Ά:\"A\",Έ:\"E\",Ί:\"I\",Ό:\"O\",Ύ:\"Y\",Ή:\"H\",Ώ:\"W\",Ϊ:\"I\",Ϋ:\"Y\",α:\"a\",β:\"b\",γ:\"g\",δ:\"d\",ε:\"e\",ζ:\"z\",η:\"h\",θ:\"8\",ι:\"i\",κ:\"k\",λ:\"l\",μ:\"m\",ν:\"n\",ξ:\"3\",ο:\"o\",π:\"p\",ρ:\"r\",σ:\"s\",τ:\"t\",υ:\"y\",φ:\"f\",χ:\"x\",ψ:\"ps\",ω:\"w\",ά:\"a\",έ:\"e\",ί:\"i\",ό:\"o\",ύ:\"y\",ή:\"h\",ώ:\"w\",ς:\"s\",ϊ:\"i\",ΰ:\"y\",ϋ:\"y\",ΐ:\"i\",Ş:\"S\",İ:\"I\",Ç:\"C\",Ü:\"U\",Ö:\"O\",Ğ:\"G\",ş:\"s\",ı:\"i\",ç:\"c\",ü:\"u\",ö:\"o\",ğ:\"g\",А:\"A\",Б:\"B\",В:\"V\",Г:\"G\",Д:\"D\",Е:\"E\",Ё:\"Yo\",Ж:\"Zh\",З:\"Z\",И:\"I\",Й:\"J\",К:\"K\",Л:\"L\",М:\"M\",Н:\"N\",О:\"O\",П:\"P\",Р:\"R\",С:\"S\",Т:\"T\",У:\"U\",Ф:\"F\",Х:\"H\",Ц:\"C\",Ч:\"Ch\",Ш:\"Sh\",Щ:\"Sh\",Ъ:\"\",Ы:\"Y\",Ь:\"\",Э:\"E\",Ю:\"Yu\",Я:\"Ya\",а:\"a\",б:\"b\",в:\"v\",г:\"g\",д:\"d\",е:\"e\",ё:\"yo\",ж:\"zh\",з:\"z\",и:\"i\",й:\"j\",к:\"k\",л:\"l\",м:\"m\",н:\"n\",о:\"o\",п:\"p\",р:\"r\",с:\"s\",т:\"t\",у:\"u\",ф:\"f\",х:\"h\",ц:\"c\",ч:\"ch\",ш:\"sh\",щ:\"sh\",ъ:\"\",ы:\"y\",ь:\"\",э:\"e\",ю:\"yu\",я:\"ya\",Є:\"Ye\",І:\"I\",Ї:\"Yi\",Ґ:\"G\",є:\"ye\",і:\"i\",ї:\"yi\",ґ:\"g\",Č:\"C\",Ď:\"D\",Ě:\"E\",Ň:\"N\",Ř:\"R\",Š:\"S\",Ť:\"T\",Ů:\"U\",Ž:\"Z\",č:\"c\",ď:\"d\",ě:\"e\",ň:\"n\",ř:\"r\",š:\"s\",ť:\"t\",ů:\"u\",ž:\"z\",Ą:\"A\",Ć:\"C\",Ę:\"e\",Ł:\"L\",Ń:\"N\",Ó:\"o\",Ś:\"S\",Ź:\"Z\",Ż:\"Z\",ą:\"a\",ć:\"c\",ę:\"e\",ł:\"l\",ń:\"n\",ó:\"o\",ś:\"s\",ź:\"z\",ż:\"z\",Ā:\"A\",Č:\"C\",Ē:\"E\",Ģ:\"G\",Ī:\"i\",Ķ:\"k\",Ļ:\"L\",Ņ:\"N\",Š:\"S\",Ū:\"u\",Ž:\"Z\",ā:\"a\",č:\"c\",ē:\"e\",ģ:\"g\",ī:\"i\",ķ:\"k\",ļ:\"l\",ņ:\"n\",š:\"s\",ū:\"u\",ž:\"z\",};\n\n//prettier-ignore\nconst _lut = [ '00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0a', '0b', '0c', '0d', '0e', '0f', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2a', '2b', '2c', '2d', '2e', '2f', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3a', '3b', '3c', '3d', '3e', '3f', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4a', '4b', '4c', '4d', '4e', '4f', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5a', '5b', '5c', '5d', '5e', '5f', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6a', '6b', '6c', '6d', '6e', '6f', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7a', '7b', '7c', '7d', '7e', '7f', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '8a', '8b', '8c', '8d', '8e', '8f', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '9a', '9b', '9c', '9d', '9e', '9f', 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf', 'c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf', 'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df', 'e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef', 'f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff' ];\n\n/**\n * allCharacter = `đĐaáàảãạăắằẳẵặâấầẩẫậeéèẻẽẹêếềểễệoóòỏõọôốồổỗộơớờởỡợiíìỉĩịuúùủũụưứừửữựyýỳỷỹỵAÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬEÉÈẺẼẸÊẾỀỂỄỆOÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢIÍÌỈĨỊUÚÙỦŨỤƯỨỪỬỮỰYÝỲ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\\`abcdefghijklmnopqrstuvwxyz{|}`;\n * @param {number} length\n * @returns {string}\n */\nexport const randAllCharacterByLength = (length = 0) => {\n\treturn randomStringByLength(length, allCharacter);\n};\n\n/**\n * @param {number} length\n * @param {textLowCase | numeric | punctuation | allCharacter} str\n * @returns {string}\n */\nexport const randomStringByLength = (length, str = textLowCase) => {\n\tlet result = \"\";\n\n\tfor (let i = 0; i < length; i++) {\n\t\tresult += str.charAt(Math.floor(Math.random() * str.length));\n\t}\n\treturn result;\n};\n\n/**\n * Get string between str1 and str2 from text\n * @param {string} text\n * @param {string} str1\n * @param {string} str2\n * @return {string}\n */\nexport const getBetween = (text, str1, str2 = \"\") => {\n\tif (!text) return \"\";\n\tif (text.indexOf(str1) <= -1) return \"\";\n\n\tconst firstIndex = text.indexOf(str1) + str1.length;\n\tconst secondIndex = str2 ? text.indexOf(str2, firstIndex) : text.length;\n\treturn text.substring(firstIndex, secondIndex);\n};\n\n/**\n * Convert object to string\n * @param {*} object\n * @return {string}\n */\nexport const makeString = (object = \"\") => {\n\t/// Ensure some object is a coerced to a string\n\tif (isNull(object)) return \"\";\n\n\treturn \"\" + object;\n};\n\n/**\n * toUpperCase\n * @param {*} str\n * @return {string}\n */\nexport const toUpperCase = (str = \"\") => {\n\treturn makeString(str).toUpperCase();\n};\n\n/**\n * toLowerCase\n * @param {*} str\n * @return {string}\n */\nexport const toLowerCase = (str = \"\") => {\n\treturn makeString(str).toLowerCase();\n};\n\n/**\n * toLowerCase\n * @param {*} str\n * @return {string}\n */\nexport const titleize = (str = \"\") => {\n\tconst regString = new RegExp(/(?:^|\\s|-)\\S/g);\n\treturn toLowerCase(str).replace(regString, function (c) {\n\t\treturn c.toUpperCase();\n\t});\n};\n\n/**\n * Convert only first charater to UpperCase\n * @param {*} str\n * @return {string}\n */\nexport const capitalize = (str, lowercaseRest = 1) => {\n\tstr = makeString(str);\n\tconst remainingChars = !lowercaseRest ? str.slice(1) : str.slice(1).toLowerCase();\n\n\treturn str.charAt(0).toUpperCase() + remainingChars;\n};\n\n/**\n * Convert first character from every single words to UpperCase\n * @param {*} str\n * @return {string}\n */\nexport const capitalizeName = (str) => {\n\tstr = makeString(str);\n\n\tstr = str.trim();\n\tstr = str.replace(/^\\s+|\\s+$/gm, \"\");\n\n\tstr = str.toLowerCase();\n\n\tconst arr = str.split(\" \");\n\n\tstr = arr\n\t\t.map((item) => {\n\t\t\treturn capitalize(item);\n\t\t})\n\t\t.filter((x) => x)\n\t\t.join(\" \");\n\n\treturn str;\n};\n\n/**\n *\n * @param {string} s - Input string\n * @param {{delimiter,limit,lowercase,replacements,transliterate}} opt - Option\n * @return {string}\n */\nexport const clearUnicodeCharacters = (s, opt = {}) => {\n\ts = makeString(s);\n\n\tvar defaults = {\n\t\tdelimiter: \" \",\n\t\tlimit: undefined,\n\t\tlowercase: true,\n\t\treplacements: {},\n\t\ttransliterate: typeof XRegExp === \"undefined\" ? true : false,\n\t};\n\n\t// Merge options\n\tfor (var k in defaults) {\n\t\tif (!opt.hasOwnProperty(k)) {\n\t\t\topt[k] = defaults[k];\n\t\t}\n\t}\n\n\t// Vietnamese\n\ts = s.replace(/á|à|ả|ạ|ã|ă|ắ|ằ|ẳ|ẵ|ặ|â|ấ|ầ|ẩ|ẫ|ậ/gi, \"a\");\n\ts = s.replace(/é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ/gi, \"e\");\n\ts = s.replace(/i|í|ì|ỉ|ĩ|ị/gi, \"i\");\n\ts = s.replace(/ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ/gi, \"o\");\n\ts = s.replace(/ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự/gi, \"u\");\n\ts = s.replace(/ý|ỳ|ỷ|ỹ|ỵ/gi, \"y\");\n\ts = s.replace(/đ/gi, \"d\");\n\ts = \"@\" + s + \"@\";\n\ts = s.replace(/\\@\\-|\\-\\@|\\@/gi, \"\");\n\n\t// Make custom replacements\n\tfor (var k in opt.replacements) {\n\t\ts = s.replace(RegExp(k, \"g\"), opt.replacements[k]);\n\t}\n\n\t// Transliterate characters to ASCII\n\tif (opt.transliterate) {\n\t\tfor (var k in char_map) {\n\t\t\ts = s.replace(RegExp(k, \"g\"), char_map[k]);\n\t\t}\n\t}\n\n\t// Replace non-alphanumeric characters with our delimiter\n\tvar alnum = typeof XRegExp === \"undefined\" ? RegExp(\"[^a-z0-9]+\", \"ig\") : XRegExp(\"[^\\\\p{L}\\\\p{N}]+\", \"ig\");\n\ts = s.replace(alnum, opt.delimiter);\n\n\t// Remove duplicate delimiters\n\ts = s.replace(RegExp(\"[\" + opt.delimiter + \"]{2,}\", \"g\"), opt.delimiter);\n\n\t// Truncate slug to max. characters\n\ts = s.substring(0, opt.limit);\n\n\t// Remove delimiter from ends\n\ts = s.replace(RegExp(\"(^\" + opt.delimiter + \"|\" + opt.delimiter + \"$)\", \"g\"), \"\");\n\n\treturn opt.lowercase ? s.toLowerCase() : s;\n};\n\nexport function generateUUID() {\n\t// http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136\n\n\tconst d0 = (Math.random() * 0xffffffff) | 0;\n\tconst d1 = (Math.random() * 0xffffffff) | 0;\n\tconst d2 = (Math.random() * 0xffffffff) | 0;\n\tconst d3 = (Math.random() * 0xffffffff) | 0;\n\tconst uuid =\n\t\t_lut[d0 & 0xff] +\n\t\t_lut[(d0 >> 8) & 0xff] +\n\t\t_lut[(d0 >> 16) & 0xff] +\n\t\t_lut[(d0 >> 24) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[d1 & 0xff] +\n\t\t_lut[(d1 >> 8) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[((d1 >> 16) & 0x0f) | 0x40] +\n\t\t_lut[(d1 >> 24) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[(d2 & 0x3f) | 0x80] +\n\t\t_lut[(d2 >> 8) & 0xff] +\n\t\t\"-\" +\n\t\t_lut[(d2 >> 16) & 0xff] +\n\t\t_lut[(d2 >> 24) & 0xff] +\n\t\t_lut[d3 & 0xff] +\n\t\t_lut[(d3 >> 8) & 0xff] +\n\t\t_lut[(d3 >> 16) & 0xff] +\n\t\t_lut[(d3 >> 24) & 0xff];\n\n\t// .toLowerCase() here flattens concatenated strings to save heap memory space.\n\treturn uuid.toLowerCase();\n}\n","import { isNull } from \"../object\";\n\nvar urlRegex = /(https?:\\/\\/[^\\s]+)/g;\n\nexport const getUrlParams = (parameter, staticURL, decode) => {\n\tif (typeof window == \"undefined\") return \"\";\n\n\tstaticURL = staticURL == undefined ? window.location : staticURL;\n\tvar currLocation = staticURL.length ? staticURL : window.location.search;\n\n\tif (currLocation.split(\"?\").length < 2) return \"\";\n\n\tvar parArr = currLocation.split(\"?\")[1].split(\"&\"),\n\t\treturnBool = true;\n\n\tfor (var i = 0; i < parArr.length; i++) {\n\t\tvar parr = parArr[i].split(\"=\");\n\t\tif (parr[0] == parameter) {\n\t\t\treturn decode ? decodeURIComponent(parr[1]) : parr[1];\n\t\t\treturnBool = true;\n\t\t} else {\n\t\t\treturnBool = false;\n\t\t}\n\t}\n\n\tif (!returnBool) return false;\n};\n\n/**\n *\n * @return {boolean}\n */\nexport const isLink = (str) => {\n\treturn urlRegex.test(str);\n};\n\n// /**\n// *\n// * @return {JSX.Element}\n// */\n// export const strToJsxLink = (str, altText) => {\n// \treturn isLink(str) ? <a href={src}>{altText || src}</a> : str;\n// };\n\n/**\n *\n * @param {string} url\n * @return {string}\n */\nexport const getFileNameWithoutExtension = (url) => {\n\turl = decodeURIComponent(url);\n\tif (url) {\n\t\tconst m = url.toString().match(/.*\\/(.+?)\\./);\n\t\tif (m && m.length > 1) {\n\t\t\treturn m[1];\n\t\t}\n\n\t\tif (!isNull(url)) {\n\t\t\treturn url.split(\".\").shift();\n\t\t}\n\t}\n\treturn \"\";\n};\n\n/**\n *\n * @param {string} url\n * @return {string}\n */\nexport const getFileNameWithExtension = (url) => {\n\turl = decodeURIComponent(url);\n\tif (url) {\n\t\tconst m = url.toString().match(/.*\\/(.*)$/);\n\n\t\tif (m && m.length > 1) {\n\t\t\treturn m[1].split(\"/\").pop().split(\"?\")[0];\n\t\t}\n\n\t\tif (!isNull(url)) {\n\t\t\treturn url;\n\t\t}\n\t}\n\treturn \"\";\n};\n\n/**\n *\n * @param {string} url\n * @return {string}\n */\nexport const getFileExtension = (url) => {\n\treturn getFileNameWithExtension(url).split(\".\").pop();\n};\n"],"names":[],"version":3,"file":"module.js.map"}
|