@thumbmarkjs/thumbmarkjs 0.12.1 → 0.12.3

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/README.md CHANGED
@@ -53,6 +53,8 @@ and in your code
53
53
  import { getFingerprint } from '@thumbmarkjs/thumbmarkjs'
54
54
  ```
55
55
 
56
+ :warning: note, thumbmarkjs was published up to version 0.12.1 to NPM package `thumbmarkjs` and from v0.12.1 onwards will be published under `@thumbmarkjs/thumbmarkjs`. I'll occasionally update the old location, but please update your imports.
57
+
56
58
  But bear in mind that the library is meant to be running in the browser. Let me know if the library fails on a server side import. However, `getFingerprint()` is not meant to be called server side.
57
59
 
58
60
  ## Build it yourself
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var factory_1 = require("../../factory");
4
4
  var hash_1 = require("../../utils/hash");
5
5
  var commonPixels_1 = require("../../utils/commonPixels");
6
+ var browser_1 = require("../system/browser");
6
7
  /**
7
8
  * A simple canvas finger printing function
8
9
  *
@@ -22,7 +23,7 @@ function generateCanvasFingerprint() {
22
23
  var imageDatas = Array.from({ length: 3 }, function () { return generateCanvasImageData(); });
23
24
  var commonImageData = (0, commonPixels_1.getCommonPixels)(imageDatas, _WIDTH, _HEIGHT);
24
25
  resolve({
25
- 'commonImageDataHash': (0, hash_1.hash)(commonImageData.data.toString()).toString()
26
+ 'commonImageDataHash': (0, hash_1.hash)(commonImageData.data.toString()).toString(),
26
27
  });
27
28
  });
28
29
  }
@@ -67,5 +68,6 @@ function generateCanvasImageData() {
67
68
  // Return data URL of the canvas
68
69
  return imageData;
69
70
  }
70
- (0, factory_1.includeComponent)('canvas', generateCanvasFingerprint);
71
+ if ((0, browser_1.getBrowser)().name != 'Firefox')
72
+ (0, factory_1.includeComponent)('canvas', generateCanvasFingerprint);
71
73
  //# sourceMappingURL=canvas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../src/components/canvas/canvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../src/components/canvas/canvas.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,10 @@ function getBrowser() {
12
12
  var ua = navigator.userAgent;
13
13
  // Define some regular expressions to match different browsers and their versions
14
14
  var regexes = [
15
- // Chrome, Chromium, Edge, Opera, Vivaldi, Brave, etc.
16
- /(?<name>(?:Chrome|Chromium|Edg|Edge|OPR|Opera|Vivaldi|Brave))\/(?<version>\d+(?:\.\d+)?)/,
15
+ // Edge
16
+ /(?<name>Edge|Edg)\/(?<version>\d+(?:\.\d+)?)/,
17
+ // Chrome, Chromium, Opera, Vivaldi, Brave, etc.
18
+ /(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\/(?<version>\d+(?:\.\d+)?)/,
17
19
  // Firefox, Waterfox, etc.
18
20
  /(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\/(?<version>\d+(?:\.\d+)?)/,
19
21
  // Safari, Mobile Safari, etc.
@@ -25,14 +27,21 @@ function getBrowser() {
25
27
  // Samsung internet browser
26
28
  /(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)?)/
27
29
  ];
30
+ // Define a map for browser name translations
31
+ var browserNameMap = {
32
+ 'Edg': 'Edge',
33
+ 'OPR': 'Opera'
34
+ };
28
35
  // Loop through the regexes and try to find a match
29
36
  for (var _i = 0, regexes_1 = regexes; _i < regexes_1.length; _i++) {
30
37
  var regex = regexes_1[_i];
31
38
  var match = ua.match(regex);
32
39
  if (match && match.groups) {
40
+ // Translate the browser name if necessary
41
+ var name_1 = browserNameMap[match.groups.name] || match.groups.name;
33
42
  // Return the browser name and version
34
43
  return {
35
- name: match.groups.name,
44
+ name: name_1,
36
45
  version: match.groups.version
37
46
  };
38
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/components/system/browser.ts"],"names":[],"mappings":";;;AAME,2FAA2F;AAC7F,SAAgB,UAAU;IACxB,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,SAAS;SACnB,CAAA;IACH,CAAC;IACC,IAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAA;IAC9B,iFAAiF;IACjF,IAAM,OAAO,GAAG;QACd,sDAAsD;QACtD,0FAA0F;QAC1F,0BAA0B;QAC1B,2EAA2E;QAC3E,8BAA8B;QAC9B,4CAA4C;QAC5C,qCAAqC;QACrC,4DAA4D;QAC5D,2DAA2D;QAC3D,+CAA+C;QAC/C,2BAA2B;QAC3B,oDAAoD;KACrD,CAAC;IAEF,mDAAmD;IACnD,KAAoB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE,CAAC;QAAzB,IAAM,KAAK,gBAAA;QACd,IAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1B,sCAAsC;YACtC,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;gBACvB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;aAC9B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC;AAzCH,gCAyCG"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/components/system/browser.ts"],"names":[],"mappings":";;;AAME,2FAA2F;AAC7F,SAAgB,UAAU;IACxB,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,SAAS;SACnB,CAAA;IACH,CAAC;IACC,IAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAA;IAC9B,iFAAiF;IACjF,IAAM,OAAO,GAAG;QACd,OAAO;QACP,8CAA8C;QAC9C,gDAAgD;QAChD,iFAAiF;QACjF,0BAA0B;QAC1B,2EAA2E;QAC3E,8BAA8B;QAC9B,4CAA4C;QAC5C,qCAAqC;QACrC,4DAA4D;QAC5D,2DAA2D;QAC3D,+CAA+C;QAC/C,2BAA2B;QAC3B,oDAAoD;KACrD,CAAC;IAEF,6CAA6C;IAC7C,IAAM,cAAc,GAA8B;QAChD,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,OAAO;KACf,CAAC;IAEF,mDAAmD;IACnD,KAAoB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE,CAAC;QAAzB,IAAM,KAAK,gBAAA;QACd,IAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1B,0CAA0C;YAC1C,IAAM,MAAI,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YACpE,sCAAsC;YACtC,OAAO;gBACL,IAAI,EAAE,MAAI;gBACV,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;aAC9B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC;AAnDH,gCAmDG"}
@@ -0,0 +1 @@
1
+ export declare function imageDataToDataURL(imageData: ImageData): string;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.imageDataToDataURL = void 0;
4
+ function imageDataToDataURL(imageData) {
5
+ var canvas = document.createElement('canvas');
6
+ var context = canvas.getContext('2d');
7
+ if (!context) {
8
+ throw new Error('Canvas context not supported');
9
+ }
10
+ canvas.width = imageData.width;
11
+ canvas.height = imageData.height;
12
+ context.putImageData(imageData, 0, 0);
13
+ return canvas.toDataURL();
14
+ }
15
+ exports.imageDataToDataURL = imageDataToDataURL;
16
+ //# sourceMappingURL=imageDataToDataURL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageDataToDataURL.js","sourceRoot":"","sources":["../../src/utils/imageDataToDataURL.ts"],"names":[],"mappings":";;;AAAA,SAAgB,kBAAkB,CAAC,SAAoB;IACnD,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAEjC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtC,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;AAC9B,CAAC;AAdD,gDAcC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thumbmarkjs/thumbmarkjs",
3
- "version": "0.12.1",
3
+ "version": "0.12.3",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",