{"_id":"iframe-api","_rev":"34-698a662e24ca67a7c93f90214ac8269b","name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","dist-tags":{"latest":"0.10.0"},"versions":{"0.0.1":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.0.1","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"devDependencies":{"eslint-rules":"0.2.0","grunt":"0.4.5","grunt-contrib-jshint":"0.10.0","grunt-deps-ok":"0.5.2","grunt-eslint":"2.1.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.1.0","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.4.0","jshint-summary":"0.4.0","matchdep":"0.3.0","pre-git":"0.1.1"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"index.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt"},"gitHead":"02dbfa2eea42b55f4d7be862604695c31d373292","_id":"iframe-api@0.0.1","_shasum":"386e825d57de7edf8efd8b3551100349d2aa0bdd","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"386e825d57de7edf8efd8b3551100349d2aa0bdd","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.0.1.tgz","integrity":"sha512-dd8R5tF4v/1qDeJnU07SiFzDf6kKVTMliv7FnMGBXW90+pdkoz7MuFEyYLapItaowSNylew2wL3hqnd4H9pp0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1AtG21iGOQnMO8WxDKkiKA4WiJlXsEMxWtDF9uHUtFwIhAPNr9fGo/MRYQqpkb4K1dU2awOw2cwIWycR+ml6w03tv"}]}},"0.1.0":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.1.0","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"devDependencies":{"eslint-rules":"0.2.0","grunt":"0.4.5","grunt-contrib-jshint":"0.10.0","grunt-deps-ok":"0.5.2","grunt-eslint":"2.1.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.1.0","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.4.0","jshint-summary":"0.4.0","matchdep":"0.3.0","pre-git":"0.1.1"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"index.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt"},"gitHead":"bcdbfa9a5d1d4734c8a79a7a7b8aa850b87007bc","_id":"iframe-api@0.1.0","_shasum":"9b28cf4435cffe9bedd94b5df7539e9e7056c0b1","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"9b28cf4435cffe9bedd94b5df7539e9e7056c0b1","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.1.0.tgz","integrity":"sha512-qyN/BpW5SyFK/aNoEDSQxDsbYQZz7GJl5uTS/kd9KgKsPi+iXA2A8IHIY1nocVPRKB7U+byL0Qr6h9wHyPUq1g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH/owosMenQern3Vb2QfMRlpshcQV/fYnZOf5v43EW8EAiBKKEqGTGeIFNNXXnoOL3LYXoc4YyWZ29YHDe+ZktQ0zg=="}]}},"0.2.0":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.2.0","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"devDependencies":{"eslint-rules":"0.2.0","grunt":"0.4.5","grunt-contrib-jshint":"0.10.0","grunt-deps-ok":"0.5.2","grunt-eslint":"2.1.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.1.0","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.8.0","jshint-summary":"0.4.0","matchdep":"0.3.0","pre-git":"0.1.1"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"index.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt"},"gitHead":"d82175e1925e935b5ec3093c606ffb8ddfb58b74","_id":"iframe-api@0.2.0","_shasum":"dec7647ad0fde3cd5caedc3b5bacd726a067ba4a","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"dec7647ad0fde3cd5caedc3b5bacd726a067ba4a","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.2.0.tgz","integrity":"sha512-ylDSgJzqnUT7HRq34hXsAlF9/gNVWbLN82chX8VCKy2jJghROpj+IlobTdOB+fseru66K/oaWNil/xFucg2e2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAbMiB9jr4vYUVMwE1hAgPeqFx4mSD7AX/nyTAD1UElLAiB+yPC88QvfHwQzmeWAh1WQ9Pq7vZywfx3W1s8FKXJc1g=="}]}},"0.3.0":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.3.0","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"devDependencies":{"eslint-rules":"0.2.0","grunt":"0.4.5","grunt-contrib-jshint":"0.10.0","grunt-deps-ok":"0.5.2","grunt-eslint":"2.1.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.1.0","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.8.0","jshint-summary":"0.4.0","matchdep":"0.3.0","pre-git":"0.1.1"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"index.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt"},"gitHead":"e3bebdd9fb8ee1aaca41265e1fd0c073a42b5c9d","_id":"iframe-api@0.3.0","_shasum":"e669f90b9a1e1b521df0e2ce82d86730fbfcfce2","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"e669f90b9a1e1b521df0e2ce82d86730fbfcfce2","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.3.0.tgz","integrity":"sha512-JpyLdqiJA/m3r/yaEM9ABkvMc3nQh0Hf0pCRBG7w46relUKGIo/q3opFjWIn03/sE7ofspnmkQjlqBxlw0ZbyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBkYxGq7EJIvCpnI6h0394RA9UyN/X4IDqlbiqYr+uebAiEA16nbwudng1PHK4z0xEFcEDAeVBq0kl3+vExJUiC+4P0="}]}},"0.3.1":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.3.1","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"devDependencies":{"eslint-rules":"0.2.0","grunt":"0.4.5","grunt-clean-console":"0.1.1","grunt-contrib-jshint":"0.10.0","grunt-deps-ok":"0.5.2","grunt-eslint":"2.1.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.1.0","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.8.0","jshint-summary":"0.4.0","matchdep":"0.3.0","pre-git":"0.1.1"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"index.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt"},"gitHead":"90736fca09bf45f8cdef063c4c7b90628ca14ca2","_id":"iframe-api@0.3.1","_shasum":"b85622a79cdf9a7eecf1a1d3dd1cf03196201fc0","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"b85622a79cdf9a7eecf1a1d3dd1cf03196201fc0","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.3.1.tgz","integrity":"sha512-xgkQStdDGWgogsHz6MCW2n/6eHK43DYTeKfe3tJMkVJFUE2tpH9Gfme1Q6caSSynU62it9sAOZEHszix60rj3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGtgdz1cvJXCSfWUFa4OL8FBdU3kwkWB9Y5LLr1Ww1L4AiEAuDoO3tZQ6kGTRAHVf1U2Jf33zlVOrGVnXkH+1vnQUDc="}]}},"0.4.0":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.4.0","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"devDependencies":{"eslint-rules":"0.2.0","grunt":"0.4.5","grunt-clean-console":"0.1.1","grunt-contrib-jshint":"0.10.0","grunt-deps-ok":"0.5.2","grunt-eslint":"2.1.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.1.0","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.8.0","jshint-summary":"0.4.0","matchdep":"0.3.0","pre-git":"0.1.1"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"index.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt"},"gitHead":"a78e63fb557ac7eac45182ac6932860efc97e6e2","_id":"iframe-api@0.4.0","_shasum":"89588cfb8cca606e4a5af88d4000a8561049c509","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"89588cfb8cca606e4a5af88d4000a8561049c509","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.4.0.tgz","integrity":"sha512-iyF1MYmXKnmvWINd0ShtMxW6R6Vg+J1yrF5HydRYLmMaSTXeT7ISlWc5XOP/vhZWShj0EsKjm9bXKjG2bypDvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFQ1pTSlGKUFb4VDSnm1grMvNN05/ngGVlHZ4ZSBdb2TAiAxIdKjOX3mX8ti9YqgCW12I+UPBivXsga0Heo9xcNoJg=="}]}},"0.5.0":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.5.0","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"devDependencies":{"eslint-rules":"0.2.0","grunt":"0.4.5","grunt-browserify":"3.2.1","grunt-clean-console":"0.1.1","grunt-contrib-jshint":"0.10.0","grunt-deps-ok":"0.5.2","grunt-eslint":"2.1.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.1.0","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.8.0","jshint-summary":"0.4.0","matchdep":"0.3.0","pre-git":"0.1.1"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"index.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt"},"gitHead":"2ea9d108cc8198ae3a99e0ee8e777e1218512e44","_id":"iframe-api@0.5.0","_shasum":"274a86c7f6999d39fff7e14f95a5e3adaa359c40","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"274a86c7f6999d39fff7e14f95a5e3adaa359c40","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.5.0.tgz","integrity":"sha512-UScY/5EIwgP9NxlRtFxDaJ1LibVNCGvJCFPPfTtjsf0lOsU59A9elEsxh4MQe1S+rklH/FWTlvporhYsae6Fiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCg4FsPy3PCRvaeQbgU1AIOUYg+sTiLC8XWVap4YQ1k6AIgDVfwkrajZbHrgxxtkz1YVWUd22J+5MGQwo6QoBgr12c="}]}},"0.6.0":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.6.0","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"devDependencies":{"eslint-rules":"0.2.0","grunt":"0.4.5","grunt-browserify":"3.2.1","grunt-clean-console":"0.2.0","grunt-contrib-jshint":"0.10.0","grunt-contrib-watch":"0.6.1","grunt-deps-ok":"0.5.2","grunt-eslint":"2.1.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.1.0","grunt-mocha-test":"0.12.6","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.8.0","jshint-summary":"0.4.0","matchdep":"0.3.0","mocha":"2.1.0","pre-git":"0.1.1"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"dist/iframe-api.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt"},"gitHead":"b94c62a90d1c571230df9eb18ceb04916f7d98ae","_id":"iframe-api@0.6.0","_shasum":"0237ad9620258ca6466d9776a4fd00b729870f36","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"0237ad9620258ca6466d9776a4fd00b729870f36","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.6.0.tgz","integrity":"sha512-gLt3dK06OZ8EBXfDSLFYfPDOWIemMh1ncmAgvd+rKSdXwuckxCdDNG6U9zTcOnrSHfSHxr48opBh2vf0iGrolw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOoo7J6xTICt6dfo32UE588gOMr0N1X4vYJuvp0hJ6OQIgB9sDijm9cjlBdoz8OTZsqALnnFiN/AOXlZG7DBTpGu4="}]}},"0.7.0":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.7.0","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"dependencies":{"es6-promise":"2.0.1"},"devDependencies":{"eslint-rules":"0.2.0","grunt":"0.4.5","grunt-browserify":"3.2.1","grunt-clean-console":"0.2.0","grunt-contrib-jshint":"0.10.0","grunt-contrib-watch":"0.6.1","grunt-deps-ok":"0.5.2","grunt-eslint":"2.1.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.1.0","grunt-mocha-test":"0.12.6","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.8.0","jshint-summary":"0.4.0","matchdep":"0.3.0","mocha":"2.1.0","pre-git":"0.1.1"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"dist/iframe-api.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt"},"gitHead":"d6434bc9a9b7dc783e28ce35de58cab945eb36d2","_id":"iframe-api@0.7.0","_shasum":"f1b54d69a51ccdc0153b0fcb40f78d487915cf35","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"f1b54d69a51ccdc0153b0fcb40f78d487915cf35","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.7.0.tgz","integrity":"sha512-k8AYRExiP9/AFaO/O5ZOwtoKLtDd72rGXdDy9Edm0OZbb/C80/uqgF24s4Pyz1rasEdd5kc9KEYQ+aL28hnv0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC90E1h1k38rH+iOiy1aMyfyiEpn8K47J9vA5ME+dmHSwIgYCNcfVen71Ig4gHTf0RvKrUDcxOdZgYT8R0bldeiN/4="}]}},"0.7.1":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.7.1","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"dependencies":{"es6-promise":"2.0.1"},"devDependencies":{"eslint-rules":"0.2.0","grunt":"0.4.5","grunt-browserify":"3.2.1","grunt-clean-console":"0.2.0","grunt-contrib-jshint":"0.10.0","grunt-contrib-watch":"0.6.1","grunt-deps-ok":"0.5.2","grunt-eslint":"2.1.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.1.0","grunt-mocha-test":"0.12.6","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.8.0","jshint-summary":"0.4.0","matchdep":"0.3.0","mocha":"2.1.0","pre-git":"0.1.1"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"dist/iframe-api.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt"},"gitHead":"7cd5916789f2e4e01fffe4fe9dd9e0743b967595","_id":"iframe-api@0.7.1","_shasum":"dbe077cc906e290e97b10a0eee04bd3b646f8a7a","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"dbe077cc906e290e97b10a0eee04bd3b646f8a7a","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.7.1.tgz","integrity":"sha512-ZApeg5VJMid7OrMefSdfWrDOmhtj0qMkVsi3EUP7E/8X6YyDlXUUZ2coeT4jDO+BuC1ug0GIMiR1Q7ALWdbgUA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDv+RISmYoxIY8oZ7JWR2hePTwRkrv0hO1Q1Q1EQ8TO0AiANp71wCdTBGOEN6RfT4Pgy6n1uAFg4xYyCiVd7+hEeQg=="}]}},"0.8.0":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.8.0","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"dependencies":{"es6-promise":"2.0.1"},"devDependencies":{"eslint-rules":"0.2.0","grunt":"0.4.5","grunt-browserify":"3.2.1","grunt-clean-console":"0.2.0","grunt-contrib-jshint":"0.10.0","grunt-contrib-watch":"0.6.1","grunt-deps-ok":"0.5.2","grunt-eslint":"3.0.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.1.0","grunt-mocha-test":"0.12.6","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.8.0","jshint-summary":"0.4.0","matchdep":"0.3.0","mocha":"2.1.0","pre-git":"0.1.1"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"dist/iframe-api.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt"},"gitHead":"3f0016b0723b8a830a87588497b3cea21870b11a","_id":"iframe-api@0.8.0","_shasum":"bc071115612adc19b69cee182f6c81ad42fdbdf4","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"bc071115612adc19b69cee182f6c81ad42fdbdf4","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.8.0.tgz","integrity":"sha512-NZeHSD2Phjr66YtSDidpQFNLCwV4izrajv51myTyjYkrkUVVlZ1DpJ9jS33nYfbfiTDtaElEq3PBOoCS8VL+pA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEB4hx+0XpVdNgM5FLtL23JDditrH6AuVpQ9vByneqCDAiBGvEPonziWJJNZcUzxpQZz7AW3BJ8Nt3Ev1Yfw1bJeaA=="}]}},"0.8.2":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.8.2","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"dependencies":{"es6-promise":"2.0.1"},"devDependencies":{"console-log-div":"0.1.0","eslint-rules":"0.3.0","grunt":"0.4.5","grunt-browserify":"3.3.0","grunt-clean-console":"0.2.0","grunt-contrib-jshint":"0.11.0","grunt-contrib-watch":"0.6.1","grunt-deps-ok":"0.5.2","grunt-eslint":"5.1.0","grunt-filenames":"0.4.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.2.0","grunt-mocha-test":"0.12.7","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.8.1","jshint-summary":"0.4.0","matchdep":"0.3.0","mocha":"2.1.0","pre-git":"0.1.1","self-addressed":"0.2.1"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"dist/iframe-api.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt"},"gitHead":"63a8e059328f5a9f40addd56cb61a427f28b3551","_id":"iframe-api@0.8.2","_shasum":"bde974faf0fdff6de866c6925b02b9244bcd17f7","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"bde974faf0fdff6de866c6925b02b9244bcd17f7","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.8.2.tgz","integrity":"sha512-uRodznUyFcaiRmGn7+nXQsYi6MhuM8VMt6ilqYx1oraQijV6Nfod8vbxvq9wHGZsAurxtNwCMmz9O5rTXwExJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC130ZOLeMFVnbKyWDzyC2wpvFV2UEg/Nm2t2ToChgXOQIgImzzN3+0pVIB6jL/HE7vh+OrStb0UvPbVXeN0smdnlk="}]}},"0.8.3":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.8.3","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"dependencies":{"es6-promise":"2.0.1"},"devDependencies":{"console-log-div":"0.1.0","eslint-rules":"0.3.0","grunt":"0.4.5","grunt-browserify":"3.3.0","grunt-clean-console":"0.2.0","grunt-contrib-jshint":"0.11.0","grunt-contrib-watch":"0.6.1","grunt-deps-ok":"0.5.2","grunt-eslint":"5.1.0","grunt-filenames":"0.4.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.2.0","grunt-mocha-test":"0.12.7","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.8.1","jshint-summary":"0.4.0","matchdep":"0.3.0","mocha":"2.1.0","pre-git":"0.1.1","self-addressed":"0.3.0"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"dist/iframe-api.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt"},"gitHead":"5cc61d96f9160171a57b5ab51789e6a4d3b99367","_id":"iframe-api@0.8.3","_shasum":"f8d796108556ba206ea889e7a83e814c5c80dcf5","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"f8d796108556ba206ea889e7a83e814c5c80dcf5","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.8.3.tgz","integrity":"sha512-gv50u6XZeDfmc2gDoyzvABOc9xznM3/wlSL8s7fYf8DwSyu8gFbTVC9PVRZxAjaPODK22ZP+DhAx8cmUgMPCHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkUOltcIVuetUmsmP/MBJXIP7EHPwXznHLLXm2bVwocAIgaVjYHa/9Esesn+4V6kLDYYUGWFtOx+KYqEYEhq6FPh8="}]}},"0.9.0":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.9.0","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"dependencies":{"es6-promise":"2.0.1"},"devDependencies":{"console-log-div":"0.2.0","eslint-rules":"0.3.0","grunt":"0.4.5","grunt-browserify":"3.3.0","grunt-clean-console":"0.2.0","grunt-contrib-jshint":"0.11.0","grunt-contrib-watch":"0.6.1","grunt-deps-ok":"0.5.2","grunt-eslint":"5.1.0","grunt-filenames":"0.4.0","grunt-gh-pages":"0.9.1","grunt-jscs":"1.2.0","grunt-mocha-test":"0.12.7","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.8.1","jshint-summary":"0.4.0","matchdep":"0.3.0","mocha":"2.1.0","pre-git":"0.1.1","self-addressed":"0.3.0"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"dist/iframe-api.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt","test-async":"grunt clean-console:async"},"gitHead":"007cbc752cfac59b72188cd700f75ae46712bd25","_id":"iframe-api@0.9.0","_shasum":"45f8277acda0a0c9a9653c3d6d21dfaf86090039","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"45f8277acda0a0c9a9653c3d6d21dfaf86090039","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.9.0.tgz","integrity":"sha512-Sgx6qyO8bHV5OKGNmSe4L09jdTjfWTG5kt/zOsU0+8eD8RvpkizHt/frwKwcHKQ+l6X1wWxaQRL+qwPQJVzajw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGH1dmOHf3lLQpr3AzJOfS0gPiDRVmci8MqI+pIX6M26AiEAxF8mlv86/0YHxKujUtNIt33CMxWmv6eb+d7IcO2qNhs="}]}},"0.9.1":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.9.1","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"contributors":[],"dependencies":{"es6-promise":"2.0.1"},"devDependencies":{"console-log-div":"0.5.0","eslint-rules":"0.4.3","grunt":"0.4.5","grunt-browserify":"3.5.0","grunt-clean-console":"0.2.0","grunt-contrib-jshint":"0.11.0","grunt-contrib-watch":"0.6.1","grunt-deps-ok":"0.5.2","grunt-eslint":"8.0.0","grunt-filenames":"0.4.0","grunt-gh-pages":"0.10.0","grunt-jscs":"1.5.0","grunt-mocha-test":"0.12.7","grunt-nice-package":"0.9.2","grunt-npm2bower-sync":"0.8.1","jshint-summary":"0.4.0","matchdep":"0.3.0","mocha":"2.2.1","pre-git":"0.1.1","self-addressed":"0.3.0"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["iframe","frame","website","api","communication","html"],"license":"MIT","main":"dist/iframe-api.js","pre-commit":["grunt","npm version"],"repository":{"type":"git","url":"https://github.com/bahmutov/iframe-api.git"},"scripts":{"test":"grunt","test-async":"grunt clean-console:async"},"gitHead":"4581bf3052263263c1dcd56c48eb633e626b0ffe","_id":"iframe-api@0.9.1","_shasum":"0789f58f7f80671cfd6e1c574a39660a2816e346","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.11.10","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"dist":{"shasum":"0789f58f7f80671cfd6e1c574a39660a2816e346","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.9.1.tgz","integrity":"sha512-xR9cL325ts/CcS6jmApOFaJyTpP0JWmsFn0/rVknFY0AtJI9iZj8sN1V5AO012s7DW1ho354mmwMNbHY04zHaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhvWBcpbayHTpnJfP4CiEidN2bE6+doWqSxNW7heh3gAIgdaOnm3RcX/GtGu8sDu8uMP8/PWXpV11+Q9IaOXh/8hM="}]}},"0.10.0":{"name":"iframe-api","description":"Bidirectional API communication between external and iframed websites","version":"0.10.0","author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"config":{"pre-git":{"commit-msg":"validate-commit-msg","pre-commit":["npm run test"],"pre-push":[],"post-commit":[],"post-merge":[]}},"contributors":[],"dependencies":{"es6-promise":"3.0.2"},"devDependencies":{"console-log-div":"0.6.2","eslint-rules":"0.4.3","git-issues":"1.2.0","grunt":"0.4.5","grunt-browserify":"4.0.1","grunt-clean-console":"0.2.0","grunt-cli":"0.1.13","grunt-contrib-jshint":"0.11.3","grunt-contrib-watch":"0.6.1","grunt-deps-ok":"0.9.0","grunt-eslint":"8.0.0","grunt-filenames":"0.4.0","grunt-gh-pages":"0.10.0","grunt-jscs":"2.4.0","grunt-mocha-test":"0.12.7","grunt-nice-package":"0.9.6","grunt-npm2bower-sync":"0.9.1","jshint-summary":"0.4.0","matchdep":"1.0.0","mocha":"2.3.4","pre-git":"1.4.0","self-addressed":"0.3.0","semantic-release":"6.0.3"},"engines":{"node":"> 0.10.*"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["api","communication","frame","html","iframe","website"],"license":"MIT","main":"dist/iframe-api.js","repository":{"type":"git","url":"git+https://github.com/bahmutov/iframe-api.git"},"scripts":{"commit":"commit-wizard","issues":"git-issues","semantic-release":"semantic-release pre && npm publish && semantic-release post","test":"grunt","test-async":"grunt clean-console:async"},"gitHead":"01aba23363f28f2f5ad3806839647f751ad88e41","_id":"iframe-api@0.10.0","_shasum":"f3437cc88169eaafa3ff472c11123f10a2133a31","_from":".","_npmVersion":"2.14.13","_nodeVersion":"4.2.2","_npmUser":{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"},"dist":{"shasum":"f3437cc88169eaafa3ff472c11123f10a2133a31","tarball":"https://registry.npmjs.org/iframe-api/-/iframe-api-0.10.0.tgz","integrity":"sha512-C8iODW93E+8nxDI4LPB838YZiiGXOV2UcDWwNAfFN6BAxvvBzeUmidTh3OyzZ2Y/fLmeikgM4eKX+uDaB6BTlQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCElvIEr3flKVcgDHguuOuzIdgteShu/a0005JMZO7KCAIgUSIABdKdKQLs+uuRaBznpLbAU1K8GvcX0iRYfZcJtr8="}]},"maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}]}},"readme":"# iframe-api\n\n> Bidirectional API communication between parent window and iframe\n\n[Demo](http://glebbahmutov.com/iframe-api/)\n\n[![NPM][iframe-api-icon] ][iframe-api-url]\n\n[![Build status][iframe-api-ci-image] ][iframe-api-ci-url]\n[![dependencies][iframe-api-dependencies-image] ][iframe-api-dependencies-url]\n[![devdependencies][iframe-api-devdependencies-image] ][iframe-api-devdependencies-url]\n[![semantic-release][semantic-image] ][semantic-url]\n\nAvailable on NPM and bower under name `iframe-api`.\n\n## Example\n\n**external website** (index.html)\n\n```html\n<script src=\"iframe-api/dist/iframe-api.js\"></script>\n<script>\n\n/*\nThe iframe-api.js does an isIframed() check\nto see if it is the parent or the child frame\nand then decides it's functionality.\n\nIn most environments, the external index.html\nis the top-level document, but in edge-cases\nwhere the index.html is itself iframed by another\nparent document, we want to explicitly specify that\nthis is the parent frame for the iframeApi\n*/\n//window.iFrameApiParent = true;\n\nvar myMethods = {\n  foo: function (arg) {\n    console.log('myMethods.foo called wtih argument', arg);\n  },\n  version: '0.1.0' // primitive values are also allowed\n};\niframeApi(myMethods).then(function (api) {\n  api.bar(); // or whatever methods iframed website exposes\n}, function (err) {\n  console.error('Could not get iframe api', err);\n});\n</script>\n<iframe src=\"iframed.html\"></iframe>\n```\n\n**iframed website** (iframed.html)\n\n```html\n<script src=\"iframe-api/dist/iframe-api.js\"></script>\n<script>\nvar api = {\n  bar: function (message) {\n    console.log('iframed called from external', message);\n  }\n};\niframeApi(api).then(function (externalApi) {\n  externalApi.foo('hello world!');\n});\n</script>\n```\n\n**event sequence**\n\n* iframe element loads `iframed.html`\n* iframed website loads script built from [src/iframe-api.js](src/iframe-api.js)\n* iframed website executed `iframeApi` that posts a message to the parent\n    - the payload includes iframe's serialized object `api`\n* external website gets the `api` object and makes a call `api.bar()`\n* iframed website makes call to the external website using `externalApi.foo` method.\n\nThe websites communicate by calling methods on the returned api object, underneath\nthe we use `window.postMessage`. The iframed website initiates the contact because it knows\nwhen it has been loaded and ready to communicate.\n\n![iframe-api](images/iframe-api-boundary.png)\n\n## API\n\nSingle function `iframeApi(myApiObject, options)` returns a promise with resolved api object.\n\n* myApiObject\n  - can be undefined or null to avoid passing anything to the other side\n  - if empty object, the other side will receive empty object\n  - can have methods and properties\n\n**api object example**\n\n```js\nvar myApi = {\n  foo: function () {\n    this.bar();\n  },\n  bar: function () {\n    console.log('hello', this.name)\n  },\n  name: 'world'\n};\n```\n\n* options - optional object with the following properties\n  - `debug | verbose` prints console messages during handshake\n  - `md5`\n    + if `true` this side will compute md5 checksum of the\n    received source and compare to declared before reviving api object.\n    + if a string, takes it as the md5 checksum to be compared against computed.\n\n**options example**\n\n```js\n// do not recreate received api, unless its MD5 matches given string\nvar options = {\n  debug: false,\n  md5: '845998b5f8907e585c31874ec5cc79a0'\n};\n```\n\n## Calling remote methods\n\nYou can pass arguments to remove API. Each method call returns a promise object\n\n```js\niframeApi(...).then(function (remoteApi) {\n  remoteApi.foo('a', 'b', 'c').then(function (result) {\n    console.log('remoteApi.foo(a, b, c) returned', result);\n  });\n});\n```\n\n### Small print\n\nAuthor: Gleb Bahmutov &copy; 2015\n\n* [@bahmutov](https://twitter.com/bahmutov)\n* [glebbahmutov.com](http://glebbahmutov.com)\n* [blog](http://glebbahmutov.com/blog)\n\nLicense: MIT - do anything with the code, but don't blame me if it does not work.\n\nSpread the word: tweet, star on github, etc.\n\nSupport: if you find any problems with this module, email / tweet /\n[open issue](https://github.com/bahmutov/iframe-api/issues) on Github\n\n## MIT License\n\nCopyright (c) 2015 Gleb Bahmutov\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n\n[iframe-api-icon]: https://nodei.co/npm/iframe-api.png?downloads=true\n[iframe-api-url]: https://npmjs.org/package/iframe-api\n[iframe-api-ci-image]: https://travis-ci.org/bahmutov/iframe-api.png?branch=master\n[iframe-api-ci-url]: https://travis-ci.org/bahmutov/iframe-api\n[iframe-api-dependencies-image]: https://david-dm.org/bahmutov/iframe-api.png\n[iframe-api-dependencies-url]: https://david-dm.org/bahmutov/iframe-api\n[iframe-api-devdependencies-image]: https://david-dm.org/bahmutov/iframe-api/dev-status.png\n[iframe-api-devdependencies-url]: https://david-dm.org/bahmutov/iframe-api#info=devDependencies\n[semantic-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-url]: https://github.com/semantic-release/semantic-release\n","maintainers":[{"name":"bahmutov","email":"gleb.bahmutov@gmail.com"}],"time":{"modified":"2022-06-19T00:18:05.548Z","created":"2015-01-12T19:49:27.763Z","0.0.1":"2015-01-12T19:49:27.763Z","0.1.0":"2015-01-12T21:38:21.935Z","0.2.0":"2015-01-13T01:28:10.910Z","0.3.0":"2015-01-13T17:48:24.891Z","0.3.1":"2015-01-13T17:57:54.761Z","0.4.0":"2015-01-13T19:31:35.467Z","0.5.0":"2015-01-13T22:30:56.372Z","0.6.0":"2015-01-14T16:54:17.850Z","0.7.0":"2015-01-14T17:10:19.518Z","0.7.1":"2015-01-14T17:34:39.381Z","0.8.0":"2015-01-14T20:53:59.150Z","0.8.2":"2015-01-26T19:32:58.627Z","0.8.3":"2015-01-28T16:21:24.121Z","0.9.0":"2015-02-05T00:39:39.617Z","0.9.1":"2015-03-11T13:38:28.495Z","0.10.0":"2015-12-02T15:12:16.366Z"},"homepage":"https://github.com/bahmutov/iframe-api","keywords":["api","communication","frame","html","iframe","website"],"repository":{"type":"git","url":"git+https://github.com/bahmutov/iframe-api.git"},"contributors":[],"author":{"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.com"},"bugs":{"url":"https://github.com/bahmutov/iframe-api/issues"},"license":"MIT","readmeFilename":"README.md","users":{"iamveen":true}}