Removed parameters from navigator functions
This commit is contained in:
parent
9a308f287a
commit
cca0a0e02e
1 changed files with 197 additions and 155 deletions
|
|
@ -1,153 +1,192 @@
|
||||||
import { checkWebWorker } from './common';
|
import { checkWebWorker } from './common';
|
||||||
|
|
||||||
const getDeviceMemory = (key, worker) => ({
|
const getDeviceMemory = (worker) => {
|
||||||
|
const name = 'deviceMemory';
|
||||||
|
return {
|
||||||
key: 'Device memory',
|
key: 'Device memory',
|
||||||
code: `navigator.${key}`,
|
code: `navigator.${name}`,
|
||||||
value: navigator[key],
|
value: navigator[name],
|
||||||
issues: [
|
issues: [
|
||||||
checkNavigatorProperties(key),
|
checkNavigatorProperties(name),
|
||||||
checkNavigatorValue(key),
|
checkNavigatorValue(name),
|
||||||
checkNavigatorPrototype(key),
|
checkNavigatorPrototype(name),
|
||||||
checkWebWorker(navigator[key], worker),
|
checkWebWorker(navigator[name], worker),
|
||||||
],
|
],
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const getHardwareConcurrency = (key, worker) => ({
|
const getHardwareConcurrency = (worker) => {
|
||||||
|
const name = 'hardwareConcurrency';
|
||||||
|
return {
|
||||||
key: 'Hardware concurrency',
|
key: 'Hardware concurrency',
|
||||||
code: `navigator.${key}`,
|
code: `navigator.${name}`,
|
||||||
value: navigator[key],
|
value: navigator[name],
|
||||||
issues: [
|
issues: [
|
||||||
checkNavigatorProperties(key),
|
checkNavigatorProperties(name),
|
||||||
checkNavigatorValue(key),
|
checkNavigatorValue(name),
|
||||||
checkNavigatorPrototype(key),
|
checkNavigatorPrototype(name),
|
||||||
checkWebWorker(navigator[key], worker),
|
checkWebWorker(navigator[name], worker),
|
||||||
],
|
],
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const getMaxTouchPoints = (key) => ({
|
const getMaxTouchPoints = () => {
|
||||||
|
const name = 'maxTouchPoints';
|
||||||
|
return {
|
||||||
key: 'Max touch points',
|
key: 'Max touch points',
|
||||||
code: `navigator.${key}`,
|
code: `navigator.${name}`,
|
||||||
value: navigator[key],
|
value: navigator[name],
|
||||||
issues: [
|
issues: [
|
||||||
checkNavigatorProperties(key),
|
checkNavigatorProperties(name),
|
||||||
checkNavigatorValue(key),
|
checkNavigatorValue(name),
|
||||||
checkNavigatorPrototype(key),
|
checkNavigatorPrototype(name),
|
||||||
],
|
],
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const getPlatform = (key, worker) => ({
|
const getPlatform = (worker) => {
|
||||||
|
const name = 'platform';
|
||||||
|
return {
|
||||||
key: 'Platform',
|
key: 'Platform',
|
||||||
code: `navigator.${key}`,
|
code: `navigator.${name}`,
|
||||||
value: navigator[key],
|
value: navigator[name],
|
||||||
issues: [
|
issues: [
|
||||||
checkNavigatorProperties(key),
|
checkNavigatorProperties(name),
|
||||||
checkNavigatorValue(key),
|
checkNavigatorValue(name),
|
||||||
checkNavigatorPrototype(key),
|
checkNavigatorPrototype(name),
|
||||||
checkWebWorker(navigator[key], worker),
|
checkWebWorker(navigator[name], worker),
|
||||||
],
|
],
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const getUserAgent = (key, worker) => ({
|
const getUserAgent = (worker) => {
|
||||||
|
const name = 'userAgent';
|
||||||
|
return {
|
||||||
key: 'User agent',
|
key: 'User agent',
|
||||||
code: `navigator.${key}`,
|
code: `navigator.${name}`,
|
||||||
value: navigator[key],
|
value: navigator[name],
|
||||||
issues: [
|
issues: [
|
||||||
checkNavigatorProperties(key),
|
checkNavigatorProperties(name),
|
||||||
checkNavigatorValue(key),
|
checkNavigatorValue(name),
|
||||||
checkNavigatorPrototype(key),
|
checkNavigatorPrototype(name),
|
||||||
checkWebWorker(navigator[key], worker),
|
checkWebWorker(navigator[name], worker),
|
||||||
],
|
],
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const getAppVersion = (key, worker) => ({
|
const getAppVersion = (worker) => {
|
||||||
|
const name = 'appVersion';
|
||||||
|
return {
|
||||||
key: 'App version',
|
key: 'App version',
|
||||||
code: `navigator.${key}`,
|
code: `navigator.${name}`,
|
||||||
value: navigator[key],
|
value: navigator[name],
|
||||||
issues: [
|
issues: [
|
||||||
checkNavigatorProperties(key),
|
checkNavigatorProperties(name),
|
||||||
checkNavigatorValue(key),
|
checkNavigatorValue(name),
|
||||||
checkNavigatorPrototype(key),
|
checkNavigatorPrototype(name),
|
||||||
checkWebWorker(navigator[key], worker),
|
checkWebWorker(navigator[name], worker),
|
||||||
],
|
],
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const getLanguage = (key, worker) => ({
|
const getLanguage = (worker) => {
|
||||||
|
const name = 'language';
|
||||||
|
return {
|
||||||
key: 'Language',
|
key: 'Language',
|
||||||
code: `navigator.${key}`,
|
code: `navigator.${name}`,
|
||||||
value: navigator[key],
|
value: navigator[name],
|
||||||
issues: [
|
issues: [
|
||||||
checkNavigatorProperties(key),
|
checkNavigatorProperties(name),
|
||||||
checkNavigatorValue(key),
|
checkNavigatorValue(name),
|
||||||
checkNavigatorPrototype(key),
|
checkNavigatorPrototype(name),
|
||||||
checkWebWorker(navigator[key], worker),
|
checkWebWorker(navigator[name], worker),
|
||||||
],
|
],
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const getLanguages = (key) => ({
|
const getLanguages = () => {
|
||||||
|
const name = 'languages';
|
||||||
|
return {
|
||||||
key: 'Languages',
|
key: 'Languages',
|
||||||
code: `navigator.${key}`,
|
code: `navigator.${name}`,
|
||||||
value: sortArr(navigator[key]),
|
value: sortArr(navigator[name]),
|
||||||
issues: [
|
issues: [
|
||||||
checkNavigatorProperties(key),
|
checkNavigatorProperties(name),
|
||||||
checkNavigatorValue(key),
|
checkNavigatorValue(name),
|
||||||
checkNavigatorPrototype(key),
|
checkNavigatorPrototype(name),
|
||||||
],
|
],
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const getCookieEnabled = (key) => ({
|
const getCookieEnabled = () => {
|
||||||
|
const name = 'cookieEnabled';
|
||||||
|
return {
|
||||||
key: 'Cookie enabled',
|
key: 'Cookie enabled',
|
||||||
code: `navigator.${key}`,
|
code: `navigator.${name}`,
|
||||||
value: navigator[key] ? 'True' : 'False',
|
value: navigator[name] ? 'True' : 'False',
|
||||||
issues: [
|
issues: [
|
||||||
checkNavigatorProperties(key),
|
checkNavigatorProperties(name),
|
||||||
checkNavigatorValue(key),
|
checkNavigatorValue(name),
|
||||||
checkNavigatorPrototype(key),
|
checkNavigatorPrototype(name),
|
||||||
],
|
],
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const getDoNotTrack = (key) => ({
|
const getDoNotTrack = () => {
|
||||||
|
const name = 'doNotTrack';
|
||||||
|
return {
|
||||||
key: 'Do not track',
|
key: 'Do not track',
|
||||||
code: `navigator.${key}`,
|
code: `navigator.${name}`,
|
||||||
value: navigator[key] ? 'True' : 'False',
|
value: navigator[name] ? 'True' : 'False',
|
||||||
issues: [
|
issues: [
|
||||||
checkNavigatorProperties(key),
|
checkNavigatorProperties(name),
|
||||||
checkNavigatorValue(key),
|
checkNavigatorValue(name),
|
||||||
checkNavigatorPrototype(key),
|
checkNavigatorPrototype(name),
|
||||||
],
|
],
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const getWebDriver = (key) => ({
|
const getWebDriver = () => {
|
||||||
|
const name = 'webdriver';
|
||||||
|
return {
|
||||||
key: 'Web driver',
|
key: 'Web driver',
|
||||||
code: `navigator.${key}`,
|
code: `navigator.${name}`,
|
||||||
value: navigator[key] ? 'True' : 'False',
|
value: navigator[name] ? 'True' : 'False',
|
||||||
issues: [
|
issues: [
|
||||||
checkNavigatorProperties(key),
|
checkNavigatorProperties(name),
|
||||||
checkNavigatorValue(key),
|
checkNavigatorValue(name),
|
||||||
checkNavigatorPrototype(key),
|
checkNavigatorPrototype(name),
|
||||||
],
|
],
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const getPlugins = (key) => ({
|
const getPlugins = () => {
|
||||||
|
const name = 'plugins';
|
||||||
|
return {
|
||||||
key: 'Plugins',
|
key: 'Plugins',
|
||||||
code: `navigator.${key}`,
|
code: `navigator.${name}`,
|
||||||
value: sortPlugins(navigator[key]),
|
value: sortPlugins(navigator[name]),
|
||||||
issues: [
|
issues: [
|
||||||
checkNavigatorProperties(key),
|
checkNavigatorProperties(name),
|
||||||
checkNavigatorValue(key),
|
checkNavigatorValue(name),
|
||||||
checkNavigatorPrototype(key),
|
checkNavigatorPrototype(name),
|
||||||
],
|
],
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const getVendor = (key) => ({
|
const getVendor = () => {
|
||||||
|
const name = 'vendor';
|
||||||
|
return {
|
||||||
key: 'Vendor',
|
key: 'Vendor',
|
||||||
code: `navigator.${key}`,
|
code: `navigator.${name}`,
|
||||||
value: navigator[key],
|
value: navigator[name],
|
||||||
issues: [
|
issues: [
|
||||||
checkNavigatorProperties(key),
|
checkNavigatorProperties(name),
|
||||||
checkNavigatorValue(key),
|
checkNavigatorValue(name),
|
||||||
checkNavigatorPrototype(key),
|
checkNavigatorPrototype(name),
|
||||||
],
|
],
|
||||||
});
|
};
|
||||||
|
};
|
||||||
|
|
||||||
// sorts array into comma separated list
|
// sorts array into comma separated list
|
||||||
const sortArr = (arr) => {
|
const sortArr = (arr) => {
|
||||||
|
|
@ -172,27 +211,30 @@ const sortPlugins = (data) => {
|
||||||
return list;
|
return list;
|
||||||
};
|
};
|
||||||
|
|
||||||
const checkNavigatorProperties = (key) => {
|
const checkNavigatorProperties = (name) => {
|
||||||
if (Object.getOwnPropertyDescriptor(navigator, key) !== undefined) {
|
if (Object.getOwnPropertyDescriptor(navigator, name) !== undefined) {
|
||||||
return 'Failed undefined properties';
|
return 'Failed undefined properties';
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
const checkNavigatorValue = (key) => {
|
const checkNavigatorValue = (name) => {
|
||||||
try {
|
try {
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
const { value } = Object.getOwnPropertyDescriptor(Navigator.prototype, key);
|
const { value } = Object.getOwnPropertyDescriptor(
|
||||||
|
Navigator.prototype,
|
||||||
|
name
|
||||||
|
);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
return 'Failed Navigator property value';
|
return 'Failed Navigator property value';
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
const checkNavigatorPrototype = (key) => {
|
const checkNavigatorPrototype = (name) => {
|
||||||
try {
|
try {
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
const check = Navigator.prototype[key];
|
const check = Navigator.prototype[name];
|
||||||
return 'Failed Navigator.prototype';
|
return 'Failed Navigator.prototype';
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
|
@ -202,19 +244,19 @@ const checkNavigatorPrototype = (key) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const getNavigator = (workerData) => [
|
const getNavigator = (workerData) => [
|
||||||
getDeviceMemory('deviceMemory', workerData.deviceMemory),
|
getDeviceMemory(workerData.deviceMemory),
|
||||||
getHardwareConcurrency('hardwareConcurrency', workerData.hardwareConcurrency),
|
getHardwareConcurrency(workerData.hardwareConcurrency),
|
||||||
getMaxTouchPoints('maxTouchPoints'),
|
getMaxTouchPoints(),
|
||||||
getPlatform('platform', workerData.platform),
|
getPlatform(workerData.platform),
|
||||||
getUserAgent('userAgent', workerData.userAgent),
|
getUserAgent(workerData.userAgent),
|
||||||
getAppVersion('appVersion', workerData.appVersion),
|
getAppVersion(workerData.appVersion),
|
||||||
getLanguage('language', workerData.language),
|
getLanguage(workerData.language),
|
||||||
getLanguages('languages'),
|
getLanguages(),
|
||||||
getCookieEnabled('cookieEnabled'),
|
getCookieEnabled(),
|
||||||
getDoNotTrack('doNotTrack'),
|
getDoNotTrack(),
|
||||||
getWebDriver('webdriver'),
|
getWebDriver(),
|
||||||
getPlugins('plugins'),
|
getPlugins(),
|
||||||
getVendor('vendor'),
|
getVendor(),
|
||||||
];
|
];
|
||||||
|
|
||||||
export default getNavigator;
|
export default getNavigator;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue