matrix-react-sdk
Version:
SDK for matrix.org using React
26 lines (23 loc) • 3.04 kB
JavaScript
;
var _blurhash = require("blurhash");
/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
const ctx = self;
ctx.addEventListener("message", event => {
const {
seq,
imageData
} = event.data;
const blurhash = (0, _blurhash.encode)(imageData.data, imageData.width, imageData.height,
// use 4 components on the longer dimension, if square then both
imageData.width >= imageData.height ? 4 : 3, imageData.height >= imageData.width ? 4 : 3);
ctx.postMessage({
seq,
blurhash
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYmx1cmhhc2giLCJyZXF1aXJlIiwiY3R4Iiwic2VsZiIsImFkZEV2ZW50TGlzdGVuZXIiLCJldmVudCIsInNlcSIsImltYWdlRGF0YSIsImRhdGEiLCJibHVyaGFzaCIsImVuY29kZSIsIndpZHRoIiwiaGVpZ2h0IiwicG9zdE1lc3NhZ2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ya2Vycy9ibHVyaGFzaC53b3JrZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IHsgZW5jb2RlIH0gZnJvbSBcImJsdXJoYXNoXCI7XG5cbmltcG9ydCB7IFdvcmtlclBheWxvYWQgfSBmcm9tIFwiLi93b3JrZXJcIjtcblxuY29uc3QgY3R4OiBXb3JrZXIgPSBzZWxmIGFzIGFueTtcblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0IHtcbiAgICBpbWFnZURhdGE6IEltYWdlRGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZSB7XG4gICAgYmx1cmhhc2g6IHN0cmluZztcbn1cblxuY3R4LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIChldmVudDogTWVzc2FnZUV2ZW50PFJlcXVlc3QgJiBXb3JrZXJQYXlsb2FkPik6IHZvaWQgPT4ge1xuICAgIGNvbnN0IHsgc2VxLCBpbWFnZURhdGEgfSA9IGV2ZW50LmRhdGE7XG4gICAgY29uc3QgYmx1cmhhc2ggPSBlbmNvZGUoXG4gICAgICAgIGltYWdlRGF0YS5kYXRhLFxuICAgICAgICBpbWFnZURhdGEud2lkdGgsXG4gICAgICAgIGltYWdlRGF0YS5oZWlnaHQsXG4gICAgICAgIC8vIHVzZSA0IGNvbXBvbmVudHMgb24gdGhlIGxvbmdlciBkaW1lbnNpb24sIGlmIHNxdWFyZSB0aGVuIGJvdGhcbiAgICAgICAgaW1hZ2VEYXRhLndpZHRoID49IGltYWdlRGF0YS5oZWlnaHQgPyA0IDogMyxcbiAgICAgICAgaW1hZ2VEYXRhLmhlaWdodCA+PSBpbWFnZURhdGEud2lkdGggPyA0IDogMyxcbiAgICApO1xuXG4gICAgY3R4LnBvc3RNZXNzYWdlKHsgc2VxLCBibHVyaGFzaCB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQVFBLElBQUFBLFNBQUEsR0FBQUMsT0FBQTtBQVJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQU1BLE1BQU1DLEdBQVcsR0FBR0MsSUFBVztBQVUvQkQsR0FBRyxDQUFDRSxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUdDLEtBQTRDLElBQVc7RUFDcEYsTUFBTTtJQUFFQyxHQUFHO0lBQUVDO0VBQVUsQ0FBQyxHQUFHRixLQUFLLENBQUNHLElBQUk7RUFDckMsTUFBTUMsUUFBUSxHQUFHLElBQUFDLGdCQUFNLEVBQ25CSCxTQUFTLENBQUNDLElBQUksRUFDZEQsU0FBUyxDQUFDSSxLQUFLLEVBQ2ZKLFNBQVMsQ0FBQ0ssTUFBTTtFQUNoQjtFQUNBTCxTQUFTLENBQUNJLEtBQUssSUFBSUosU0FBUyxDQUFDSyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFDM0NMLFNBQVMsQ0FBQ0ssTUFBTSxJQUFJTCxTQUFTLENBQUNJLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FDOUMsQ0FBQztFQUVEVCxHQUFHLENBQUNXLFdBQVcsQ0FBQztJQUFFUCxHQUFHO0lBQUVHO0VBQVMsQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==