diginext-utils 1.2.4 → 2.0.0
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/index.d.ts +280 -0
- package/dist/index.js +879 -135
- package/dist/index.mjs +820 -0
- package/package.json +23 -28
- package/dist/Checker.js +0 -28
- package/dist/EventDispatcher.js +0 -50
- package/dist/FileUpload.js +0 -65
- package/dist/Slug.js +0 -383
- package/dist/Timer.js +0 -14
- package/dist/Validation.js +0 -41
- package/dist/array.js +0 -313
- package/dist/backend/file/createDir.js +0 -21
- package/dist/backend/file/fileMove.js +0 -37
- package/dist/backend/file/findFilesByExt.js +0 -48
- package/dist/backend/zip/extractZip.js +0 -59
- package/dist/color.js +0 -86
- package/dist/console/enableConsole.js +0 -12
- package/dist/console/index.js +0 -16
- package/dist/device/browser.js +0 -38
- package/dist/device/camera.js +0 -224
- package/dist/device.js +0 -278
- package/dist/math/diffDate.js +0 -17
- package/dist/math/positiveNumber.js +0 -14
- package/dist/math.js +0 -241
- package/dist/object.js +0 -59
- package/dist/permission/requestCamera.js +0 -52
- package/dist/permission/requestDeviceOrientationControl.js +0 -35
- package/dist/string/formatNumber.js +0 -19
- package/dist/string/generatePassword.js +0 -25
- package/dist/string/generateUUID.js +0 -20
- package/dist/string/name/en.js +0 -27
- package/dist/string/name/vi.js +0 -30
- package/dist/string/random.js +0 -40
- package/dist/string/trimNull.js +0 -20
- package/dist/string/url.js +0 -118
- package/dist/string.js +0 -458
package/dist/device/camera.js
DELETED
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getWebcam = getWebcam;
|
|
7
|
-
require("core-js/modules/es.promise.js");
|
|
8
|
-
require("core-js/modules/es.json.stringify.js");
|
|
9
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
|
-
require("core-js/modules/web.url.js");
|
|
11
|
-
require("core-js/modules/web.url-search-params.js");
|
|
12
|
-
var _requestCamera = _interopRequireDefault(require("../permission/requestCamera"));
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
/**
|
|
15
|
-
*
|
|
16
|
-
* @param {{
|
|
17
|
-
* container,
|
|
18
|
-
* facingMode : environment | user,
|
|
19
|
-
* audio : boolean,
|
|
20
|
-
* }} param0
|
|
21
|
-
* @returns
|
|
22
|
-
*/
|
|
23
|
-
function getWebcam(_ref) {
|
|
24
|
-
let {
|
|
25
|
-
//
|
|
26
|
-
container,
|
|
27
|
-
facingMode = "environment",
|
|
28
|
-
audio = false
|
|
29
|
-
} = _ref;
|
|
30
|
-
if (typeof window == "undefined") return;
|
|
31
|
-
container = container || document.body;
|
|
32
|
-
return new Promise(async (resolve, reject) => {
|
|
33
|
-
const video = document.createElement("video");
|
|
34
|
-
video.style.position = "absolute";
|
|
35
|
-
video.style.top = 0;
|
|
36
|
-
video.style.left = 0;
|
|
37
|
-
video.style.width = "100%";
|
|
38
|
-
video.style.height = "100%";
|
|
39
|
-
container.append(video);
|
|
40
|
-
let inputCameras = [];
|
|
41
|
-
let currentCamera;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* @type {MediaStreamConstraints}
|
|
45
|
-
*/
|
|
46
|
-
const requestedMediaConstraints = {
|
|
47
|
-
video: {
|
|
48
|
-
facingMode: {
|
|
49
|
-
exact: facingMode
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
audio
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* @type {MediaStream}
|
|
57
|
-
*/
|
|
58
|
-
let stream;
|
|
59
|
-
let isAllowed = false;
|
|
60
|
-
console.log("[Camera.js] Requesting:", requestedMediaConstraints);
|
|
61
|
-
const res = await (0, _requestCamera.default)({
|
|
62
|
-
audio
|
|
63
|
-
});
|
|
64
|
-
if (!res) {
|
|
65
|
-
setTimeout(function () {
|
|
66
|
-
handleError({
|
|
67
|
-
name: "Error",
|
|
68
|
-
message: "NotSupported"
|
|
69
|
-
});
|
|
70
|
-
}, 50);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// start requesting media permissions:
|
|
74
|
-
|
|
75
|
-
// console.log("[Camera.js] Requesting:", requestedMediaConstraints);
|
|
76
|
-
|
|
77
|
-
// if (navigator.mediaDevices.enumerateDevices === undefined) {
|
|
78
|
-
// setTimeout(function () {
|
|
79
|
-
// handleError({ name: "Error", message: "NotSupported" });
|
|
80
|
-
// }, 50);
|
|
81
|
-
// } else {
|
|
82
|
-
navigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);
|
|
83
|
-
// }
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* @param {MediaDeviceInfo[]} devices
|
|
87
|
-
*/
|
|
88
|
-
function parseDevices(devices) {
|
|
89
|
-
inputCameras = [];
|
|
90
|
-
let backCameras = [];
|
|
91
|
-
devices.forEach(function (device) {
|
|
92
|
-
if (device.kind == "videoinput" && typeof device.deviceId != "undefined" && device.deviceId != "") {
|
|
93
|
-
inputCameras.push(device);
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
// //alert (JSON.stringify (devices));
|
|
97
|
-
console.log("[Camera.js] inputCameras:", inputCameras);
|
|
98
|
-
if (inputCameras.length > 0) {
|
|
99
|
-
let cams = "";
|
|
100
|
-
let backCamera;
|
|
101
|
-
inputCameras.map((cam, index) => {
|
|
102
|
-
cams += "[".concat(cam.deviceId, "] ").concat(cam.kind, " | ").concat(cam.label, "\n");
|
|
103
|
-
// console.log(cam);
|
|
104
|
-
let label = cam.label.toLowerCase();
|
|
105
|
-
if (label.indexOf("back") > -1 || label.indexOf("facetime") > -1) {
|
|
106
|
-
backCamera = cam;
|
|
107
|
-
backCameras.push(backCamera);
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
if (backCameras.length > 1) {
|
|
111
|
-
backCamera = backCameras[backCameras.length - 1];
|
|
112
|
-
}
|
|
113
|
-
console.log("[Camera.js] All input sources:", cams);
|
|
114
|
-
console.log("[Camera.js] This device has ".concat(backCameras.length, " back camera").concat(backCameras.length > 1 ? "s" : "", "."));
|
|
115
|
-
console.log("[Camera.js] backCameras:", JSON.stringify(backCameras));
|
|
116
|
-
currentCamera = backCamera;
|
|
117
|
-
if (scope.onGotDevices) {
|
|
118
|
-
scope.onGotDevices(devices);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
// Lấy stream của camera sau
|
|
122
|
-
// (Lấy cái cuối cùng trong danh sách trước, thường sẽ là camera chính trên Android)
|
|
123
|
-
getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(e => {
|
|
124
|
-
if (backCameras.length > 1) {
|
|
125
|
-
// nếu thiết bị có nhiều hơn 1 camera sau -> thử lấy camera khác
|
|
126
|
-
backCamera = backCameras[backCameras.length - 2];
|
|
127
|
-
getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);
|
|
128
|
-
} else if (backCameras.length > 2) {
|
|
129
|
-
// nếu thiết bị có nhiều hơn 2 camera sau -> thử lấy camera khác nữa
|
|
130
|
-
backCamera = backCameras[backCameras.length - 3];
|
|
131
|
-
getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);
|
|
132
|
-
} else {
|
|
133
|
-
// nếu thiết bị đéo có camera sau...
|
|
134
|
-
handleError(e);
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
} else {
|
|
138
|
-
navigator.mediaDevices.getUserMedia(requestedMediaConstraints).then(onStreamReceived).catch(handleError);
|
|
139
|
-
|
|
140
|
-
// if (scope.onGotDevicesFailed) scope.onGotDevicesFailed();
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* @param {MediaStream} stream
|
|
146
|
-
*/
|
|
147
|
-
function onStreamReceived(stream) {
|
|
148
|
-
if (inputCameras.length == 0) {
|
|
149
|
-
console.log("[Camera.js] Not found any back cameras, request again?");
|
|
150
|
-
navigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
isAllowed = true;
|
|
154
|
-
playWebcamVideo(stream);
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* @param {MediaStream} _stream
|
|
159
|
-
*/
|
|
160
|
-
function playWebcamVideo(_stream) {
|
|
161
|
-
stream = _stream;
|
|
162
|
-
if ("srcObject" in video) {
|
|
163
|
-
// //alert ('GOT STREAM VIDEO OBJECT');
|
|
164
|
-
video.srcObject = _stream;
|
|
165
|
-
} else {
|
|
166
|
-
// //alert ('GOT STREAM VIDEO SOURCE URL');
|
|
167
|
-
// Avoid using this in new browsers, as it is going away.
|
|
168
|
-
video.src = window.URL.createObjectURL(_stream);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
// required to tell iOS safari we don't want fullscreen
|
|
172
|
-
video.setAttribute("playsinline", true);
|
|
173
|
-
video.setAttribute("muted", true);
|
|
174
|
-
video.setAttribute("autoplay", true);
|
|
175
|
-
video.muted = true;
|
|
176
|
-
video.autoplay = true;
|
|
177
|
-
video.style.objectFit = "cover";
|
|
178
|
-
video.play();
|
|
179
|
-
|
|
180
|
-
// auto play
|
|
181
|
-
video.addEventListener("canplay", function (e) {
|
|
182
|
-
// //alert ('CAN PLAY');
|
|
183
|
-
});
|
|
184
|
-
video.addEventListener("canplaythrough", function (e) {
|
|
185
|
-
// //alert ('CAN PLAY THROUGH');
|
|
186
|
-
});
|
|
187
|
-
video.addEventListener("error", e => console.log("[Camera.js] <video> error:", e));
|
|
188
|
-
video.addEventListener("stalled", function (e) {
|
|
189
|
-
// //alert ('CANNOT GET METADATA');
|
|
190
|
-
isAllowed = false;
|
|
191
|
-
console.log("[Camera.js] <video> stalled:", e);
|
|
192
|
-
reject();
|
|
193
|
-
});
|
|
194
|
-
video.addEventListener("loadedmetadata", function (e) {
|
|
195
|
-
if (currentCamera.label.toLowerCase().indexOf("facetime") > -1) {
|
|
196
|
-
video.style.transform = "scaleX(-1)";
|
|
197
|
-
video.style.webkitTransform = "scaleX(-1)";
|
|
198
|
-
}
|
|
199
|
-
video.play();
|
|
200
|
-
resolve(video);
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
function getStreamOfCameraId(id) {
|
|
204
|
-
const constraints = {
|
|
205
|
-
video: {
|
|
206
|
-
deviceId: {
|
|
207
|
-
exact: id
|
|
208
|
-
}
|
|
209
|
-
},
|
|
210
|
-
audio: false
|
|
211
|
-
};
|
|
212
|
-
return new Promise((resolve, reject) => {
|
|
213
|
-
navigator.mediaDevices.getUserMedia(constraints).then(resolve).catch(reject);
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
function handleError(err) {
|
|
217
|
-
console.error(err);
|
|
218
|
-
const errMsg = "[Camera.js] " + err.name + ": " + err.message;
|
|
219
|
-
console.error(errMsg);
|
|
220
|
-
isAllowed = false;
|
|
221
|
-
reject();
|
|
222
|
-
}
|
|
223
|
-
});
|
|
224
|
-
}
|
package/dist/device.js
DELETED
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.isMobile = exports.isIos = exports.isAndroid = exports.checkOS = void 0;
|
|
7
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
8
|
-
require("core-js/modules/es.string.match.js");
|
|
9
|
-
require("core-js/modules/es.parse-float.js");
|
|
10
|
-
require("core-js/modules/es.parse-int.js");
|
|
11
|
-
require("core-js/modules/es.regexp.test.js");
|
|
12
|
-
const isIos = () => {
|
|
13
|
-
const deviceInfo = checkOS();
|
|
14
|
-
if (deviceInfo) return deviceInfo.os.toLowerCase() == "ios";
|
|
15
|
-
console.log("Can't check OS");
|
|
16
|
-
return null;
|
|
17
|
-
};
|
|
18
|
-
exports.isIos = isIos;
|
|
19
|
-
const isAndroid = () => {
|
|
20
|
-
const deviceInfo = checkOS();
|
|
21
|
-
if (deviceInfo) return deviceInfo.os.toLowerCase() == "android";
|
|
22
|
-
console.log("Can't check OS");
|
|
23
|
-
return null;
|
|
24
|
-
};
|
|
25
|
-
exports.isAndroid = isAndroid;
|
|
26
|
-
const isMobile = () => {
|
|
27
|
-
if (typeof navigator == "undefined") return null;
|
|
28
|
-
if (navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i)) {
|
|
29
|
-
return true;
|
|
30
|
-
} else {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
*
|
|
37
|
-
* @returns {{
|
|
38
|
-
* screen,
|
|
39
|
-
* browser,
|
|
40
|
-
* browserVersion,
|
|
41
|
-
* browserMajorVersion,
|
|
42
|
-
* mobile,
|
|
43
|
-
* os,
|
|
44
|
-
* osVersion,
|
|
45
|
-
* cookies,
|
|
46
|
-
* flashVersion,
|
|
47
|
-
* }}
|
|
48
|
-
*/
|
|
49
|
-
exports.isMobile = isMobile;
|
|
50
|
-
const checkOS = () => {
|
|
51
|
-
var _window;
|
|
52
|
-
if (typeof window == "undefined") return {};
|
|
53
|
-
if (typeof ((_window = window) === null || _window === void 0 ? void 0 : _window.deviceInfo) == "undefined") {
|
|
54
|
-
var unknown = "-";
|
|
55
|
-
|
|
56
|
-
// screen
|
|
57
|
-
var screenSize = "";
|
|
58
|
-
if (screen.width) {
|
|
59
|
-
var width = screen.width ? screen.width : "";
|
|
60
|
-
var height = screen.height ? screen.height : "";
|
|
61
|
-
screenSize += "" + width + " x " + height;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// browser
|
|
65
|
-
var nVer = navigator.appVersion;
|
|
66
|
-
var nAgt = navigator.userAgent;
|
|
67
|
-
var browser = navigator.appName;
|
|
68
|
-
var version = "" + parseFloat(navigator.appVersion);
|
|
69
|
-
var majorVersion = parseInt(navigator.appVersion, 10);
|
|
70
|
-
var nameOffset, verOffset, ix;
|
|
71
|
-
|
|
72
|
-
// Opera
|
|
73
|
-
if ((verOffset = nAgt.indexOf("Opera")) != -1) {
|
|
74
|
-
browser = "Opera";
|
|
75
|
-
version = nAgt.substring(verOffset + 6);
|
|
76
|
-
if ((verOffset = nAgt.indexOf("Version")) != -1) {
|
|
77
|
-
version = nAgt.substring(verOffset + 8);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
// Opera Next
|
|
81
|
-
if ((verOffset = nAgt.indexOf("OPR")) != -1) {
|
|
82
|
-
browser = "Opera";
|
|
83
|
-
version = nAgt.substring(verOffset + 4);
|
|
84
|
-
}
|
|
85
|
-
// Edge
|
|
86
|
-
else if ((verOffset = nAgt.indexOf("Edge")) != -1) {
|
|
87
|
-
browser = "Microsoft Edge";
|
|
88
|
-
version = nAgt.substring(verOffset + 5);
|
|
89
|
-
}
|
|
90
|
-
// MSIE
|
|
91
|
-
else if ((verOffset = nAgt.indexOf("MSIE")) != -1) {
|
|
92
|
-
browser = "Microsoft Internet Explorer";
|
|
93
|
-
version = nAgt.substring(verOffset + 5);
|
|
94
|
-
}
|
|
95
|
-
// Chrome
|
|
96
|
-
else if ((verOffset = nAgt.indexOf("Chrome")) != -1) {
|
|
97
|
-
browser = "Chrome";
|
|
98
|
-
version = nAgt.substring(verOffset + 7);
|
|
99
|
-
}
|
|
100
|
-
// Safari
|
|
101
|
-
else if ((verOffset = nAgt.indexOf("Safari")) != -1) {
|
|
102
|
-
browser = "Safari";
|
|
103
|
-
version = nAgt.substring(verOffset + 7);
|
|
104
|
-
if ((verOffset = nAgt.indexOf("Version")) != -1) {
|
|
105
|
-
version = nAgt.substring(verOffset + 8);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
// Firefox
|
|
109
|
-
else if ((verOffset = nAgt.indexOf("Firefox")) != -1) {
|
|
110
|
-
browser = "Firefox";
|
|
111
|
-
version = nAgt.substring(verOffset + 8);
|
|
112
|
-
}
|
|
113
|
-
// MSIE 11+
|
|
114
|
-
else if (nAgt.indexOf("Trident/") != -1) {
|
|
115
|
-
browser = "Microsoft Internet Explorer";
|
|
116
|
-
version = nAgt.substring(nAgt.indexOf("rv:") + 3);
|
|
117
|
-
}
|
|
118
|
-
// Other browsers
|
|
119
|
-
else if ((nameOffset = nAgt.lastIndexOf(" ") + 1) < (verOffset = nAgt.lastIndexOf("/"))) {
|
|
120
|
-
browser = nAgt.substring(nameOffset, verOffset);
|
|
121
|
-
version = nAgt.substring(verOffset + 1);
|
|
122
|
-
if (browser.toLowerCase() == browser.toUpperCase()) {
|
|
123
|
-
browser = navigator.appName;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
// trim the version string
|
|
127
|
-
if ((ix = version.indexOf(";")) != -1) version = version.substring(0, ix);
|
|
128
|
-
if ((ix = version.indexOf(" ")) != -1) version = version.substring(0, ix);
|
|
129
|
-
if ((ix = version.indexOf(")")) != -1) version = version.substring(0, ix);
|
|
130
|
-
majorVersion = parseInt("" + version, 10);
|
|
131
|
-
if (isNaN(majorVersion)) {
|
|
132
|
-
version = "" + parseFloat(navigator.appVersion);
|
|
133
|
-
majorVersion = parseInt(navigator.appVersion, 10);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// mobile version
|
|
137
|
-
var mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer);
|
|
138
|
-
|
|
139
|
-
// cookie
|
|
140
|
-
var cookieEnabled = navigator.cookieEnabled ? true : false;
|
|
141
|
-
if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
|
|
142
|
-
document.cookie = "testcookie";
|
|
143
|
-
cookieEnabled = document.cookie.indexOf("testcookie") != -1 ? true : false;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
// system
|
|
147
|
-
var os = unknown;
|
|
148
|
-
var clientStrings = [{
|
|
149
|
-
s: "Windows 10",
|
|
150
|
-
r: /(Windows 10.0|Windows NT 10.0)/
|
|
151
|
-
}, {
|
|
152
|
-
s: "Windows 8.1",
|
|
153
|
-
r: /(Windows 8.1|Windows NT 6.3)/
|
|
154
|
-
}, {
|
|
155
|
-
s: "Windows 8",
|
|
156
|
-
r: /(Windows 8|Windows NT 6.2)/
|
|
157
|
-
}, {
|
|
158
|
-
s: "Windows 7",
|
|
159
|
-
r: /(Windows 7|Windows NT 6.1)/
|
|
160
|
-
}, {
|
|
161
|
-
s: "Windows Vista",
|
|
162
|
-
r: /Windows NT 6.0/
|
|
163
|
-
}, {
|
|
164
|
-
s: "Windows Server 2003",
|
|
165
|
-
r: /Windows NT 5.2/
|
|
166
|
-
}, {
|
|
167
|
-
s: "Windows XP",
|
|
168
|
-
r: /(Windows NT 5.1|Windows XP)/
|
|
169
|
-
}, {
|
|
170
|
-
s: "Windows 2000",
|
|
171
|
-
r: /(Windows NT 5.0|Windows 2000)/
|
|
172
|
-
}, {
|
|
173
|
-
s: "Windows ME",
|
|
174
|
-
r: /(Win 9x 4.90|Windows ME)/
|
|
175
|
-
}, {
|
|
176
|
-
s: "Windows 98",
|
|
177
|
-
r: /(Windows 98|Win98)/
|
|
178
|
-
}, {
|
|
179
|
-
s: "Windows 95",
|
|
180
|
-
r: /(Windows 95|Win95|Windows_95)/
|
|
181
|
-
}, {
|
|
182
|
-
s: "Windows NT 4.0",
|
|
183
|
-
r: /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/
|
|
184
|
-
}, {
|
|
185
|
-
s: "Windows CE",
|
|
186
|
-
r: /Windows CE/
|
|
187
|
-
}, {
|
|
188
|
-
s: "Windows 3.11",
|
|
189
|
-
r: /Win16/
|
|
190
|
-
}, {
|
|
191
|
-
s: "Android",
|
|
192
|
-
r: /Android/
|
|
193
|
-
}, {
|
|
194
|
-
s: "Open BSD",
|
|
195
|
-
r: /OpenBSD/
|
|
196
|
-
}, {
|
|
197
|
-
s: "Sun OS",
|
|
198
|
-
r: /SunOS/
|
|
199
|
-
}, {
|
|
200
|
-
s: "Linux",
|
|
201
|
-
r: /(Linux|X11)/
|
|
202
|
-
}, {
|
|
203
|
-
s: "iOS",
|
|
204
|
-
r: /(iPhone|iPad|iPod)/
|
|
205
|
-
}, {
|
|
206
|
-
s: "Mac OS X",
|
|
207
|
-
r: /Mac OS X/
|
|
208
|
-
}, {
|
|
209
|
-
s: "Mac OS",
|
|
210
|
-
r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/
|
|
211
|
-
}, {
|
|
212
|
-
s: "QNX",
|
|
213
|
-
r: /QNX/
|
|
214
|
-
}, {
|
|
215
|
-
s: "UNIX",
|
|
216
|
-
r: /UNIX/
|
|
217
|
-
}, {
|
|
218
|
-
s: "BeOS",
|
|
219
|
-
r: /BeOS/
|
|
220
|
-
}, {
|
|
221
|
-
s: "OS/2",
|
|
222
|
-
r: /OS\/2/
|
|
223
|
-
}, {
|
|
224
|
-
s: "Search Bot",
|
|
225
|
-
r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/
|
|
226
|
-
}];
|
|
227
|
-
for (var id in clientStrings) {
|
|
228
|
-
var cs = clientStrings[id];
|
|
229
|
-
if (cs.r.test(nAgt)) {
|
|
230
|
-
os = cs.s;
|
|
231
|
-
break;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
var osVersion = unknown;
|
|
235
|
-
if (/Windows/.test(os)) {
|
|
236
|
-
osVersion = /Windows (.*)/.exec(os)[1];
|
|
237
|
-
os = "Windows";
|
|
238
|
-
}
|
|
239
|
-
switch (os) {
|
|
240
|
-
case "Mac OS X":
|
|
241
|
-
osVersion = /Mac OS X (10[\.\_\d]+)/.exec(nAgt)[1];
|
|
242
|
-
break;
|
|
243
|
-
case "Android":
|
|
244
|
-
osVersion = /Android ([\.\_\d]+)/.exec(nAgt)[1];
|
|
245
|
-
break;
|
|
246
|
-
case "iOS":
|
|
247
|
-
osVersion = /OS (\d+)_(\d+)_?(\d+)?/.exec(nVer);
|
|
248
|
-
osVersion = osVersion[1] + "." + osVersion[2] + "." + (osVersion[3] | 0);
|
|
249
|
-
break;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
// flash (you'll need to include swfobject)
|
|
253
|
-
/* script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" */
|
|
254
|
-
var flashVersion = "no check";
|
|
255
|
-
if (typeof swfobject != "undefined") {
|
|
256
|
-
var fv = swfobject.getFlashPlayerVersion();
|
|
257
|
-
if (fv.major > 0) {
|
|
258
|
-
flashVersion = fv.major + "." + fv.minor + " r" + fv.release;
|
|
259
|
-
} else {
|
|
260
|
-
flashVersion = unknown;
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
const deviceInfo = {
|
|
264
|
-
screen: screenSize,
|
|
265
|
-
browser: browser,
|
|
266
|
-
browserVersion: version,
|
|
267
|
-
browserMajorVersion: majorVersion,
|
|
268
|
-
mobile: mobile,
|
|
269
|
-
os: os,
|
|
270
|
-
osVersion: osVersion,
|
|
271
|
-
cookies: cookieEnabled,
|
|
272
|
-
flashVersion: flashVersion
|
|
273
|
-
};
|
|
274
|
-
window.deviceInfo = deviceInfo;
|
|
275
|
-
}
|
|
276
|
-
return window.deviceInfo;
|
|
277
|
-
};
|
|
278
|
-
exports.checkOS = checkOS;
|
package/dist/math/diffDate.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = diffDate;
|
|
7
|
-
/**
|
|
8
|
-
*
|
|
9
|
-
* @param {string} date1
|
|
10
|
-
* @param {string} date2
|
|
11
|
-
* @returns
|
|
12
|
-
*/
|
|
13
|
-
function diffDate(date1, date2) {
|
|
14
|
-
date1 = date1 || new Date();
|
|
15
|
-
date2 = date2 || new Date();
|
|
16
|
-
return (new Date(date2).getTime() - new Date(date1).getTime()) / (24 * 60 * 60 * 1000);
|
|
17
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = positiveNumber;
|
|
7
|
-
var _object = require("../object");
|
|
8
|
-
function positiveNumber(number) {
|
|
9
|
-
if ((0, _object.isNull)(number)) return 0;
|
|
10
|
-
if (!Number.isFinite(Number(number))) return 0;
|
|
11
|
-
number = Number(number);
|
|
12
|
-
if (number < 0) return 0;
|
|
13
|
-
return number;
|
|
14
|
-
}
|