mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 07:58:45 +03:00
Update formFactor
-> formFactors
, in accordance to the latest change in client hints spec
This commit is contained in:
parent
1a2ef00509
commit
8991d34e56
@ -42,7 +42,7 @@
|
|||||||
USER_AGENT = 'user-agent',
|
USER_AGENT = 'user-agent',
|
||||||
UA_MAX_LENGTH = 500,
|
UA_MAX_LENGTH = 500,
|
||||||
BRANDS = 'brands',
|
BRANDS = 'brands',
|
||||||
FORMFACTOR = 'formFactor',
|
FORMFACTORS = 'formFactors',
|
||||||
FULLVERLIST = 'fullVersionList',
|
FULLVERLIST = 'fullVersionList',
|
||||||
PLATFORM = 'platform',
|
PLATFORM = 'platform',
|
||||||
PLATFORMVER = 'platformVersion',
|
PLATFORMVER = 'platformVersion',
|
||||||
@ -51,12 +51,12 @@
|
|||||||
CH_HEADER_FULL_VER_LIST = CH_HEADER + '-full-version-list',
|
CH_HEADER_FULL_VER_LIST = CH_HEADER + '-full-version-list',
|
||||||
CH_HEADER_ARCH = CH_HEADER + '-arch',
|
CH_HEADER_ARCH = CH_HEADER + '-arch',
|
||||||
CH_HEADER_BITNESS = CH_HEADER + '-' + BITNESS,
|
CH_HEADER_BITNESS = CH_HEADER + '-' + BITNESS,
|
||||||
CH_HEADER_FORM_FACTOR = CH_HEADER + '-form-factor',
|
CH_HEADER_FORM_FACTORS = CH_HEADER + '-form-factors',
|
||||||
CH_HEADER_MOBILE = CH_HEADER + '-' + MOBILE,
|
CH_HEADER_MOBILE = CH_HEADER + '-' + MOBILE,
|
||||||
CH_HEADER_MODEL = CH_HEADER + '-' + MODEL,
|
CH_HEADER_MODEL = CH_HEADER + '-' + MODEL,
|
||||||
CH_HEADER_PLATFORM = CH_HEADER + '-' + PLATFORM,
|
CH_HEADER_PLATFORM = CH_HEADER + '-' + PLATFORM,
|
||||||
CH_HEADER_PLATFORM_VER = CH_HEADER_PLATFORM + '-version',
|
CH_HEADER_PLATFORM_VER = CH_HEADER_PLATFORM + '-version',
|
||||||
CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, FORMFACTOR, BITNESS],
|
CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, FORMFACTORS, BITNESS],
|
||||||
UA_BROWSER = 'browser',
|
UA_BROWSER = 'browser',
|
||||||
UA_CPU = 'cpu',
|
UA_CPU = 'cpu',
|
||||||
UA_DEVICE = 'device',
|
UA_DEVICE = 'device',
|
||||||
@ -269,7 +269,7 @@
|
|||||||
'RT' : 'ARM'
|
'RT' : 'ARM'
|
||||||
},
|
},
|
||||||
|
|
||||||
formFactorMap = {
|
formFactorsMap = {
|
||||||
'embedded' : 'Automotive',
|
'embedded' : 'Automotive',
|
||||||
'mobile' : 'Mobile',
|
'mobile' : 'Mobile',
|
||||||
'tablet' : ['Tablet', 'EInk'],
|
'tablet' : ['Tablet', 'EInk'],
|
||||||
@ -975,7 +975,7 @@
|
|||||||
[PLATFORM, stripQuotes(uach[CH_HEADER_PLATFORM])],
|
[PLATFORM, stripQuotes(uach[CH_HEADER_PLATFORM])],
|
||||||
[PLATFORMVER, stripQuotes(uach[CH_HEADER_PLATFORM_VER])],
|
[PLATFORMVER, stripQuotes(uach[CH_HEADER_PLATFORM_VER])],
|
||||||
[ARCHITECTURE, stripQuotes(uach[CH_HEADER_ARCH])],
|
[ARCHITECTURE, stripQuotes(uach[CH_HEADER_ARCH])],
|
||||||
[FORMFACTOR, itemListToArray(uach[CH_HEADER_FORM_FACTOR])],
|
[FORMFACTORS, itemListToArray(uach[CH_HEADER_FORM_FACTORS])],
|
||||||
[BITNESS, stripQuotes(uach[CH_HEADER_BITNESS])]
|
[BITNESS, stripQuotes(uach[CH_HEADER_BITNESS])]
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
@ -1095,15 +1095,15 @@
|
|||||||
this.set(TYPE, CONSOLE)
|
this.set(TYPE, CONSOLE)
|
||||||
.set(VENDOR, MICROSOFT);
|
.set(VENDOR, MICROSOFT);
|
||||||
}
|
}
|
||||||
if (uaCH[FORMFACTOR]) {
|
if (uaCH[FORMFACTORS]) {
|
||||||
var ff;
|
var ff;
|
||||||
if (typeof uaCH[FORMFACTOR] !== 'string') {
|
if (typeof uaCH[FORMFACTORS] !== 'string') {
|
||||||
var idx = 0;
|
var idx = 0;
|
||||||
while (!ff && idx < uaCH[FORMFACTOR].length) {
|
while (!ff && idx < uaCH[FORMFACTORS].length) {
|
||||||
ff = strMapper(uaCH[FORMFACTOR][idx++], formFactorMap);
|
ff = strMapper(uaCH[FORMFACTORS][idx++], formFactorsMap);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ff = strMapper(uaCH[FORMFACTOR], formFactorMap);
|
ff = strMapper(uaCH[FORMFACTORS], formFactorsMap);
|
||||||
}
|
}
|
||||||
this.set(TYPE, ff);
|
this.set(TYPE, ff);
|
||||||
}
|
}
|
||||||
|
@ -463,18 +463,18 @@ describe('Map UA-CH headers', function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Can detect form-factor from client-hints', function () {
|
it('Can detect form-factors from client-hints', function () {
|
||||||
|
|
||||||
const FFVR = {
|
const FFVR = {
|
||||||
'sec-ch-ua-form-factor' : '"VR"'
|
'sec-ch-ua-form-factors' : '"VR"'
|
||||||
};
|
};
|
||||||
|
|
||||||
const FFEInk = {
|
const FFEInk = {
|
||||||
'sec-ch-ua-form-factor' : '"Tablet", "EInk"'
|
'sec-ch-ua-form-factors' : '"Tablet", "EInk"'
|
||||||
};
|
};
|
||||||
|
|
||||||
const FFUnknown = {
|
const FFUnknown = {
|
||||||
'sec-ch-ua-form-factor' : '"Unknown"'
|
'sec-ch-ua-form-factors' : '"Unknown"'
|
||||||
};
|
};
|
||||||
|
|
||||||
UAParser(FFVR).withClientHints().then(function (ua) {
|
UAParser(FFVR).withClientHints().then(function (ua) {
|
||||||
|
@ -40,7 +40,7 @@ test('read client hints data', async ({ page }) => {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
platform: 'New OS',
|
platform: 'New OS',
|
||||||
formFactor: 'New Form Factor'
|
formFactors: 'New Form Factor'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user