refactor(ivy): add internal isProceduralRenderer() (#22055)

PR Close #22055
This commit is contained in:
Victor Berchet
2018-02-06 20:08:46 -08:00
committed by Miško Hevery
parent 10a014d89e
commit 3f5a3d6ea1
4 changed files with 32 additions and 25 deletions

View File

@ -19,7 +19,7 @@ import {assertNodeType} from './node_assert';
import {appendChild, insertChild, insertView, appendProjectedNode, removeView, canInsertNativeNode} from './node_manipulation';
import {matchingSelectorIndex} from './node_selector_matcher';
import {ComponentDef, ComponentTemplate, ComponentType, DirectiveDef, DirectiveType} from './interfaces/definition';
import {RElement, RText, Renderer3, RendererFactory3, ProceduralRenderer3, ObjectOrientedRenderer3, RendererStyleFlags3} from './interfaces/renderer';
import {RElement, RText, Renderer3, RendererFactory3, ProceduralRenderer3, ObjectOrientedRenderer3, RendererStyleFlags3, isProceduralRenderer} from './interfaces/renderer';
import {isDifferent, stringify} from './util';
import {executeHooks, executeContentHooks, queueLifecycleHooks, queueInitHooks, executeInitHooks} from './hooks';
@ -569,8 +569,8 @@ export function listener(eventName: string, listener: EventListener, useCapture
// In order to match current behavior, native DOM event listeners must be added for all
// events (including outputs).
if ((renderer as ProceduralRenderer3).listen) {
const cleanupFn = (renderer as ProceduralRenderer3).listen(native, eventName, listener);
if (isProceduralRenderer(renderer)) {
const cleanupFn = renderer.listen(native, eventName, listener);
(cleanup || (cleanup = currentView.cleanup = [])).push(cleanupFn, null);
} else {
native.addEventListener(eventName, listener, useCapture);