matrix-react-sdk
Version:
SDK for matrix.org using React
36 lines (34 loc) • 3.9 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.BlurhashEncoder = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _WorkerManager = require("./WorkerManager");
var _blurhashWorkerFactory = _interopRequireDefault(require("./workers/blurhashWorkerFactory"));
var _BlurhashEncoder;
/*
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.
*/
// @ts-ignore - `.ts` is needed here to make TS happy
class BlurhashEncoder {
constructor() {
(0, _defineProperty2.default)(this, "worker", new _WorkerManager.WorkerManager((0, _blurhashWorkerFactory.default)()));
}
static get instance() {
return BlurhashEncoder.internalInstance;
}
getBlurhash(imageData) {
return this.worker.call({
imageData
}).then(resp => resp.blurhash);
}
}
exports.BlurhashEncoder = BlurhashEncoder;
_BlurhashEncoder = BlurhashEncoder;
(0, _defineProperty2.default)(BlurhashEncoder, "internalInstance", new _BlurhashEncoder());
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfV29ya2VyTWFuYWdlciIsInJlcXVpcmUiLCJfYmx1cmhhc2hXb3JrZXJGYWN0b3J5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9CbHVyaGFzaEVuY29kZXIiLCJCbHVyaGFzaEVuY29kZXIiLCJjb25zdHJ1Y3RvciIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwiV29ya2VyTWFuYWdlciIsImJsdXJoYXNoV29ya2VyRmFjdG9yeSIsImluc3RhbmNlIiwiaW50ZXJuYWxJbnN0YW5jZSIsImdldEJsdXJoYXNoIiwiaW1hZ2VEYXRhIiwid29ya2VyIiwiY2FsbCIsInRoZW4iLCJyZXNwIiwiYmx1cmhhc2giLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL0JsdXJoYXNoRW5jb2Rlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4vLyBAdHMtaWdub3JlIC0gYC50c2AgaXMgbmVlZGVkIGhlcmUgdG8gbWFrZSBUUyBoYXBweVxuaW1wb3J0IHsgUmVxdWVzdCwgUmVzcG9uc2UgfSBmcm9tIFwiLi93b3JrZXJzL2JsdXJoYXNoLndvcmtlci50c1wiO1xuaW1wb3J0IHsgV29ya2VyTWFuYWdlciB9IGZyb20gXCIuL1dvcmtlck1hbmFnZXJcIjtcbmltcG9ydCBibHVyaGFzaFdvcmtlckZhY3RvcnkgZnJvbSBcIi4vd29ya2Vycy9ibHVyaGFzaFdvcmtlckZhY3RvcnlcIjtcblxuZXhwb3J0IGNsYXNzIEJsdXJoYXNoRW5jb2RlciB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgaW50ZXJuYWxJbnN0YW5jZSA9IG5ldyBCbHVyaGFzaEVuY29kZXIoKTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGluc3RhbmNlKCk6IEJsdXJoYXNoRW5jb2RlciB7XG4gICAgICAgIHJldHVybiBCbHVyaGFzaEVuY29kZXIuaW50ZXJuYWxJbnN0YW5jZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHdvcmtlciA9IG5ldyBXb3JrZXJNYW5hZ2VyPFJlcXVlc3QsIFJlc3BvbnNlPihibHVyaGFzaFdvcmtlckZhY3RvcnkoKSk7XG5cbiAgICBwdWJsaWMgZ2V0Qmx1cmhhc2goaW1hZ2VEYXRhOiBJbWFnZURhdGEpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy53b3JrZXIuY2FsbCh7IGltYWdlRGF0YSB9KS50aGVuKChyZXNwKSA9PiByZXNwLmJsdXJoYXNoKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBVUEsSUFBQUEsY0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsc0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUFvRSxJQUFBRyxnQkFBQTtBQVhwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBS08sTUFBTUMsZUFBZSxDQUFDO0VBQUFDLFlBQUE7SUFBQSxJQUFBQyxnQkFBQSxDQUFBQyxPQUFBLGtCQU9DLElBQUlDLDRCQUFhLENBQW9CLElBQUFDLDhCQUFxQixFQUFDLENBQUMsQ0FBQztFQUFBO0VBSnZGLFdBQWtCQyxRQUFRQSxDQUFBLEVBQW9CO0lBQzFDLE9BQU9OLGVBQWUsQ0FBQ08sZ0JBQWdCO0VBQzNDO0VBSU9DLFdBQVdBLENBQUNDLFNBQW9CLEVBQW1CO0lBQ3RELE9BQU8sSUFBSSxDQUFDQyxNQUFNLENBQUNDLElBQUksQ0FBQztNQUFFRjtJQUFVLENBQUMsQ0FBQyxDQUFDRyxJQUFJLENBQUVDLElBQUksSUFBS0EsSUFBSSxDQUFDQyxRQUFRLENBQUM7RUFDeEU7QUFDSjtBQUFDQyxPQUFBLENBQUFmLGVBQUEsR0FBQUEsZUFBQTtBQUFBRCxnQkFBQSxHQVpZQyxlQUFlO0FBQUEsSUFBQUUsZ0JBQUEsQ0FBQUMsT0FBQSxFQUFmSCxlQUFlLHNCQUNVLElBQUlBLGdCQUFlLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==