this repo has no description
1function applyRules(rules, navigator, data) {
2 const { userAgent } = navigator !== null && navigator !== void 0 ? navigator : {};
3 if (typeof userAgent !== 'string' || userAgent.trim() === '') {
4 return data;
5 }
6 for (const rule of rules){
7 const patterns = rule.slice(0, -1);
8 const parser = rule[rule.length - 1];
9 let match = null;
10 for (const pattern of patterns){
11 match = userAgent.match(pattern);
12 if (match !== null) {
13 Object.assign(data, parser(match, navigator, data));
14 break;
15 }
16 }
17 if (match !== null) break;
18 }
19 return data;
20}
21
22export { applyRules };