refactor(ivy): allow tick and deps to be tree-shaken (#22838)
PR Close #22838
This commit is contained in:
parent
4f21d373b7
commit
1612985e48
@ -13,8 +13,9 @@ import {ComponentRef as viewEngine_ComponentRef} from '../linker/component_facto
|
|||||||
|
|
||||||
import {assertNotNull} from './assert';
|
import {assertNotNull} from './assert';
|
||||||
import {queueLifecycleHooks} from './hooks';
|
import {queueLifecycleHooks} from './hooks';
|
||||||
import {CLEAN_PROMISE, _getComponentHostLElementNode, createLView, createTView, directiveCreate, enterView, getDirectiveInstance, getRootView, hostElement, initChangeDetectorIfExisting, leaveView, locateHostElement, scheduleTick, tick} from './instructions';
|
import {CLEAN_PROMISE, _getComponentHostLElementNode, createLView, createTView, directiveCreate, enterView, getDirectiveInstance, getRootView, hostElement, initChangeDetectorIfExisting, locateHostElement, renderComponentOrTemplate} from './instructions';
|
||||||
import {ComponentDef, ComponentType} from './interfaces/definition';
|
import {ComponentDef, ComponentType} from './interfaces/definition';
|
||||||
|
import {LElementNode} from './interfaces/node';
|
||||||
import {RElement, RendererFactory3, domRendererFactory3} from './interfaces/renderer';
|
import {RElement, RendererFactory3, domRendererFactory3} from './interfaces/renderer';
|
||||||
import {LView, LViewFlags, RootContext} from './interfaces/view';
|
import {LView, LViewFlags, RootContext} from './interfaces/view';
|
||||||
import {stringify} from './util';
|
import {stringify} from './util';
|
||||||
@ -123,17 +124,18 @@ export function renderComponent<T>(
|
|||||||
scheduler: opts.scheduler || requestAnimationFrame,
|
scheduler: opts.scheduler || requestAnimationFrame,
|
||||||
clean: CLEAN_PROMISE,
|
clean: CLEAN_PROMISE,
|
||||||
};
|
};
|
||||||
const oldView = enterView(
|
const rootView = createLView(
|
||||||
createLView(
|
-1, rendererFactory.createRenderer(hostNode, componentDef.rendererType), createTView(), null,
|
||||||
-1, rendererFactory.createRenderer(hostNode, componentDef.rendererType), createTView(),
|
rootContext, componentDef.onPush ? LViewFlags.Dirty : LViewFlags.CheckAlways);
|
||||||
null, rootContext, componentDef.onPush ? LViewFlags.Dirty : LViewFlags.CheckAlways),
|
|
||||||
null !);
|
const oldView = enterView(rootView, null !);
|
||||||
|
|
||||||
|
let elementNode: LElementNode;
|
||||||
try {
|
try {
|
||||||
// Create element node at index 0 in data array
|
// Create element node at index 0 in data array
|
||||||
const elementNode = hostElement(hostNode, componentDef);
|
elementNode = hostElement(hostNode, componentDef);
|
||||||
// Create directive instance with n() and store at index 1 in data array (el is 0)
|
// Create directive instance with n() and store at index 1 in data array (el is 0)
|
||||||
component = rootContext.component =
|
component = rootContext.component = directiveCreate(1, componentDef.factory(), componentDef) as T;
|
||||||
getDirectiveInstance(directiveCreate(1, componentDef.factory(), componentDef));
|
|
||||||
initChangeDetectorIfExisting(elementNode.nodeInjector, component);
|
initChangeDetectorIfExisting(elementNode.nodeInjector, component);
|
||||||
} finally {
|
} finally {
|
||||||
// We must not use leaveView here because it will set creationMode to false too early,
|
// We must not use leaveView here because it will set creationMode to false too early,
|
||||||
@ -143,7 +145,7 @@ export function renderComponent<T>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
opts.hostFeatures && opts.hostFeatures.forEach((feature) => feature(component, componentDef));
|
opts.hostFeatures && opts.hostFeatures.forEach((feature) => feature(component, componentDef));
|
||||||
tick(component);
|
renderComponentOrTemplate(elementNode, rootView, component);
|
||||||
return component;
|
return component;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,9 +32,6 @@
|
|||||||
{
|
{
|
||||||
"name": "__window$1"
|
"name": "__window$1"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "_getComponentHostLElementNode"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "_renderCompCount"
|
"name": "_renderCompCount"
|
||||||
},
|
},
|
||||||
@ -116,9 +113,6 @@
|
|||||||
{
|
{
|
||||||
"name": "getOrCreateTView"
|
"name": "getOrCreateTView"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "getRootView"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "getSymbolObservable"
|
"name": "getSymbolObservable"
|
||||||
},
|
},
|
||||||
@ -206,9 +200,6 @@
|
|||||||
{
|
{
|
||||||
"name": "throwErrorIfNoChangesMode"
|
"name": "throwErrorIfNoChangesMode"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "tick"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "viewAttached"
|
"name": "viewAttached"
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user