@bbn/bbn 2.0.252 → 2.0.253
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/bbn.js +1 -1
- package/dist/bbn.js.map +1 -1
- package/dist/bbn.sw.js +1 -1
- package/dist/bbn.sw.js.map +1 -1
- package/dist/fn/browser/makeFingerprint.d.ts +1 -0
- package/dist/fn/browser/makeFingerprint.js +33 -0
- package/dist/fn.d.ts +2 -0
- package/dist/fn.js +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function makeFingerprint(): string;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import hash from '../string/hash.js';
|
|
2
|
+
export default function makeFingerprint() {
|
|
3
|
+
if (!globalThis.navigator) {
|
|
4
|
+
return null;
|
|
5
|
+
}
|
|
6
|
+
const navigator = globalThis.navigator;
|
|
7
|
+
const data = {
|
|
8
|
+
userAgent: navigator.userAgent,
|
|
9
|
+
language: navigator.language,
|
|
10
|
+
hardwareConcurrency: navigator.hardwareConcurrency
|
|
11
|
+
};
|
|
12
|
+
// --- STABLE SIGNALS ONLY ---
|
|
13
|
+
try {
|
|
14
|
+
const glCanvas = document.createElement('canvas');
|
|
15
|
+
const gl = glCanvas.getContext('webgl') || glCanvas.getContext('experimental-webgl');
|
|
16
|
+
if (gl) {
|
|
17
|
+
const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
|
|
18
|
+
if (debugInfo) {
|
|
19
|
+
data.webglVendor = gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL);
|
|
20
|
+
data.webglRenderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
data.webglVendor = gl.getParameter(gl.VENDOR);
|
|
24
|
+
data.webglRenderer = gl.getParameter(gl.RENDERER);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
data.webglError = true;
|
|
30
|
+
}
|
|
31
|
+
return hash(data);
|
|
32
|
+
}
|
|
33
|
+
;
|
package/dist/fn.d.ts
CHANGED
|
@@ -175,6 +175,7 @@ import iterate from './fn/loop/iterate.js';
|
|
|
175
175
|
import lightenDarkenHex from './fn/style/lightenDarkenHex.js';
|
|
176
176
|
import link from './fn/ajax/link.js';
|
|
177
177
|
import log from './fn/browser/log.js';
|
|
178
|
+
import makeFingerprint from './fn/browser/makeFingerprint.js';
|
|
178
179
|
import makeReactive from './fn/html/makeReactive.js';
|
|
179
180
|
import map from './fn/object/map.js';
|
|
180
181
|
import md5 from './fn/string/md5.js';
|
|
@@ -424,6 +425,7 @@ declare const _default: {
|
|
|
424
425
|
lightenDarkenHex: typeof lightenDarkenHex;
|
|
425
426
|
link: typeof link;
|
|
426
427
|
log: typeof log;
|
|
428
|
+
makeFingerprint: typeof makeFingerprint;
|
|
427
429
|
makeReactive: typeof makeReactive;
|
|
428
430
|
map: typeof map;
|
|
429
431
|
md5: typeof md5;
|
package/dist/fn.js
CHANGED
|
@@ -175,6 +175,7 @@ import iterate from './fn/loop/iterate.js';
|
|
|
175
175
|
import lightenDarkenHex from './fn/style/lightenDarkenHex.js';
|
|
176
176
|
import link from './fn/ajax/link.js';
|
|
177
177
|
import log from './fn/browser/log.js';
|
|
178
|
+
import makeFingerprint from './fn/browser/makeFingerprint.js';
|
|
178
179
|
import makeReactive from './fn/html/makeReactive.js';
|
|
179
180
|
import map from './fn/object/map.js';
|
|
180
181
|
import md5 from './fn/string/md5.js';
|
|
@@ -424,6 +425,7 @@ export default {
|
|
|
424
425
|
lightenDarkenHex,
|
|
425
426
|
link,
|
|
426
427
|
log,
|
|
428
|
+
makeFingerprint,
|
|
427
429
|
makeReactive,
|
|
428
430
|
map,
|
|
429
431
|
md5,
|