{"version":3,"sources":["jsdelivr-header.js","/npm/@extend-chrome/messages@1.2.2/lib/index.cjs.js"],"names":[],"mappings":"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","file":"/npm/@extend-chrome/messages@1.2.2/lib/index.cjs.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@extend-chrome/messages@1.2.2/lib/index.cjs.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar rxjs = require('rxjs');\nvar operators = require('rxjs/operators');\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\n\nconst _listeners = new Map();\nconst _removeListener = (scope, callback) => {\n    const _callbacks = _listeners.get(scope);\n    if (_callbacks) {\n        _callbacks.delete(callback);\n    }\n};\nconst _getListener = (scope, callback) => {\n    const _callbacks = _listeners.get(scope);\n    if (_callbacks) {\n        return _callbacks.get(callback);\n    }\n};\nconst _setListener = (scope, callback, listener) => {\n    const _callbacks = _listeners.get(scope) || new Map();\n    _callbacks.set(callback, listener);\n    if (!_listeners.has(scope)) {\n        _listeners.set(scope, _callbacks);\n    }\n};\n\nconst scopeOn = (scope) => (callback) => {\n    const listener = (message, sender) => {\n        if (message.async || message.scope !== scope) {\n            return false;\n        }\n        try {\n            callback(message.payload, sender);\n        }\n        catch (error) {\n            // Log listener error\n            console.error('Uncaught error in chrome.runtime.onMessage listener');\n            console.error(error);\n        }\n        return false;\n    };\n    chrome.runtime.onMessage.addListener(listener);\n    _setListener(scope, callback, listener);\n};\nconst scopeAsyncOn = (scope) => (callback) => {\n    const listener = (message, sender, sendResponse) => {\n        if (message.async && scope === message.scope) {\n            handleMessage();\n            return true;\n        }\n        return false;\n        async function handleMessage() {\n            try {\n                const respond = (response) => {\n                    const coreResponse = {\n                        success: true,\n                        payload: response,\n                    };\n                    sendResponse(coreResponse);\n                };\n                await callback(message.payload, sender, respond);\n            }\n            catch (error) {\n                const response = {\n                    success: false,\n                    payload: {\n                        greeting: error.message,\n                    },\n                };\n                console.error(error);\n                sendResponse(response);\n            }\n        }\n    };\n    chrome.runtime.onMessage.addListener(listener);\n    _setListener(scope, callback, listener);\n};\nconst scopeOff = (scope) => (listener) => {\n    const _listener = _getListener(scope, listener);\n    if (_listener) {\n        _removeListener(scope, listener);\n        chrome.runtime.onMessage.removeListener(_listener);\n    }\n};\n\nclass ChromeMessageError extends Error {\n    constructor(_a) {\n        var _b, _c;\n        var { coreMessage = null, coreResponse = null, message = ((_c = (_b = chrome.runtime) === null || _b === void 0 ? void 0 : _b.lastError) === null || _c === void 0 ? void 0 : _c.message) ||\n            (coreResponse === null || coreResponse === void 0 ? void 0 : coreResponse.payload.greeting) ||\n            'chrome.runtime.lastError is undefined', } = _a;\n        super(message);\n        this.coreMessage = coreMessage;\n        this.coreResponse = coreResponse;\n    }\n}\n\nconst scopeSend = (scope) => (message, { tabId, frameId } = {}) => new Promise((resolve, reject) => {\n    const coreMessage = {\n        async: false,\n        tabId: tabId || null,\n        payload: message,\n        scope,\n    };\n    const callback = (response) => {\n        if (chrome.runtime.lastError) {\n            const lastError = chrome.runtime.lastError.message;\n            const noResponse = 'The message port closed before a response was received';\n            if (lastError && lastError.includes(noResponse)) {\n                resolve();\n            }\n            else {\n                reject(new ChromeMessageError({ coreMessage }));\n            }\n        }\n        else {\n            if (response && !response.success) {\n                reject(response.payload);\n            }\n            else {\n                resolve();\n            }\n        }\n    };\n    if (typeof tabId === 'number' && typeof frameId === 'number') {\n        chrome.tabs.sendMessage(tabId, coreMessage, { frameId }, callback);\n    }\n    else if (typeof tabId === 'number') {\n        chrome.tabs.sendMessage(tabId, coreMessage, callback);\n    }\n    else {\n        chrome.runtime.sendMessage(coreMessage, callback);\n    }\n});\nconst scopeAsyncSend = (scope) => (message, { tabId, frameId } = {}) => new Promise((resolve, reject) => {\n    const coreMessage = {\n        async: true,\n        tabId: tabId || null,\n        payload: message,\n        scope,\n    };\n    const callback = (coreResponse) => {\n        if (chrome.runtime.lastError ||\n            coreResponse === null ||\n            !coreResponse.success) {\n            reject(new ChromeMessageError({ coreMessage, coreResponse }));\n        }\n        else {\n            resolve(coreResponse.payload);\n        }\n    };\n    if (typeof tabId === 'number' && typeof frameId === 'number') {\n        chrome.tabs.sendMessage(tabId, coreMessage, { frameId }, callback);\n    }\n    else if (typeof tabId === 'number') {\n        chrome.tabs.sendMessage(tabId, coreMessage, callback);\n    }\n    else {\n        chrome.runtime.sendMessage(coreMessage, callback);\n    }\n});\n\nconst setupWaitForFirst = (stream) => (predicate = (() => true)) => stream.pipe(operators.first(predicate)).toPromise();\n\n/**\n * Get a messages scope by name.\n */\nfunction getScope(scope) {\n    const _asyncOn = scopeAsyncOn(scope);\n    const _asyncSend = scopeAsyncSend(scope);\n    const _off = scopeOff(scope);\n    const _on = scopeOn(scope);\n    const _send = scopeSend(scope);\n    async function send(data, options) {\n        const _options = options || {};\n        const { async = false } = _options, sendOptions = __rest(_options, [\"async\"]);\n        if (async) {\n            return _asyncSend(data, sendOptions);\n        }\n        else {\n            return _send(data, sendOptions);\n        }\n    }\n    function on(callback) {\n        if (isMessageListener(callback)) {\n            _on(callback);\n        }\n        else {\n            _asyncOn(callback);\n        }\n        function isMessageListener(x) {\n            return x.length < 3;\n        }\n    }\n    /** Remove a message listener from `on`. */\n    function off(fn) {\n        return _off(fn);\n    }\n    /** Untyped Observable of all messages in scope */\n    const stream = rxjs.merge(rxjs.fromEventPattern(_on, _off), rxjs.fromEventPattern(_asyncOn, _off));\n    /* ------------------ GET MESSAGE ----------------- */\n    const _greetings = new Set();\n    function getMessage(greeting, options) {\n        if (_greetings.has(greeting))\n            throw new Error('greeting is not unique');\n        _greetings.add(greeting);\n        const { async } = options || {};\n        const _send = (data, _options) => {\n            _options = _options || {};\n            let tabId;\n            if (typeof _options.tabId === 'number') {\n                tabId = _options.tabId;\n            }\n            let frameId;\n            if (typeof _options.frameId === 'number') {\n                frameId = _options.frameId;\n            }\n            if (async) {\n                return send({ greeting, data }, { async, tabId, frameId });\n            }\n            else {\n                return send({ greeting, data }, { tabId, frameId });\n            }\n        };\n        /** Use this to send a message with no data to a tab */\n        _send.toTab = ({ tabId }) => {\n            if (async) {\n                return send({ greeting }, { async, tabId });\n            }\n            else {\n                return send({ greeting }, { tabId });\n            }\n        };\n        if (async) {\n            const _stream = stream.pipe(\n            // Filter line messages\n            operators.filter(isMatchingMessage), \n            // Map message to data\n            operators.map(([{ data }, s, r]) => [data, s, r]), operators.filter((x) => x.length === 3));\n            return [_send, _stream, setupWaitForFirst(stream)];\n        }\n        else {\n            const _stream = stream.pipe(\n            // Filter line messages\n            operators.filter(isMatchingMessage), \n            // Map message to data\n            operators.map(([{ data }, s]) => [data, s]), operators.filter((x) => x.length < 3));\n            return [_send, _stream, setupWaitForFirst(_stream)];\n        }\n        function isMatchingMessage([x]) {\n            return x && typeof x === 'object' && x.greeting === greeting;\n        }\n    }\n    return {\n        send,\n        on,\n        off,\n        stream,\n        getMessage,\n    };\n}\n\n// Default scope\nconst __defaultScopeName = '@extend-chrome/messages__root';\nconst messages = getScope(__defaultScopeName);\nconst { getMessage } = messages;\n\nexports.__defaultScopeName = __defaultScopeName;\nexports.getMessage = getMessage;\nexports.getScope = getScope;\nexports.messages = messages;\nexports.useScope = getScope;\n\n"]}