diff --git a/docs/uncompiled/artplayer-plugin-iframe/index.js b/docs/uncompiled/artplayer-plugin-iframe/index.js index 76e0b4cbc..a3190d956 100644 --- a/docs/uncompiled/artplayer-plugin-iframe/index.js +++ b/docs/uncompiled/artplayer-plugin-iframe/index.js @@ -150,7 +150,7 @@ class ArtplayerPluginIframe { return window.top !== window; } static postMessage({ type , data , id =0 }) { - if (!ArtplayerPluginIframe.iframe) throw new Error("The postMessage method can only be used in iframe"); + if (!ArtplayerPluginIframe.iframe) throw new Error('The "ArtplayerPluginIframe.postMessage" method can only be used in iframe'); window.parent.postMessage({ type: type, data: data, @@ -158,7 +158,7 @@ class ArtplayerPluginIframe { }, "*"); } static async onMessage(event) { - if (!ArtplayerPluginIframe.iframe) throw new Error("The onMessage method can only be used in iframe"); + if (!ArtplayerPluginIframe.iframe) throw new Error('The "ArtplayerPluginIframe.onMessage" method can only be used in iframe'); const { type , data , id } = event.data; switch(type){ case "commit": @@ -185,6 +185,7 @@ class ArtplayerPluginIframe { data: error.message, id }); + throw error; } break; default: @@ -192,15 +193,15 @@ class ArtplayerPluginIframe { } } static inject() { - if (!ArtplayerPluginIframe.iframe) throw new Error("The inject method can only be used in iframe"); + if (!ArtplayerPluginIframe.iframe) throw new Error('The "ArtplayerPluginIframe.inject" method can only be used in iframe'); ArtplayerPluginIframe.postMessage({ type: "inject" }); window.addEventListener("message", ArtplayerPluginIframe.onMessage); } constructor({ iframe , url }){ - if (iframe instanceof HTMLIFrameElement === false) throw new Error("option.iframe needs to be a HTMLIFrameElement"); - if (typeof url !== "string") throw new Error("option.url needs to be a string"); + if (iframe instanceof HTMLIFrameElement === false) throw new Error('"option.iframe" needs to be a HTMLIFrameElement'); + if (typeof url !== "string") throw new Error('"option.url" needs to be a string'); this.url = url; this.$iframe = iframe; this.promises = {}; @@ -233,7 +234,7 @@ class ArtplayerPluginIframe { postMessage({ type , data }) { return new Promise((resove, reject)=>{ (function loop() { - if (this.destroyed) reject(new Error("the instance has been destroyed")); + if (this.destroyed) reject(new Error("The instance has been destroyed")); else if (this.injected) { const id = Date.now(); this.promises[id] = { @@ -250,7 +251,7 @@ class ArtplayerPluginIframe { }); } commit(callback) { - if (typeof callback !== "function") throw new Error("commit.callback needs to be a function"); + if (typeof callback !== "function") throw new Error('"commit.callback" needs to be a function'); const callbackString = callback.toString(); const bodyString = callbackString.substring(callbackString.indexOf("{") + 1, callbackString.lastIndexOf("}")); return this.postMessage({ @@ -259,7 +260,7 @@ class ArtplayerPluginIframe { }); } message(callback) { - if (typeof callback !== "function") throw new Error("message.callback needs to be a function"); + if (typeof callback !== "function") throw new Error('"message.callback" needs to be a function'); this.messageCallback = callback; } destroy() { diff --git a/docs/uncompiled/artplayer-plugin-iframe/index.js.map b/docs/uncompiled/artplayer-plugin-iframe/index.js.map index 9a09a9e27..af4e50222 100644 --- a/docs/uncompiled/artplayer-plugin-iframe/index.js.map +++ b/docs/uncompiled/artplayer-plugin-iframe/index.js.map @@ -1 +1 @@ -{"mappings":"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","sources":["packages/artplayer-plugin-iframe/src/index.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["export default class ArtplayerPluginIframe {\n static get iframe() {\n return window.top !== window;\n }\n\n static postMessage({ type, data, id = 0 }) {\n if (!ArtplayerPluginIframe.iframe) {\n throw new Error('The postMessage method can only be used in iframe');\n }\n\n window.parent.postMessage(\n {\n type: type,\n data: data,\n id: id,\n },\n '*',\n );\n }\n\n static async onMessage(event) {\n if (!ArtplayerPluginIframe.iframe) {\n throw new Error('The onMessage method can only be used in iframe');\n }\n\n const { type, data, id } = event.data;\n switch (type) {\n case 'commit':\n try {\n if (data.match(/\\bresolve\\((.*?)\\)/)) {\n const string = `return new Promise(function(resolve){\\n${data}\\n})`;\n const result = await new Function(string)();\n ArtplayerPluginIframe.postMessage({ type: 'response', data: result, id });\n } else {\n const result = new Function(data)();\n ArtplayerPluginIframe.postMessage({ type: 'response', data: result, id });\n }\n } catch (error) {\n ArtplayerPluginIframe.postMessage({ type: 'error', data: error.message, id });\n }\n break;\n default:\n break;\n }\n }\n\n static inject() {\n if (!ArtplayerPluginIframe.iframe) {\n throw new Error('The inject method can only be used in iframe');\n }\n\n ArtplayerPluginIframe.postMessage({ type: 'inject' });\n window.addEventListener('message', ArtplayerPluginIframe.onMessage);\n }\n\n constructor({ iframe, url }) {\n if (iframe instanceof HTMLIFrameElement === false) {\n throw new Error('option.iframe needs to be a HTMLIFrameElement');\n }\n\n if (typeof url !== 'string') {\n throw new Error('option.url needs to be a string');\n }\n\n this.url = url;\n this.$iframe = iframe;\n this.promises = {};\n this.injected = false;\n this.destroyed = false;\n this.messageCallback = () => null;\n this.onMessage = this.onMessage.bind(this);\n window.addEventListener('message', this.onMessage);\n this.$iframe.src = this.url;\n }\n\n onMessage(event) {\n const { type, data, id } = event.data;\n\n switch (type) {\n case 'inject':\n this.injected = true;\n break;\n default:\n break;\n }\n\n if (this.promises[id]) {\n if (type === 'error') {\n this.promises[id].reject(new Error(data));\n } else {\n this.promises[id].resove(data);\n }\n delete this.promises[id];\n }\n\n if (this.messageCallback) {\n this.messageCallback({ type, data });\n }\n }\n\n postMessage({ type, data }) {\n return new Promise((resove, reject) => {\n (function loop() {\n if (this.destroyed) {\n reject(new Error('the instance has been destroyed'));\n } else {\n if (this.injected) {\n const id = Date.now();\n this.promises[id] = { resove, reject };\n this.$iframe.contentWindow.postMessage(\n {\n type: type,\n data: data,\n id: id,\n },\n '*',\n );\n } else {\n setTimeout(loop.bind(this), 200);\n }\n }\n }.call(this));\n });\n }\n\n commit(callback) {\n if (typeof callback !== 'function') {\n throw new Error('commit.callback needs to be a function');\n }\n const callbackString = callback.toString();\n const bodyString = callbackString.substring(callbackString.indexOf('{') + 1, callbackString.lastIndexOf('}'));\n return this.postMessage({ type: 'commit', data: bodyString });\n }\n\n message(callback) {\n if (typeof callback !== 'function') {\n throw new Error('message.callback needs to be a function');\n }\n this.messageCallback = callback;\n }\n\n destroy() {\n this.destroyed = true;\n window.removeEventListener('message', this.onMessage);\n }\n}\n\nif (typeof window !== 'undefined') {\n window['ArtplayerPluginIframe'] = ArtplayerPluginIframe;\n}\n","exports.interopDefault = function (a) {\n return a && a.__esModule ? a : {default: a};\n};\n\nexports.defineInteropFlag = function (a) {\n Object.defineProperty(a, '__esModule', {value: true});\n};\n\nexports.exportAll = function (source, dest) {\n Object.keys(source).forEach(function (key) {\n if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function () {\n return source[key];\n },\n });\n });\n\n return dest;\n};\n\nexports.export = function (dest, destName, get) {\n Object.defineProperty(dest, destName, {\n enumerable: true,\n get: get,\n });\n};\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../../"} \ No newline at end of file +{"mappings":"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","sources":["packages/artplayer-plugin-iframe/src/index.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["export default class ArtplayerPluginIframe {\n static get iframe() {\n return window.top !== window;\n }\n\n static postMessage({ type, data, id = 0 }) {\n if (!ArtplayerPluginIframe.iframe) {\n throw new Error('The \"ArtplayerPluginIframe.postMessage\" method can only be used in iframe');\n }\n\n window.parent.postMessage(\n {\n type: type,\n data: data,\n id: id,\n },\n '*',\n );\n }\n\n static async onMessage(event) {\n if (!ArtplayerPluginIframe.iframe) {\n throw new Error('The \"ArtplayerPluginIframe.onMessage\" method can only be used in iframe');\n }\n\n const { type, data, id } = event.data;\n switch (type) {\n case 'commit':\n try {\n if (data.match(/\\bresolve\\((.*?)\\)/)) {\n const string = `return new Promise(function(resolve){\\n${data}\\n})`;\n const result = await new Function(string)();\n ArtplayerPluginIframe.postMessage({ type: 'response', data: result, id });\n } else {\n const result = new Function(data)();\n ArtplayerPluginIframe.postMessage({ type: 'response', data: result, id });\n }\n } catch (error) {\n ArtplayerPluginIframe.postMessage({ type: 'error', data: error.message, id });\n throw error;\n }\n break;\n default:\n break;\n }\n }\n\n static inject() {\n if (!ArtplayerPluginIframe.iframe) {\n throw new Error('The \"ArtplayerPluginIframe.inject\" method can only be used in iframe');\n }\n\n ArtplayerPluginIframe.postMessage({ type: 'inject' });\n window.addEventListener('message', ArtplayerPluginIframe.onMessage);\n }\n\n constructor({ iframe, url }) {\n if (iframe instanceof HTMLIFrameElement === false) {\n throw new Error('\"option.iframe\" needs to be a HTMLIFrameElement');\n }\n\n if (typeof url !== 'string') {\n throw new Error('\"option.url\" needs to be a string');\n }\n\n this.url = url;\n this.$iframe = iframe;\n this.promises = {};\n this.injected = false;\n this.destroyed = false;\n this.messageCallback = () => null;\n this.onMessage = this.onMessage.bind(this);\n window.addEventListener('message', this.onMessage);\n this.$iframe.src = this.url;\n }\n\n onMessage(event) {\n const { type, data, id } = event.data;\n\n switch (type) {\n case 'inject':\n this.injected = true;\n break;\n default:\n break;\n }\n\n if (this.promises[id]) {\n if (type === 'error') {\n this.promises[id].reject(new Error(data));\n } else {\n this.promises[id].resove(data);\n }\n delete this.promises[id];\n }\n\n if (this.messageCallback) {\n this.messageCallback({ type, data });\n }\n }\n\n postMessage({ type, data }) {\n return new Promise((resove, reject) => {\n (function loop() {\n if (this.destroyed) {\n reject(new Error('The instance has been destroyed'));\n } else {\n if (this.injected) {\n const id = Date.now();\n this.promises[id] = { resove, reject };\n this.$iframe.contentWindow.postMessage(\n {\n type: type,\n data: data,\n id: id,\n },\n '*',\n );\n } else {\n setTimeout(loop.bind(this), 200);\n }\n }\n }.call(this));\n });\n }\n\n commit(callback) {\n if (typeof callback !== 'function') {\n throw new Error('\"commit.callback\" needs to be a function');\n }\n const callbackString = callback.toString();\n const bodyString = callbackString.substring(callbackString.indexOf('{') + 1, callbackString.lastIndexOf('}'));\n return this.postMessage({ type: 'commit', data: bodyString });\n }\n\n message(callback) {\n if (typeof callback !== 'function') {\n throw new Error('\"message.callback\" needs to be a function');\n }\n this.messageCallback = callback;\n }\n\n destroy() {\n this.destroyed = true;\n window.removeEventListener('message', this.onMessage);\n }\n}\n\nif (typeof window !== 'undefined') {\n window['ArtplayerPluginIframe'] = ArtplayerPluginIframe;\n}\n","exports.interopDefault = function (a) {\n return a && a.__esModule ? a : {default: a};\n};\n\nexports.defineInteropFlag = function (a) {\n Object.defineProperty(a, '__esModule', {value: true});\n};\n\nexports.exportAll = function (source, dest) {\n Object.keys(source).forEach(function (key) {\n if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function () {\n return source[key];\n },\n });\n });\n\n return dest;\n};\n\nexports.export = function (dest, destName, get) {\n Object.defineProperty(dest, destName, {\n enumerable: true,\n get: get,\n });\n};\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../../"} \ No newline at end of file diff --git a/packages/artplayer-plugin-iframe/src/index.js b/packages/artplayer-plugin-iframe/src/index.js index 573701d0b..97ff9fa19 100644 --- a/packages/artplayer-plugin-iframe/src/index.js +++ b/packages/artplayer-plugin-iframe/src/index.js @@ -5,7 +5,7 @@ export default class ArtplayerPluginIframe { static postMessage({ type, data, id = 0 }) { if (!ArtplayerPluginIframe.iframe) { - throw new Error('The "postMessage" method can only be used in iframe'); + throw new Error('The "ArtplayerPluginIframe.postMessage" method can only be used in iframe'); } window.parent.postMessage( @@ -20,7 +20,7 @@ export default class ArtplayerPluginIframe { static async onMessage(event) { if (!ArtplayerPluginIframe.iframe) { - throw new Error('The "onMessage" method can only be used in iframe'); + throw new Error('The "ArtplayerPluginIframe.onMessage" method can only be used in iframe'); } const { type, data, id } = event.data; @@ -37,6 +37,7 @@ export default class ArtplayerPluginIframe { } } catch (error) { ArtplayerPluginIframe.postMessage({ type: 'error', data: error.message, id }); + throw error; } break; default: @@ -46,7 +47,7 @@ export default class ArtplayerPluginIframe { static inject() { if (!ArtplayerPluginIframe.iframe) { - throw new Error('The "inject" method can only be used in iframe'); + throw new Error('The "ArtplayerPluginIframe.inject" method can only be used in iframe'); } ArtplayerPluginIframe.postMessage({ type: 'inject' });