@onefootprint/postmate
Advanced tools
Comparing version 2.1.0 to 2.1.1-alpha.0
/** | ||
@onefootprint/postmate - A powerful, simple, promise-based postMessage library | ||
@version v2.1.0 | ||
@version v2.1.1-alpha.0 | ||
@link https://github.com/dollarshaveclub/postmate | ||
@@ -388,3 +388,5 @@ @author Jacob Kelley <jakie8@gmail.com> | ||
if (attempt === maxHandshakeRequests) { | ||
console.log('do send'); | ||
clearInterval(responseInterval); | ||
return reject('Failed to handshake'); | ||
} | ||
@@ -391,0 +393,0 @@ }; |
/** | ||
@onefootprint/postmate - A powerful, simple, promise-based postMessage library | ||
@version v2.1.0 | ||
@version v2.1.1-alpha.0 | ||
@link https://github.com/dollarshaveclub/postmate | ||
@@ -382,3 +382,5 @@ @author Jacob Kelley <jakie8@gmail.com> | ||
if (attempt === maxHandshakeRequests) { | ||
console.log('do send'); | ||
clearInterval(responseInterval); | ||
return reject('Failed to handshake'); | ||
} | ||
@@ -385,0 +387,0 @@ }; |
/** | ||
@onefootprint/postmate - A powerful, simple, promise-based postMessage library | ||
@version v2.1.0 | ||
@version v2.1.1-alpha.0 | ||
@link https://github.com/dollarshaveclub/postmate | ||
@@ -384,3 +384,5 @@ @author Jacob Kelley <jakie8@gmail.com> | ||
if (attempt === maxHandshakeRequests) { | ||
console.log('do send'); | ||
clearInterval(responseInterval); | ||
return reject('Failed to handshake'); | ||
} | ||
@@ -387,0 +389,0 @@ }; |
/** | ||
@onefootprint/postmate - A powerful, simple, promise-based postMessage library | ||
@version v2.1.0 | ||
@version v2.1.1-alpha.0 | ||
@link https://github.com/dollarshaveclub/postmate | ||
@@ -8,2 +8,2 @@ @author Jacob Kelley <jakie8@gmail.com> | ||
**/ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Postmate=t()}(this,function(){"use strict";var h="application/x-postmate-v1+json",r=0,n={handshake:1,"handshake-reply":1,call:1,emit:1,reply:1,request:1},l=function(e,t){return("string"!=typeof t||e.origin===t)&&(!!e.data&&(("object"!=typeof e.data||"postmate"in e.data)&&(e.data.type===h&&!!n[e.data.postmate])))},p=function(){function e(e){var a=this;this.parent=e.parent,this.frame=e.frame,this.child=e.child,this.childOrigin=e.childOrigin,this.events={},this.listener=function(e){if(!l(e,a.childOrigin))return!1;var t=((e||{}).data||{}).value||{},n=t.data,i=t.name;"emit"===e.data.postmate&&i in a.events&&a.events[i].forEach(function(e){e.call(a,n)})},this.parent.addEventListener("message",this.listener,!1)}var t=e.prototype;return t.get=function(e){var a=this;return new c.Promise(function(n){var i=++r;a.parent.addEventListener("message",function e(t){t.data.uid===i&&"reply"===t.data.postmate&&(a.parent.removeEventListener("message",e,!1),n(t.data.value))},!1),a.child.postMessage({postmate:"request",type:h,property:e,uid:i},a.childOrigin)})},t.call=function(e,t){this.child.postMessage({postmate:"call",type:h,property:e,data:t},this.childOrigin)},t.on=function(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)},t.destroy=function(){window.removeEventListener("message",this.listener,!1),this.frame.parentNode.removeChild(this.frame)},e}(),s=function(){function e(e){var d=this;this.model=e.model,this.parent=e.parent,this.parentOrigin=e.parentOrigin,this.child=e.child,this.child.addEventListener("message",function(t){if(l(t,d.parentOrigin)){var e,n,i,a=t.data,r=a.property,s=a.uid,o=a.data;if("call"!==t.data.postmate)(e=d.model,n=r,i="function"==typeof e[n]?e[n]():e[n],c.Promise.resolve(i)).then(function(e){return t.source.postMessage({property:r,postmate:"reply",type:h,uid:s,value:e},t.origin)});else r in d.model&&"function"==typeof d.model[r]&&d.model[r](o)}})}return e.prototype.emit=function(e,t){this.parent.postMessage({postmate:"emit",type:h,value:{name:e,data:t}},this.parentOrigin)},e}(),c=function(){function e(e){var t=e.container,n=void 0===t?void 0!==n?n:document.body:t,i=e.model,a=e.url,r=e.name,s=void 0===r?"":r,o=e.allow,d=e.classListArray,h=void 0===d?[]:d;return this.parent=window,this.frame=document.createElement("iframe"),this.frame.name=s||"",this.frame.classList.add.apply(this.frame.classList,h),o&&(this.frame.allow=o),n.appendChild(this.frame),this.child=this.frame.contentWindow||this.frame.contentDocument.parentWindow,this.model=i||{},this.sendHandshake(a)}return e.prototype.sendHandshake=function(a){var r,s=this,o=function(e){var t=document.createElement("a");t.href=e;var n=4<t.protocol.length?t.protocol:window.location.protocol,i=t.host.length?"80"===t.port||"443"===t.port?t.hostname:t.host:window.location.host;return t.origin||n+"//"+i}(a),d=0;return new e.Promise(function(n,i){s.parent.addEventListener("message",function e(t){return!!l(t,o)&&("handshake-reply"===t.data.postmate?(clearInterval(r),s.parent.removeEventListener("message",e,!1),s.childOrigin=t.origin,n(new p(s))):i("Failed handshake"))},!1);var e=function(){d++,s.child.postMessage({postmate:"handshake",type:h,model:s.model},o),5===d&&clearInterval(r)},t=function(){e(),r=setInterval(e,500)};s.frame.attachEvent?s.frame.attachEvent("onload",t):s.frame.addEventListener("load",t),s.frame.src=a})},e}();return c.debug=!1,c.Promise=function(){try{return window?window.Promise:Promise}catch(e){return null}}(),c.Model=function(){function e(e){return this.child=window,this.model=e,this.parent=this.child.parent,this.sendHandshakeReply()}return e.prototype.sendHandshakeReply=function(){var r=this;return new c.Promise(function(i,a){r.child.addEventListener("message",function e(t){if(t.data.postmate){if("handshake"!==t.data.postmate)return a("Handshake Reply Failed");r.child.removeEventListener("message",e,!1),t.source.postMessage({postmate:"handshake-reply",type:h},t.origin),r.parentOrigin=t.origin;var n=t.data.model;return n&&Object.keys(n).forEach(function(e){r.model[e]=n[e]}),i(new s(r))}},!1)})},e}(),c}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Postmate=t()}(this,function(){"use strict";var h="application/x-postmate-v1+json",r=0,n={handshake:1,"handshake-reply":1,call:1,emit:1,reply:1,request:1},l=function(e,t){return("string"!=typeof t||e.origin===t)&&(!!e.data&&(("object"!=typeof e.data||"postmate"in e.data)&&(e.data.type===h&&!!n[e.data.postmate])))},c=function(){function e(e){var a=this;this.parent=e.parent,this.frame=e.frame,this.child=e.child,this.childOrigin=e.childOrigin,this.events={},this.listener=function(e){if(!l(e,a.childOrigin))return!1;var t=((e||{}).data||{}).value||{},n=t.data,i=t.name;"emit"===e.data.postmate&&i in a.events&&a.events[i].forEach(function(e){e.call(a,n)})},this.parent.addEventListener("message",this.listener,!1)}var t=e.prototype;return t.get=function(e){var a=this;return new p.Promise(function(n){var i=++r;a.parent.addEventListener("message",function e(t){t.data.uid===i&&"reply"===t.data.postmate&&(a.parent.removeEventListener("message",e,!1),n(t.data.value))},!1),a.child.postMessage({postmate:"request",type:h,property:e,uid:i},a.childOrigin)})},t.call=function(e,t){this.child.postMessage({postmate:"call",type:h,property:e,data:t},this.childOrigin)},t.on=function(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)},t.destroy=function(){window.removeEventListener("message",this.listener,!1),this.frame.parentNode.removeChild(this.frame)},e}(),o=function(){function e(e){var d=this;this.model=e.model,this.parent=e.parent,this.parentOrigin=e.parentOrigin,this.child=e.child,this.child.addEventListener("message",function(t){if(l(t,d.parentOrigin)){var e,n,i,a=t.data,r=a.property,o=a.uid,s=a.data;if("call"!==t.data.postmate)(e=d.model,n=r,i="function"==typeof e[n]?e[n]():e[n],p.Promise.resolve(i)).then(function(e){return t.source.postMessage({property:r,postmate:"reply",type:h,uid:o,value:e},t.origin)});else r in d.model&&"function"==typeof d.model[r]&&d.model[r](s)}})}return e.prototype.emit=function(e,t){this.parent.postMessage({postmate:"emit",type:h,value:{name:e,data:t}},this.parentOrigin)},e}(),p=function(){function e(e){var t=e.container,n=void 0===t?void 0!==n?n:document.body:t,i=e.model,a=e.url,r=e.name,o=void 0===r?"":r,s=e.allow,d=e.classListArray,h=void 0===d?[]:d;return this.parent=window,this.frame=document.createElement("iframe"),this.frame.name=o||"",this.frame.classList.add.apply(this.frame.classList,h),s&&(this.frame.allow=s),n.appendChild(this.frame),this.child=this.frame.contentWindow||this.frame.contentDocument.parentWindow,this.model=i||{},this.sendHandshake(a)}return e.prototype.sendHandshake=function(a){var r,o=this,s=function(e){var t=document.createElement("a");t.href=e;var n=4<t.protocol.length?t.protocol:window.location.protocol,i=t.host.length?"80"===t.port||"443"===t.port?t.hostname:t.host:window.location.host;return t.origin||n+"//"+i}(a),d=0;return new e.Promise(function(n,i){o.parent.addEventListener("message",function e(t){return!!l(t,s)&&("handshake-reply"===t.data.postmate?(clearInterval(r),o.parent.removeEventListener("message",e,!1),o.childOrigin=t.origin,n(new c(o))):i("Failed handshake"))},!1);var e=function(){if(d++,o.child.postMessage({postmate:"handshake",type:h,model:o.model},s),5===d)return console.log("do send"),clearInterval(r),i("Failed to handshake")},t=function(){e(),r=setInterval(e,500)};o.frame.attachEvent?o.frame.attachEvent("onload",t):o.frame.addEventListener("load",t),o.frame.src=a})},e}();return p.debug=!1,p.Promise=function(){try{return window?window.Promise:Promise}catch(e){return null}}(),p.Model=function(){function e(e){return this.child=window,this.model=e,this.parent=this.child.parent,this.sendHandshakeReply()}return e.prototype.sendHandshakeReply=function(){var r=this;return new p.Promise(function(i,a){r.child.addEventListener("message",function e(t){if(t.data.postmate){if("handshake"!==t.data.postmate)return a("Handshake Reply Failed");r.child.removeEventListener("message",e,!1),t.source.postMessage({postmate:"handshake-reply",type:h},t.origin),r.parentOrigin=t.origin;var n=t.data.model;return n&&Object.keys(n).forEach(function(e){r.model[e]=n[e]}),i(new o(r))}},!1)})},e}(),p}); |
@@ -6,3 +6,3 @@ { | ||
}, | ||
"version": "2.1.0", | ||
"version": "2.1.1-alpha.0", | ||
"description": "A powerful, simple, promise-based postMessage library", | ||
@@ -9,0 +9,0 @@ "main": "build/postmate.js", |
@@ -37,3 +37,3 @@ <a href="https://github.com/dollarshaveclub/postmate"> | ||
* *Zero* dependencies. Provide your own polyfill or abstraction for the `Promise` API if needed. | ||
* Lightweight, weighing in at ~ <span class="size">`1.6kb`</span> (minified & gzipped). | ||
* Lightweight, weighing in at ~ <span class="size">`1.7kb`</span> (minified & gzipped). | ||
@@ -40,0 +40,0 @@ NOTE: While the underlying mechanism is [window.postMessage()](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage), only iFrame is supported. |
@@ -332,3 +332,5 @@ | ||
if (attempt === maxHandshakeRequests) { | ||
console.log('do send'); | ||
clearInterval(responseInterval) | ||
return reject('Failed to handshake') | ||
} | ||
@@ -335,0 +337,0 @@ } |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
89571
11
2168
1