@thumbmarkjs/thumbmarkjs 0.12.2 → 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/dist/components/canvas/canvas.js +0 -12
- package/dist/components/canvas/canvas.js.map +1 -1
- package/dist/components/canvas/canvas.test.d.ts +1 -0
- package/dist/components/canvas/canvas.test.js +32 -0
- package/dist/components/canvas/canvas.test.js.map +1 -0
- package/dist/components/system/browser.js +12 -3
- package/dist/components/system/browser.js.map +1 -1
- package/dist/storage/getItem.d.ts +2 -0
- package/dist/storage/getItem.js +81 -0
- package/dist/storage/getItem.js.map +1 -0
- package/dist/storage/index.d.ts +3 -0
- package/dist/storage/index.js +8 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/setItem.d.ts +2 -0
- package/dist/storage/setItem.js +91 -0
- package/dist/storage/setItem.js.map +1 -0
- package/dist/utils/imageDataToDataURL.d.ts +1 -0
- package/dist/utils/imageDataToDataURL.js +16 -0
- package/dist/utils/imageDataToDataURL.js.map +1 -0
- package/package.json +1 -1
|
@@ -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":";;AAAA,yCAAoE;AACpE,yCAAuC;AACvC,yDAA2D;AAC3D,6CAA+C;AAE/C;;;;GAIG;AAEH,IAAM,MAAM,GAAG,GAAG,CAAC;AACnB,IAAM,OAAO,GAAG,EAAE,CAAC;AAEnB,SAAwB,yBAAyB;IAC7C,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEpC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;QAEvB;;;;WAIG;QACH,IAAM,UAAU,GAAgB,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,EAAE,cAAM,OAAA,uBAAuB,EAAE,EAAzB,CAAyB,CAAE,CAAC;QAC1F,IAAM,eAAe,GAAG,IAAA,8BAAe,EAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAErE,OAAO,CACH;YACI,qBAAqB,EAAE,IAAA,WAAI,EAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;
|
|
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
|
-
//
|
|
16
|
-
/(?<name>
|
|
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:
|
|
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,
|
|
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,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,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,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"}
|