@thumbmarkjs/thumbmarkjs 0.12.2 → 0.12.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.
@@ -24,22 +24,10 @@ function generateCanvasFingerprint() {
24
24
  var commonImageData = (0, commonPixels_1.getCommonPixels)(imageDatas, _WIDTH, _HEIGHT);
25
25
  resolve({
26
26
  'commonImageDataHash': (0, hash_1.hash)(commonImageData.data.toString()).toString(),
27
- 'dataURL': imageDataToDataURL(commonImageData),
28
27
  });
29
28
  });
30
29
  }
31
30
  exports.default = generateCanvasFingerprint;
32
- function imageDataToDataURL(imageData) {
33
- var canvas = document.createElement('canvas');
34
- var context = canvas.getContext('2d');
35
- if (!context) {
36
- throw new Error('Canvas context not supported');
37
- }
38
- canvas.width = imageData.width;
39
- canvas.height = imageData.height;
40
- context.putImageData(imageData, 0, 0);
41
- return canvas.toDataURL();
42
- }
43
31
  function generateCanvasImageData() {
44
32
  var canvas = document.createElement('canvas');
45
33
  var ctx = canvas.getContext('2d');
@@ -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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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var canvas_1 = require("./canvas");
4
+ var MockImageData = /** @class */ (function () {
5
+ function MockImageData(pixelData, width, height) {
6
+ this.width = width;
7
+ this.height = height;
8
+ this.data = new Uint8ClampedArray(pixelData);
9
+ ; // Mimic the data structure of ImageData
10
+ }
11
+ return MockImageData;
12
+ }());
13
+ // Mock the global ImageData object in jsdom environment
14
+ global.ImageData = MockImageData;
15
+ var createImageFromArray = function (array) {
16
+ var width = 1;
17
+ var height = 1;
18
+ var pixelData = array;
19
+ var pixelArray = new Uint8ClampedArray(pixelData);
20
+ return new ImageData(pixelArray, width, height);
21
+ };
22
+ describe('canvas tests', function () {
23
+ test("single pixel array", function () {
24
+ var pixel1 = createImageFromArray([128, 255, 255, 255]);
25
+ var pixel2 = createImageFromArray([255, 200, 255, 230]);
26
+ var pixel3 = createImageFromArray([255, 255, 250, 255]);
27
+ var pixel4 = createImageFromArray([255, 255, 255, 255]);
28
+ expect((0, canvas_1.getCommonPixels)([pixel1, pixel2, pixel3], 1, 1)).toBeInstanceOf(ImageData);
29
+ expect((0, canvas_1.getCommonPixels)([pixel1, pixel2, pixel3], 1, 1).data).toStrictEqual(pixel4.data);
30
+ });
31
+ });
32
+ //# sourceMappingURL=canvas.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.test.js","sourceRoot":"","sources":["../../../src/components/canvas/canvas.test.ts"],"names":[],"mappings":";;AAAA,mCAA2C;AAE3C;IAKI,uBAAY,SAAmB,EAAE,KAAa,EAAE,MAAc;QAC5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAAA,CAAC,CAAC,wCAAwC;IACzF,CAAC;IACH,oBAAC;AAAD,CAAC,AAVH,IAUG;AAEH,wDAAwD;AACvD,MAAc,CAAC,SAAS,GAAG,aAAa,CAAC;AAE1C,IAAM,oBAAoB,GAAG,UAAC,KAAe;IACzC,IAAM,KAAK,GAAG,CAAC,CAAC;IAChB,IAAM,MAAM,GAAG,CAAC,CAAC;IACjB,IAAM,SAAS,GAAG,KAAK,CAAC;IACxB,IAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpD,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC,CAAA;AAED,QAAQ,CAAC,cAAc,EAAE;IACrB,IAAI,CAAC,oBAAoB,EAAE;QACvB,IAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,IAAA,wBAAe,EAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAClF,MAAM,CAAC,IAAA,wBAAe,EAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -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"}
@@ -39,19 +39,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  var factory_1 = require("../../factory");
40
40
  var hash_1 = require("../../utils/hash");
41
41
  var commonPixels_1 = require("../../utils/commonPixels");
42
+ var canvas = document.createElement('canvas');
43
+ canvas.width = 200;
44
+ canvas.height = 100;
45
+ var gl = canvas.getContext('webgl');
42
46
  function createWebGLFingerprint() {
43
47
  return __awaiter(this, void 0, void 0, function () {
44
- var canvas, gl, imageDatas, commonImageData;
48
+ var imageDatas, commonImageData;
45
49
  return __generator(this, function (_a) {
46
50
  try {
47
- canvas = document.createElement('canvas');
48
- canvas.width = 200;
49
- canvas.height = 100;
50
- gl = canvas.getContext('webgl');
51
51
  if (!gl) {
52
52
  throw new Error('WebGL not supported');
53
53
  }
54
- imageDatas = Array.from({ length: 3 }, function () { return createWebGLImageData(); });
54
+ imageDatas = Array.from({ length: 1 }, function () { return createWebGLImageData(); });
55
55
  commonImageData = (0, commonPixels_1.getCommonPixels)(imageDatas, canvas.width, canvas.height);
56
56
  //const imageData = createWebGLImageData()
57
57
  return [2 /*return*/, {
@@ -72,12 +72,7 @@ function createWebGLFingerprint() {
72
72
  });
73
73
  }
74
74
  function createWebGLImageData() {
75
- var gl = null;
76
75
  try {
77
- var canvas = document.createElement('canvas');
78
- canvas.width = 200;
79
- canvas.height = 100;
80
- gl = canvas.getContext('webgl');
81
76
  if (!gl) {
82
77
  throw new Error('WebGL not supported');
83
78
  }
@@ -135,12 +130,6 @@ function createWebGLImageData() {
135
130
  var pixelData = new Uint8ClampedArray(canvas.width * canvas.height * 4);
136
131
  gl.readPixels(0, 0, canvas.width, canvas.height, gl.RGBA, gl.UNSIGNED_BYTE, pixelData);
137
132
  var imageData = new ImageData(pixelData, canvas.width, canvas.height);
138
- // WebGL cleanup
139
- gl.disableVertexAttribArray(positionAttribute);
140
- gl.deleteBuffer(vertexBuffer);
141
- gl.deleteProgram(shaderProgram);
142
- gl.deleteShader(vertexShader);
143
- gl.deleteShader(fragmentShader);
144
133
  return imageData;
145
134
  }
146
135
  catch (error) {
@@ -149,10 +138,11 @@ function createWebGLImageData() {
149
138
  }
150
139
  finally {
151
140
  if (gl) {
152
- var loseContextExtension = gl.getExtension('WEBGL_lose_context');
153
- if (loseContextExtension) {
154
- loseContextExtension.loseContext();
155
- }
141
+ // Reset WebGL state
142
+ gl.bindBuffer(gl.ARRAY_BUFFER, null);
143
+ gl.useProgram(null);
144
+ gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
145
+ gl.clearColor(0.0, 0.0, 0.0, 0.0);
156
146
  }
157
147
  }
158
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webgl.js","sourceRoot":"","sources":["../../../src/components/webgl/webgl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoE;AACpE,yCAAuC;AACvC,yDAA2D;AAE3D,SAAe,sBAAsB;;;;YACnC,IAAI,CAAC;gBAEG,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;gBACnB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;gBAEd,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACtC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAC3C,CAAC;gBAEK,UAAU,GAAgB,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,EAAE,cAAM,OAAA,oBAAoB,EAAE,EAAtB,CAAsB,CAAE,CAAC;gBAEjF,eAAe,GAAG,IAAA,8BAAe,EAAC,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjF,0CAA0C;gBAE1C,sBAAO;wBACL,iBAAiB,EAAE,IAAA,WAAI,EAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;wBACnE,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC;wBACxC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC;wBACpC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC;wBACtC,wBAAwB,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,wBAAwB,CAAC;qBACvE,EAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sBAAO;wBACL,OAAO,EAAE,aAAa;qBACvB,EAAA;YACH,CAAC;;;;CACF;AAED,SAAS,oBAAoB;IAC3B,IAAI,EAAE,GAAG,IAAI,CAAA;IACb,IAAI,CAAC;QACD,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;QACnB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;QAEpB,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAM,kBAAkB,GAAG,2IAK1B,CAAC;QAEF,IAAM,oBAAoB,GAAG,sKAK5B,CAAC;QAEF,IAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACvD,IAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QAE3D,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAClD,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAEtD,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;QAC9F,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;QAClG,CAAC;QAED,IAAM,aAAa,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;QAEzC,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAC7C,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAC/C,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE7B,gCAAgC;QAChC,IAAM,SAAS,GAAW,GAAG,CAAC;QAC9B,IAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACjD,IAAM,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,IAAM,KAAK,GAAG,CAAC,GAAG,cAAc,CAAC;YAEjC,0CAA0C;YAC1C,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;YAChC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;YACpC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa;YACzE,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa;QAC9E,CAAC;QAED,IAAM,YAAY,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC;QACvC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC7C,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;QAEzD,IAAM,iBAAiB,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC1E,EAAE,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;QAC9C,EAAE,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpE,SAAS;QACT,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;QAC9B,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QAE1C,IAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1E,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACvF,IAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAExE,gBAAgB;QAChB,EAAE,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;QAC/C,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC9B,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAChC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC9B,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAEhC,OAAO,SAAS,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,EAAE,CAAC;YACP,IAAM,oBAAoB,GAAG,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;YACnE,IAAI,oBAAoB,EAAE,CAAC;gBACvB,oBAAoB,CAAC,WAAW,EAAE,CAAC;YACvC,CAAC;QACL,CAAC;IACD,CAAC;AACH,CAAC;AAEC,IAAA,0BAAgB,EAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"webgl.js","sourceRoot":"","sources":["../../../src/components/webgl/webgl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoE;AACpE,yCAAuC;AACvC,yDAA2D;AAE3D,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;AACnB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;AACpB,IAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAEtC,SAAe,sBAAsB;;;;YACnC,IAAI,CAAC;gBAEH,IAAI,CAAC,EAAE,EAAE,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAC3C,CAAC;gBAGK,UAAU,GAAgB,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,EAAE,cAAM,OAAA,oBAAoB,EAAE,EAAtB,CAAsB,CAAE,CAAC;gBAEjF,eAAe,GAAG,IAAA,8BAAe,EAAC,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjF,0CAA0C;gBAE1C,sBAAO;wBACL,iBAAiB,EAAE,IAAA,WAAI,EAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;wBACnE,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC;wBACxC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC;wBACpC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC;wBACtC,wBAAwB,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,wBAAwB,CAAC;qBACvE,EAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sBAAO;wBACL,OAAO,EAAE,aAAa;qBACvB,EAAA;YACH,CAAC;;;;CACF;AAED,SAAS,oBAAoB;IAC3B,IAAI,CAAC;QAED,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAM,kBAAkB,GAAG,2IAK1B,CAAC;QAEF,IAAM,oBAAoB,GAAG,sKAK5B,CAAC;QAEF,IAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACvD,IAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QAE3D,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAClD,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAEtD,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;QAC9F,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;QAClG,CAAC;QAED,IAAM,aAAa,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;QAEzC,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAC7C,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAC/C,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE7B,gCAAgC;QAChC,IAAM,SAAS,GAAW,GAAG,CAAC;QAC9B,IAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACjD,IAAM,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,IAAM,KAAK,GAAG,CAAC,GAAG,cAAc,CAAC;YAEjC,0CAA0C;YAC1C,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;YAChC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;YACpC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa;YACzE,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa;QAC9E,CAAC;QAED,IAAM,YAAY,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC;QACvC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC7C,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;QAEzD,IAAM,iBAAiB,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC1E,EAAE,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;QAC9C,EAAE,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpE,SAAS;QACT,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;QAC9B,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QAE1C,IAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1E,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACvF,IAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAExE,OAAO,SAAS,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,EAAE,CAAC;YACP,oBAAoB;YACpB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACrC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpB,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;YACjE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC;AAEC,IAAA,0BAAgB,EAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const getItem: (key: string) => Promise<string>;
2
+ export { getItem };
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getItem = void 0;
40
+ var index_1 = require("../index");
41
+ var getItem = function (key) { return __awaiter(void 0, void 0, void 0, function () {
42
+ var errors, storageUrl, namespace, fp, url;
43
+ return __generator(this, function (_a) {
44
+ switch (_a.label) {
45
+ case 0:
46
+ errors = validOptions(index_1.options);
47
+ if (errors) {
48
+ throw errors;
49
+ }
50
+ storageUrl = index_1.options.storageUrl, namespace = index_1.options.namespace;
51
+ return [4 /*yield*/, (0, index_1.getFingerprint)()];
52
+ case 1:
53
+ fp = _a.sent();
54
+ url = "".concat(storageUrl, "/").concat(namespace, "/").concat(fp, "/").concat(key);
55
+ return [2 /*return*/, fetch(url, {
56
+ method: 'GET',
57
+ })
58
+ .then(function (response) {
59
+ if (!response.ok) {
60
+ throw new Error("HTTP error! status: ".concat(response.status));
61
+ }
62
+ return response.json();
63
+ })
64
+ .catch(function (error) {
65
+ console.error('There was an error!', error);
66
+ })];
67
+ }
68
+ });
69
+ }); };
70
+ exports.getItem = getItem;
71
+ var validOptions = function (opt) {
72
+ var errors = [];
73
+ if (typeof opt.storageUrl !== 'string' || typeof opt.namespace !== 'string')
74
+ errors.push('storageUrl and namespace must be strings');
75
+ if (opt.namespace.length < 5)
76
+ errors.push('namespace must be at least 5 characters long');
77
+ if (errors.length > 0)
78
+ return new Error(errors.join(', '));
79
+ return null;
80
+ };
81
+ //# sourceMappingURL=getItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getItem.js","sourceRoot":"","sources":["../../src/storage/getItem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAA+E;AAG/E,IAAM,OAAO,GAAG,UAAO,GAAW;;;;;gBACxB,MAAM,GAAG,YAAY,CAAC,eAAO,CAAC,CAAA;gBACpC,IAAI,MAAM,EAAE,CAAC;oBAAC,MAAM,MAAM,CAAA;gBAAC,CAAC;gBACpB,UAAU,GAAgB,eAAO,WAAvB,EAAE,SAAS,GAAK,eAAO,UAAZ,CAAY;gBAC9B,qBAAM,IAAA,sBAAc,GAAE,EAAA;;gBAA3B,EAAE,GAAG,SAAsB;gBAC3B,GAAG,GAAG,UAAG,UAAU,cAAI,SAAS,cAAI,EAAE,cAAI,GAAG,CAAE,CAAA;gBAErD,sBAAO,KAAK,CAAC,GAAG,EAAE;wBACd,MAAM,EAAE,KAAK;qBAChB,CAAC;yBACD,IAAI,CAAC,UAAA,QAAQ;wBACV,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;4BACf,MAAM,IAAI,KAAK,CAAC,8BAAuB,QAAQ,CAAC,MAAM,CAAE,CAAC,CAAC;wBAC9D,CAAC;wBACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC3B,CAAC,CAAC;yBACD,KAAK,CAAC,UAAA,KAAK;wBACR,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;oBAChD,CAAC,CAAC,EAAC;;;KACN,CAAA;AAcQ,0BAAO;AAZhB,IAAM,YAAY,GAAG,UAAC,GAAgC;IAClD,IAAM,MAAM,GAAG,EAAE,CAAA;IACjB,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QACvE,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IAC3D,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;IAE/D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QACjB,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACvC,OAAO,IAAI,CAAA;AACf,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { getItem } from './getItem';
2
+ import { setItem } from './setItem';
3
+ export { setItem, getItem };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getItem = exports.setItem = void 0;
4
+ var getItem_1 = require("./getItem");
5
+ Object.defineProperty(exports, "getItem", { enumerable: true, get: function () { return getItem_1.getItem; } });
6
+ var setItem_1 = require("./setItem");
7
+ Object.defineProperty(exports, "setItem", { enumerable: true, get: function () { return setItem_1.setItem; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AAGjB,wFAHT,iBAAO,OAGS;AAFzB,qCAAmC;AAE1B,wFAFA,iBAAO,OAEA"}
@@ -0,0 +1,2 @@
1
+ declare const setItem: (key: string, value: string) => Promise<string>;
2
+ export { setItem };
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.setItem = void 0;
40
+ var index_1 = require("../index");
41
+ var setItem = function (key, value) { return __awaiter(void 0, void 0, void 0, function () {
42
+ var errors, storageUrl, namespace, fp, data;
43
+ return __generator(this, function (_a) {
44
+ switch (_a.label) {
45
+ case 0:
46
+ errors = validOptions(index_1.options);
47
+ if (errors) {
48
+ throw errors;
49
+ }
50
+ storageUrl = index_1.options.storageUrl, namespace = index_1.options.namespace;
51
+ return [4 /*yield*/, (0, index_1.getFingerprint)()];
52
+ case 1:
53
+ fp = _a.sent();
54
+ data = {
55
+ key: key,
56
+ value: value,
57
+ namespace: namespace,
58
+ fingerprint: fp
59
+ };
60
+ console.log(data);
61
+ return [2 /*return*/, fetch(storageUrl, {
62
+ method: 'POST',
63
+ headers: {
64
+ 'Content-Type': 'application/json'
65
+ },
66
+ body: JSON.stringify(data),
67
+ })
68
+ .then(function (response) {
69
+ if (!response.ok) {
70
+ throw new Error("HTTP error! status: ".concat(response.status));
71
+ }
72
+ return response.json();
73
+ })
74
+ .catch(function (error) {
75
+ console.error('There was an error!', error);
76
+ })];
77
+ }
78
+ });
79
+ }); };
80
+ exports.setItem = setItem;
81
+ var validOptions = function (opt) {
82
+ var errors = [];
83
+ if (typeof opt.storageUrl !== 'string' || typeof opt.namespace !== 'string')
84
+ errors.push('storageUrl and namespace must be strings');
85
+ if (opt.namespace.length < 5)
86
+ errors.push('namespace must be at least 5 characters long');
87
+ if (errors.length > 0)
88
+ return new Error(errors.join(', '));
89
+ return null;
90
+ };
91
+ //# sourceMappingURL=setItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setItem.js","sourceRoot":"","sources":["../../src/storage/setItem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAA+E;AAG/E,IAAM,OAAO,GAAG,UAAO,GAAW,EAAE,KAAa;;;;;gBACvC,MAAM,GAAG,YAAY,CAAC,eAAO,CAAC,CAAA;gBACpC,IAAI,MAAM,EAAE,CAAC;oBAAC,MAAM,MAAM,CAAA;gBAAC,CAAC;gBACpB,UAAU,GAAgB,eAAO,WAAvB,EAAE,SAAS,GAAK,eAAO,UAAZ,CAAY;gBAC9B,qBAAM,IAAA,sBAAc,GAAE,EAAA;;gBAA3B,EAAE,GAAG,SAAsB;gBAE3B,IAAI,GAAG;oBACT,GAAG,EAAE,GAAG;oBACR,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,SAAS;oBACpB,WAAW,EAAE,EAAE;iBAClB,CAAA;gBACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAEjB,sBAAO,KAAK,CAAC,UAAU,EAAE;wBACrB,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE;4BACL,cAAc,EAAE,kBAAkB;yBACrC;wBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;qBAC7B,CAAC;yBACD,IAAI,CAAC,UAAA,QAAQ;wBACV,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;4BACf,MAAM,IAAI,KAAK,CAAC,8BAAuB,QAAQ,CAAC,MAAM,CAAE,CAAC,CAAC;wBAC9D,CAAC;wBACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC3B,CAAC,CAAC;yBACD,KAAK,CAAC,UAAA,KAAK;wBACR,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;oBAChD,CAAC,CAAC,EAAC;;;KACN,CAAA;AAcQ,0BAAO;AAZhB,IAAM,YAAY,GAAG,UAAC,GAAgC;IAClD,IAAM,MAAM,GAAG,EAAE,CAAA;IACjB,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QACvE,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IAC3D,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;IAE/D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QACjB,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACvC,OAAO,IAAI,CAAA;AACf,CAAC,CAAA"}
@@ -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.2",
3
+ "version": "0.12.4",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",