@thumbmarkjs/thumbmarkjs 1.6.2 → 1.6.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"thumbmark.umd.js","sources":["../src/options.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/system/browser.ts","../src/components/screen/index.ts","../src/components/system/index.ts","../src/components/webgl/index.ts","../src/utils/stableStringify.ts","../src/components/mathml/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/webrtc/index.ts","../src/components/speech/index.ts","../src/utils/version.ts","../src/functions/filterComponents.ts","../src/utils/visitorId.ts","../src/utils/cache.ts","../src/functions/api.ts","../src/functions/index.ts","../src/utils/log.ts","../src/utils/raceAll.ts","../src/thumbmark.ts","../src/functions/legacy_functions.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["MAXIMUM_CACHE_LIFETIME","DEFAULT_STORAGE_PREFIX","DEFAULT_API_ENDPOINT","defaultOptions","exclude","include","stabilize","logging","timeout","cache_api_call","cache_lifetime_in_ms","performance","experimental","property_name_factory","name","options","stabilizationExclusionRules","private","browsers","iframe","vpn","OfflineAudioContextClass","window","OfflineAudioContext","webkitOfflineAudioContext","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","key","seed","text","TextEncoder","encode","buffer","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","Uint8Array","finalize","byteArray","Array","from","map","byte","toString","padStart","join","_WIDTH","async","ephemeralIFrame","callback","document","wait","createElement","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","_a","contentWindow","undefined","Error","setTimeout","removeChild","durationMs","resolveWith","Promise","resolve","availableFonts","baseFonts","measureSingleFont","ctx","font","measureText","getVideoCard","canvas","gl","getContext","vendor","getParameter","VENDOR","renderer","RENDERER","result","version","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","getBrowser","navigator","ua","userAgent","regexes","browserNameMap","edg","edga","edgios","opr","opx","crios","fxios","samsung","vivaldi","brave","regex","match","groups","_b","_c","version1","_d","version2","_e","_f","source","includes","toLowerCase","isMobileUserAgent","test","matchMedias","results","mediaQueries","pointer","hover","update","scripting","value","matchMedia","matches","getApplePayVersion","location","protocol","ApplePaySession","versionCheck","supportsVersion","_RUNS","stableStringify","seen","stringify","node","toJSON","isFinite","JSON","out","isArray","indexOf","seenIndex","sort","splice","BLACKBOARD_BOLD","GREEK_SYMBOLS","createMathML","content","createComplexNestedStructure","nestedContent","bbSymbol","bbIndex","startIdx","greekSet","slice","createSymbolStructures","structures","tm_component_promises","audio","reject","audioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","fonts","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","all","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","w","longer","max","shorter","min","screenResolution","system","browser","platform","productSub","product","useragent","hardwareConcurrency","mobile","applePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","tm_experimental_component_promises","webrtc","RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","supported","connection","iceCandidatePoolSize","iceServers","createDataChannel","offerOptions","offerToReceiveAudio","offerToReceiveVideo","offer","createOffer","setLocalDescription","sdp","extensions","Set","x","replace","getDescriptors","mediaType","RegExp","split","constructDescriptions","descriptors","descriptor","matcher","matchAll","_","type","parts","mimeType","clockRate","channels","feedbackSupport","sdpFmtpLine","Boolean","audioCodecs","videoCodecs","compressedData","count","video","extensionsHash","resolveResult","removeEventListener","onIceCandidate","close","candidateObj","candidate","clearTimeout","candidateType","addEventListener","details","message","processOffer","mathml","testElement","innerHTML","position","visibility","rect","getBoundingClientRect","isMathMLSupported","dimensionsArray","fontStyleHash","struct","measurement","mathElement","whiteSpace","top","computedStyle","defaultView","getComputedStyle","measurements","dimensions","fontInfo","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","fontVariant","fontStretch","fontSizeAdjust","textRendering","fontFeatureSettings","fontVariantNumeric","fontKerning","measureMathMLStructure","speech","speechSynthesis","getVoices","voicesResolved","timeoutHandle","processVoices","voices","voiceSignatures","voice","escapeValue","voiceURI","lang","localService","default","voiceCount","voicesHash","onVoicesChanged","customComponents","timeoutInstance","includeComponent","creationFunction","getVersion","filterThumbmarkData","browserInfo","browserComponent","ver","majorVer","excludeList","stabilizationOptions","includeList","option","rules","rule","appliesToAllBrowsers","browserMatch","some","browserRule","ruleName","ruleVersionStr","ruleVersion","performFilter","currentObj","path","entries","currentPath","isExcluded","exclusion","startsWith","isIncluded","inclusion","filtered","DEFAULT_STORAGE_PROPERTY_NAME","getVisitorIdPropertyName","_options","storage_property_name","DEFAULT_VISITOR_ID_NAME","setVisitorId","visitorId","localStorage","setItem","CACHE_KEY","getCache","rawCache","getItem","jsonCache","parse","getApiResponseExpiry","Date","now","currentApiPromise","apiPromiseResult","getApiPromise","components","cached","cache","apiResponse","apiResponseExpiry","getCachedApiResponse","endpoint","api_endpoint","propertyName","getVisitorId","requestBody","clientHash","fetchPromise","fetch","method","headers","api_key","Authorization","then","response","ok","json","values","newValues","setCache","setCachedApiResponse","catch","timeoutMs","timeoutPromise","info","timed_out","race","getThumbmark","shouldLog","sessionStorage","random","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","experimentalComponents","experimentalElapsed","expElapsed","apiPromise","apiResult","thumbmark","allElapsed","maybeElapsed","apiComponents","uniqueness","score","thisHash","thumbmarkData","experimentalData","url","payload","pathname","logThumbmarkData","comps","opts","e","promises","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","t","raceAllPerformance","resolvedComponentsRaw","index","constructor","this","get","overrideOptions","globalIncludeComponent","includeData"],"mappings":"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hCD,EAAMC,YAAY,SAAU,KAC5BD,EAAMC,YAAY,UAAU,KAE5B1E,EAAO2E,IAAM,cACbN,SAASjB,KAAKwB,YAAY5E,GAE1B,MAAM6E,EAAiB7E,EAAO8E,kBAAyC,QAAtBC,EAAA/E,EAAOgF,qBAAeC,IAAAF,OAAAE,EAAAF,EAAAV,UACvE,IAAKQ,EACH,MAAM,IAAIK,MAAM,qCAIlBd,EAAS,CAAEpE,OAAQ6E,IAGnBM,YAAW,KACTd,SAASjB,KAAKgC,YAAYpF,EAAO,GAChC,EACL,CAEgB,SAAAsE,EAAee,EAAoBC,GACjD,OAAO,IAAIC,SAASC,GAAYL,WAAWK,EAASH,EAAYC,IAClE,CC5BF,MAAMG,EAAiB,CACnB,QACA,cACA,eACA,mBACA,QACA,UACA,SACA,aACA,SACA,UACA,UACA,QACA,UACA,UACA,iBACA,gBACA,aACA,UACA,cACA,eACA,UACA,UACA,mBACA,gBACA,QACA,aACA,MACA,YACA,YACA,yBACA,WACA,SACA,UACA,YACA,YACA,SACA,cACA,eACA,QACA,eACA,QACA,OACA,SACA,gBACA,iBACA,sBACA,UACA,eACA,oBACA,aACA,SACA,YACA,SACA,cACA,YACA,SACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,UACA,SACA,cACA,YACA,WACA,YACA,SACA,mBACA,WACA,QACA,cACA,eACA,WACA,OACA,kBACA,aACA,SACA,UACA,QACA,kBACA,gBACA,eACA,SACA,eACA,UACA,aAGIC,EAAY,CAAC,YAAa,aAAc,SAsChD,SAASC,EAAkBC,EAAsCC,GAC7D,IAAKD,EACD,MAAM,IAAIV,MAAM,gCAIpB,OADAU,EAAIC,KAAO,QAAQA,IACZD,EAAIE,YAFU,cAEQ/E,KACjC,CC9HA,SAASgF,UACL,MAAMC,EAAS3B,SAASE,cAAc,UAChC0B,EAA+B,QAA1BlB,EAAAiB,EAAOE,WAAW,gBAAQjB,IAAAF,EAAAA,EAAIiB,EAAOE,WAAW,sBAE3D,GAAID,GAAM,iBAAkBA,EACxB,IAEI,MAAME,GAAUF,EAAGG,aAAaH,EAAGI,SAAW,IAAIvC,WAC5Cw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"}
1
+ {"version":3,"file":"thumbmark.umd.js","sources":["../src/options.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/system/browser.ts","../src/components/screen/index.ts","../src/components/system/index.ts","../src/components/webgl/index.ts","../src/utils/stableStringify.ts","../src/components/mathml/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/webrtc/index.ts","../src/components/speech/index.ts","../src/utils/version.ts","../src/functions/filterComponents.ts","../src/utils/visitorId.ts","../src/utils/cache.ts","../src/functions/api.ts","../src/functions/index.ts","../src/utils/log.ts","../src/utils/raceAll.ts","../src/thumbmark.ts","../src/functions/legacy_functions.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["MAXIMUM_CACHE_LIFETIME","DEFAULT_STORAGE_PREFIX","DEFAULT_API_ENDPOINT","defaultOptions","exclude","include","stabilize","logging","timeout","cache_api_call","cache_lifetime_in_ms","performance","experimental","property_name_factory","name","options","stabilizationExclusionRules","private","browsers","iframe","vpn","OfflineAudioContextClass","window","OfflineAudioContext","webkitOfflineAudioContext","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","key","seed","text","TextEncoder","encode","buffer","utf8","charCode","charCodeAt","Uint8Array","encodeUtf8","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","finalize","byteArray","Array","from","map","byte","toString","padStart","join","_WIDTH","async","ephemeralIFrame","callback","document","wait","createElement","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","_a","contentWindow","undefined","Error","setTimeout","removeChild","durationMs","resolveWith","Promise","resolve","availableFonts","baseFonts","measureSingleFont","ctx","font","measureText","getVideoCard","canvas","gl","getContext","vendor","getParameter","VENDOR","renderer","RENDERER","result","version","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","getBrowser","navigator","ua","userAgent","regexes","browserNameMap","edg","edga","edgios","opr","opx","crios","fxios","samsung","vivaldi","brave","regex","match","groups","_b","_c","version1","_d","version2","_e","_f","source","includes","toLowerCase","isMobileUserAgent","test","matchMedias","results","mediaQueries","pointer","hover","update","scripting","value","matchMedia","matches","getApplePayVersion","location","protocol","ApplePaySession","versionCheck","supportsVersion","_RUNS","stableStringify","seen","stringify","node","toJSON","isFinite","JSON","out","isArray","indexOf","seenIndex","sort","splice","BLACKBOARD_BOLD","GREEK_SYMBOLS","createMathML","content","createComplexNestedStructure","nestedContent","bbSymbol","bbIndex","startIdx","greekSet","slice","createSymbolStructures","structures","tm_component_promises","audio","reject","audioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","fonts","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","all","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","w","longer","max","shorter","min","screenResolution","system","browser","platform","productSub","product","useragent","hardwareConcurrency","mobile","applePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","tm_experimental_component_promises","webrtc","RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","supported","connection","iceCandidatePoolSize","iceServers","createDataChannel","offerOptions","offerToReceiveAudio","offerToReceiveVideo","offer","createOffer","setLocalDescription","sdp","extensions","Set","x","replace","getDescriptors","mediaType","RegExp","split","constructDescriptions","descriptors","descriptor","matcher","matchAll","_","type","parts","mimeType","clockRate","channels","feedbackSupport","sdpFmtpLine","Boolean","audioCodecs","videoCodecs","compressedData","count","video","extensionsHash","resolveResult","removeEventListener","onIceCandidate","close","candidateObj","candidate","clearTimeout","candidateType","addEventListener","details","message","processOffer","mathml","testElement","innerHTML","position","visibility","rect","getBoundingClientRect","isMathMLSupported","dimensionsArray","fontStyleHash","struct","measurement","mathElement","whiteSpace","top","computedStyle","defaultView","getComputedStyle","measurements","dimensions","fontInfo","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","fontVariant","fontStretch","fontSizeAdjust","textRendering","fontFeatureSettings","fontVariantNumeric","fontKerning","measureMathMLStructure","speech","speechSynthesis","getVoices","voicesResolved","timeoutHandle","processVoices","voices","voiceSignatures","voice","escapeValue","voiceURI","lang","localService","default","voiceCount","voicesHash","onVoicesChanged","customComponents","timeoutInstance","includeComponent","creationFunction","getVersion","filterThumbmarkData","browserInfo","browserComponent","ver","majorVer","excludeList","stabilizationOptions","includeList","option","rules","rule","appliesToAllBrowsers","browserMatch","some","browserRule","ruleName","ruleVersionStr","ruleVersion","performFilter","currentObj","path","entries","currentPath","isExcluded","exclusion","startsWith","isIncluded","inclusion","filtered","DEFAULT_STORAGE_PROPERTY_NAME","getVisitorIdPropertyName","_options","storage_property_name","DEFAULT_VISITOR_ID_NAME","setVisitorId","visitorId","localStorage","setItem","CACHE_KEY","getCache","rawCache","getItem","jsonCache","parse","getApiResponseExpiry","Date","now","currentApiPromise","apiPromiseResult","getApiPromise","components","cached","cache","apiResponse","apiResponseExpiry","getCachedApiResponse","endpoint","api_endpoint","propertyName","getVisitorId","requestBody","clientHash","fetchPromise","fetch","method","headers","api_key","Authorization","then","response","ok","json","values","newValues","setCache","setCachedApiResponse","catch","timeoutMs","timeoutPromise","info","timed_out","race","getThumbmark","thumbmark","shouldLog","sessionStorage","random","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","experimentalComponents","experimentalElapsed","expElapsed","apiPromise","apiResult","allElapsed","maybeElapsed","apiComponents","uniqueness","score","thisHash","thumbmarkData","experimentalData","url","payload","pathname","logThumbmarkData","requestId","comps","opts","e","promises","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","t","raceAllPerformance","resolvedComponentsRaw","index","constructor","this","get","overrideOptions","globalIncludeComponent","includeData"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thumbmarkjs/thumbmarkjs",
3
- "version": "1.6.2",
3
+ "version": "1.6.4",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "./dist/thumbmark.cjs.js",
@@ -67,4 +67,4 @@
67
67
  "ts-md5": "^1.3.1",
68
68
  "typescript": "^5.3.3"
69
69
  }
70
- }
70
+ }
@@ -102,9 +102,9 @@ export default async function getFonts(options?: optionsInterface): Promise<comp
102
102
  return getFontMetrics()
103
103
  }
104
104
 
105
- export function getFontMetrics(): Promise<componentInterface> {
106
-
107
- return new Promise((resolve, reject) => {
105
+ export function getFontMetrics(): Promise<componentInterface | null> {
106
+
107
+ return new Promise((resolve) => {
108
108
  try {
109
109
 
110
110
  ephemeralIFrame(async ({ iframe }) => {
@@ -112,6 +112,12 @@ export function getFontMetrics(): Promise<componentInterface> {
112
112
  const canvas = iframe.createElement('canvas');
113
113
  const ctx = canvas.getContext('2d');
114
114
 
115
+ // Return null if canvas context is not available
116
+ if (!ctx) {
117
+ resolve(null);
118
+ return;
119
+ }
120
+
115
121
  const defaultWidths: number[] = baseFonts.map((font) => {
116
122
  return measureSingleFont(ctx, font)
117
123
  })
@@ -122,22 +128,19 @@ export function getFontMetrics(): Promise<componentInterface> {
122
128
  if (!defaultWidths.includes(fontWidth))
123
129
  results[font] = fontWidth;
124
130
  });
125
-
131
+
126
132
  resolve(results);
127
133
  })
128
134
 
129
135
 
130
136
  } catch (error) {
131
- reject({'error': 'unsupported'})
137
+ resolve(null);
132
138
  }
133
139
  });
134
140
  };
135
141
 
136
142
 
137
- function measureSingleFont(ctx: CanvasRenderingContext2D | null, font: string): number {
138
- if (!ctx) {
139
- throw new Error('Canvas context not supported');
140
- }
143
+ function measureSingleFont(ctx: CanvasRenderingContext2D, font: string): number {
141
144
  const text: string = "WwMmLli0Oo";
142
145
  ctx.font = `72px ${font}`; // Set a default font size
143
146
  return ctx.measureText(text).width;
@@ -0,0 +1,80 @@
1
+ import getHardware from './index';
2
+
3
+ describe('hardware component tests', () => {
4
+ let originalGetContext: any;
5
+
6
+ beforeAll(() => {
7
+ originalGetContext = HTMLCanvasElement.prototype.getContext;
8
+ });
9
+
10
+ afterAll(() => {
11
+ HTMLCanvasElement.prototype.getContext = originalGetContext;
12
+ });
13
+
14
+ test("getHardware returns valid structure even when WebGL is blocked", async () => {
15
+ // Mock getContext to return null (simulating WebGL being disabled/blocked)
16
+ HTMLCanvasElement.prototype.getContext = jest.fn().mockReturnValue(null);
17
+
18
+ const result = await getHardware();
19
+
20
+ expect(result).toBeDefined();
21
+ if (result) {
22
+ expect(result.videocard).toBe("undefined");
23
+ expect(result.deviceMemory).toBeDefined();
24
+ expect(result.architecture).toBeDefined();
25
+ }
26
+ });
27
+
28
+ test("getHardware handles WebGL getParameter throwing gracefully", async () => {
29
+ // Mock a broken WebGL context
30
+ const mockGl = {
31
+ getParameter: jest.fn().mockImplementation(() => {
32
+ throw new Error("WebGL error");
33
+ }),
34
+ getExtension: jest.fn().mockReturnValue(null),
35
+ VENDOR: 1,
36
+ RENDERER: 2,
37
+ VERSION: 3,
38
+ SHADING_LANGUAGE_VERSION: 4
39
+ };
40
+
41
+ HTMLCanvasElement.prototype.getContext = jest.fn().mockReturnValue(mockGl);
42
+
43
+ const result = await getHardware();
44
+
45
+ expect(result).toBeDefined();
46
+ if (result) {
47
+ expect(result.videocard).toBe("undefined");
48
+ }
49
+ });
50
+
51
+ test("getHardware handles WebGL getExtension returning null", async () => {
52
+ // Mock a context where getParameter works but getExtension (debug info) returns null
53
+ const mockGl = {
54
+ getParameter: jest.fn().mockImplementation((param) => {
55
+ if (param === 1) return "Mock Vendor"; // VENDOR
56
+ if (param === 2) return ""; // RENDERER (empty to trigger getExtension check)
57
+ return "Mock Value";
58
+ }),
59
+ getExtension: jest.fn().mockReturnValue(null),
60
+ VENDOR: 1,
61
+ RENDERER: 2,
62
+ VERSION: 3,
63
+ SHADING_LANGUAGE_VERSION: 4
64
+ };
65
+
66
+ HTMLCanvasElement.prototype.getContext = jest.fn().mockReturnValue(mockGl);
67
+
68
+ const result = await getHardware();
69
+
70
+ expect(result).toBeDefined();
71
+ if (result) {
72
+ expect(result.videocard).toBeDefined();
73
+ const videocard = result.videocard as any;
74
+ expect(videocard.vendor).toBe("Mock Vendor");
75
+ expect(videocard.renderer).toBe("");
76
+ // Should not have unmasked fields
77
+ expect(videocard.vendorUnmasked).toBeUndefined();
78
+ }
79
+ });
80
+ });
@@ -1,4 +1,4 @@
1
- import { componentInterface, includeComponent } from '../../factory'
1
+ import { componentInterface } from '../../factory'
2
2
 
3
3
  export default function getLocales(): Promise<componentInterface> {
4
4
  return new Promise((resolve) => {
@@ -7,15 +7,13 @@ export default function getLocales(): Promise<componentInterface> {
7
7
  'languages': getUserLanguage(),
8
8
  'timezone': getUserTimezone()
9
9
  });
10
- });
10
+ });
11
11
  }
12
12
 
13
13
  function getUserLanguage(): string {
14
- const userLanguages: string[] = [];
15
-
16
- return navigator.language;
17
- }
14
+ return navigator.language;
15
+ }
18
16
 
19
- function getUserTimezone(): string {
20
- return Intl.DateTimeFormat().resolvedOptions().timeZone;
21
- }
17
+ function getUserTimezone(): string {
18
+ return Intl.DateTimeFormat().resolvedOptions().timeZone;
19
+ }
@@ -1,8 +1,14 @@
1
1
  import { componentInterface, includeComponent } from '../../factory';
2
2
  import { isMobileUserAgent } from '../system/browser';
3
3
 
4
- export default function getScreen(): Promise<componentInterface> {
4
+ export default function getScreen(): Promise<componentInterface | null> {
5
5
  return new Promise((resolve) => {
6
+ // Check if required browser APIs are available
7
+ if (typeof matchMedia === 'undefined' || typeof screen === 'undefined') {
8
+ resolve(null);
9
+ return;
10
+ }
11
+
6
12
  const result: componentInterface = {
7
13
  'is_touchscreen': navigator.maxTouchPoints > 0,
8
14
  'maxTouchPoints': navigator.maxTouchPoints,