portal-gun
v0.4.1
Published
### An iframe rpc library
Downloads
32
Readme
Portal-Gun
An iframe rpc library
Install
$ npm install portal-gun
API
PortalGun = require 'portal-gun'
portal = new PortalGun({
isParentValidFn: (origin) ->
return origin is 'http://x.com'
})
portal.listen()
portal.on 'methodName', (what) -> "#{what}?"
portal.call 'methodName', 'hello'
.then (result) -> # 'hello?'
###
# @param {Object} config
# @param {Number} [config.timeout=3000] - request timeout (ms)
# @param {Function<Boolean>} config.isParentValidFn - restrict parent origin
###
constructor: ({timeout, @isParentValidFn} = {}) -> null
# Binds global message listener
# Must be called before .call()
listen: =>
###
# @param {String} method
# @param {...*} params
# @returns Promise
###
call: (method, params...) =>
###
# Register method to be called on child request, or local request fallback
# @param {String} method
# @param {Function} fn
###
on: (method, fn) =>
Contributing
npm install
npm test
Changelog
v0.3.0 -> v0.4.0
- removed
trusted
andallowSubdomains
config - added
isParentValidFn
v0.2.0 -> v0.3.0
- new class api
- compatible with v0.2.0 RPC spec
- improved testing, stability, and timeout guarantees
v0.1.x -> v0.2.0
- added callback support (currently one-way)
- removed
beforeWindowOpen
andwindowOpen
trusted
domains must be an array- removed
timeout
config subdomains
config renamed toallowSubdomains
- renamed
register()
->on()
- renamed
get()
->call()