UNPKG

@swrve/smarttv-sdk

Version:

Swrve marketing engagement platform SDK for SmartTV OTT devices

48 lines (47 loc) 1.3 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.md5Async = exports.md5Sync = void 0; const md5_1 = __importDefault(require("crypto-js/md5")); const md5_worker_1 = __importDefault(require("worker-loader?inline=true&fallback=false!./md5.worker")); let globalMsgId = 0; const resolves = {}; let worker; if ("Worker" in window) { worker = new md5_worker_1.default(); worker.onmessage = handleMessage; } function handleMessage(ev) { const { id, payload } = ev.data; const resolve = resolves[id]; if (resolve) { resolve(payload); } delete resolves[id]; } function sendMessage(payload) { const msgId = globalMsgId++; const msg = { id: msgId, payload, }; return new Promise((resolve, reject) => { resolves[msgId] = resolve; worker.postMessage(msg); }); } function md5Sync(payload) { return md5_1.default(payload).toString(); } exports.md5Sync = md5Sync; function md5Async(payload) { if (worker) { return sendMessage(payload); } else { return Promise.resolve(md5Sync(payload)); } } exports.md5Async = md5Async;