private IJavascriptObject GetMapper(IJavascriptObjectMapper iMapperListener) { _JavascriptMapper.Enqueue(iMapperListener); if (_Mapper != null) { return(_Mapper); } _Mapper = _WebView.Factory.CreateObject(); _Mapper.Bind("Register", _WebView, (e) => { if (_PullNextMapper) { _Current = _JavascriptMapper.Dequeue(); _PullNextMapper = false; } if (_Current == null) { return; } int count = e.Length; var registered = e[0]; switch (count) { case 1: _Current.MapFirst(registered); break; case 3: _Current.Map(e[1], e[2].GetStringValue(), registered); break; case 4: _Current.MapCollection(e[1], e[2].GetStringValue(), e[3].GetIntValue(), registered); break; } }); _Mapper.Bind("End", _WebView, (e) => { if (_PullNextMapper) { _Current = _JavascriptMapper.Dequeue(); } _Current?.EndMapping(e[0]); _Current = null; _PullNextMapper = true; }); return(_Mapper); }
private IJavascriptObject GetMapper(IJavascriptObjectMapper iMapperListener) { _JavascriptMapper.Enqueue(iMapperListener); if (_Mapper != null) return _Mapper; _Mapper = _WebView.Factory.CreateObject(false); _Mapper.Bind("Register", _WebView, (e) => { if (_PullNextMapper) { _Current = _JavascriptMapper.Dequeue(); _PullNextMapper = false; } if (_Current == null) return; int count = e.Length; var registered = e[0]; switch (count) { case 1: _Current.MapFirst(registered); break; case 3: _Current.Map(e[1], e[2].GetStringValue(), registered); break; case 4: _Current.MapCollection(e[1], e[2].GetStringValue(), e[3].GetIntValue(), registered); break; } }); _Mapper.Bind("End", _WebView, (e) => { if (_PullNextMapper) _Current = _JavascriptMapper.Dequeue(); _Current?.EndMapping(e[0]); _Current = null; _PullNextMapper = true; }); return _Mapper; }
public IJavascriptObject UnsafeInject(IJavascriptObject ihybridobject, IJavascriptObjectMapper ijvm) { var res = GetKo().Invoke("MapToObservable", _WebView, ihybridobject, GetMapper(ijvm), _Listener); return((res == null || res.IsUndefined) ? null : res); }
public IJavascriptObject Inject(IJavascriptObject ihybridobject, IJavascriptObjectMapper ijvm) { return(UnsafeInject(ihybridobject, ijvm)); }
public IJavascriptObject Inject(IJavascriptObject rawObject, IJavascriptObjectMapper mapper) { mapper?.AutoMap(); return(rawObject); }
public IJavascriptObject Inject(IJavascriptObject rawObject, IJavascriptObjectMapper mapper) { return(rawObject); }
public IJavascriptObject UnsafeInject(IJavascriptObject ihybridobject, IJavascriptObjectMapper ijvm) { var res = GetKo().Invoke("MapToObservable", _WebView, ihybridobject, GetMapper(ijvm), _Listener); return (res == null || res.IsUndefined) ? null : res; }
public IJavascriptObject Inject(IJavascriptObject ihybridobject, IJavascriptObjectMapper ijvm) { return UnsafeInject(ihybridobject, ijvm); }