refactor(ivy): make styling instructions use the new styling algorithm (#30742)

This commit is the final patch of the ivy styling algorithm refactor.
This patch swaps functionality from the old styling mechanism to the
new refactored code by changing the instruction code the compiler
generates and by pointing the runtime instruction code to the new
styling algorithm.

PR Close #30742
This commit is contained in:
Matias Niemelä
2019-05-28 10:31:01 -07:00
committed by Kara Erickson
parent f14693b9a4
commit 9c954ebc62
57 changed files with 2287 additions and 2612 deletions

View File

@ -66,10 +66,6 @@ class BoxWithOverriddenStylesComponent {
@Component({
selector: 'animation-world',
template: `
<nav>
<button (click)="animateWithCustomPlayer()">Animate List (custom player)</button>
<button (click)="animateWithStyles()">Populate List (style bindings)</button>
</nav>
<div class="list">
<div
#makeColorGrey="makeColorGrey"
@ -115,21 +111,6 @@ class AnimationWorldComponent {
makeColorGrey.toggle();
markDirty(this);
}
animateWithStyles() {
this.styles = animateStyleFactory([{opacity: 0}, {opacity: 1}], 300, 'ease-out');
markDirty(this);
}
animateWithCustomPlayer() {
const elements = this._hostElement.querySelectorAll('div.record') as any as HTMLElement[];
for (let i = 0; i < elements.length; i++) {
const element = elements[i];
const delay = i * 100;
const player = buildAnimationPlayer(element, 'fadeInOut', `500ms ease-out ${delay}ms both`);
addPlayer(element, player);
}
}
}
@NgModule({
@ -139,156 +120,4 @@ class AnimationWorldComponent {
class AnimationWorldModule {
}
function buildAnimationPlayer(element: HTMLElement, animationName: string, time: string): Player {
return new SimpleKeyframePlayer(element, animationName, time);
}
class SimpleKeyframePlayer implements Player {
state = PlayState.Pending;
parent: Player|null = null;
private _animationStyle: string = '';
private _listeners: {[stateName: string]: (() => any)[]} = {};
constructor(private _element: HTMLElement, private _animationName: string, time: string) {
this._animationStyle = `${time} ${_animationName}`;
}
private _start() {
(this._element as any).style.animation = this._animationStyle;
const animationFn = (event: AnimationEvent) => {
if (event.animationName == this._animationName) {
this._element.removeEventListener('animationend', animationFn);
this.finish();
}
};
this._element.addEventListener('animationend', animationFn);
}
addEventListener(state: PlayState|string, cb: () => any): void {
const key = state.toString();
const arr = this._listeners[key] = (this._listeners[key] || []);
arr.push(cb);
}
play(): void {
if (this.state <= PlayState.Pending) {
this._start();
}
if (this.state != PlayState.Running) {
setAnimationPlayState(this._element, 'running');
this.state = PlayState.Running;
this._emit(this.state);
}
}
pause(): void {
if (this.state != PlayState.Paused) {
setAnimationPlayState(this._element, 'paused');
this.state = PlayState.Paused;
this._emit(this.state);
}
}
finish(): void {
if (this.state < PlayState.Finished) {
this._element.style.animation = '';
this.state = PlayState.Finished;
this._emit(this.state);
}
}
destroy(): void {
if (this.state < PlayState.Destroyed) {
this.finish();
this.state = PlayState.Destroyed;
this._emit(this.state);
}
}
capture(): any {}
private _emit(state: PlayState) {
const arr = this._listeners[state.toString()] || [];
arr.forEach(cb => cb());
}
}
function setAnimationPlayState(element: HTMLElement, state: string) {
element.style.animationPlayState = state;
}
class AnimationDebugger implements PlayerHandler {
private _players: Player[] = [];
flushPlayers() {
this._players.forEach(player => {
if (!player.parent) {
player.play();
}
});
this._players.length = 0;
}
queuePlayer(player: Player): void { this._players.push(player); }
}
const playerHandler = new AnimationDebugger();
renderComponent(AnimationWorldComponent, {playerHandler});
function animateStyleFactory(keyframes: any[], duration: number, easing: string) {
const limit = keyframes.length - 1;
const finalKeyframe = keyframes[limit];
return bindPlayerFactory(
(element: HTMLElement, type: number, values: {[key: string]: any},
isFirstRender: boolean) => {
const kf = keyframes.slice(0, limit);
kf.push(values);
return new WebAnimationsPlayer(element, keyframes, duration, easing);
},
finalKeyframe);
}
class WebAnimationsPlayer implements Player {
state = PlayState.Pending;
parent: Player|null = null;
private _listeners: {[stateName: string]: (() => any)[]} = {};
constructor(
private _element: HTMLElement, private _keyframes: {[key: string]: any}[],
private _duration: number, private _easing: string) {}
private _start() {
const player = this._element.animate(
this._keyframes as any[], {duration: this._duration, easing: this._easing, fill: 'both'});
player.addEventListener('finish', e => { this.finish(); });
}
addEventListener(state: PlayState|string, cb: () => any): void {
const key = state.toString();
const arr = this._listeners[key] = (this._listeners[key] || []);
arr.push(cb);
}
play(): void {
if (this.state <= PlayState.Pending) {
this._start();
}
if (this.state != PlayState.Running) {
this.state = PlayState.Running;
this._emit(this.state);
}
}
pause(): void {
if (this.state != PlayState.Paused) {
this.state = PlayState.Paused;
this._emit(this.state);
}
}
finish(): void {
if (this.state < PlayState.Finished) {
this._element.style.animation = '';
this.state = PlayState.Finished;
this._emit(this.state);
}
}
destroy(): void {
if (this.state < PlayState.Destroyed) {
this.finish();
this.state = PlayState.Destroyed;
this._emit(this.state);
}
}
capture(): any {}
private _emit(state: PlayState) {
const arr = this._listeners[state.toString()] || [];
arr.forEach(cb => cb());
}
}
renderComponent(AnimationWorldComponent);

View File

@ -32,18 +32,6 @@
{
"name": "DECLARATION_VIEW"
},
{
"name": "DEFAULT_BINDING_VALUE"
},
{
"name": "DEFAULT_GUARD_MASK_VALUE"
},
{
"name": "DEFAULT_SIZE_VALUE"
},
{
"name": "DEFAULT_TEMPLATE_DIRECTIVE_INDEX"
},
{
"name": "DepComponent"
},
@ -71,9 +59,6 @@
{
"name": "INJECTOR_BLOOM_PARENT_SIZE"
},
{
"name": "MAP_BASED_ENTRY_PROP_NAME"
},
{
"name": "MONKEY_PATCH_KEY_NAME"
},
@ -186,35 +171,17 @@
"name": "_selectedIndex"
},
{
"name": "_stylingMode"
},
{
"name": "addBindingIntoContext"
"name": "_stateStorage"
},
{
"name": "addComponentLogic"
},
{
"name": "addOrUpdateStaticStyle"
"name": "addItemToStylingMap"
},
{
"name": "addToViewTree"
},
{
"name": "allocStylingContext"
},
{
"name": "allocTStylingContext"
},
{
"name": "allocateNewContextEntry"
},
{
"name": "allocateOrUpdateDirectiveIntoContext"
},
{
"name": "allowValueChange"
},
{
"name": "appendChild"
},
@ -224,9 +191,6 @@
{
"name": "attachPatchData"
},
{
"name": "attrsStylingIndexOf"
},
{
"name": "baseResolveDirective"
},
@ -252,10 +216,10 @@
"name": "componentRefresh"
},
{
"name": "createDirectivesAndLocals"
"name": "concatString"
},
{
"name": "createEmptyStylingContext"
"name": "createDirectivesAndLocals"
},
{
"name": "createLView"
@ -347,9 +311,6 @@
{
"name": "getCheckNoChangesMode"
},
{
"name": "getClassesContext"
},
{
"name": "getClosureSafeProperty"
},
@ -362,18 +323,12 @@
{
"name": "getContainerRenderParent"
},
{
"name": "getContext"
},
{
"name": "getDirectiveDef"
},
{
"name": "getElementDepthCount"
},
{
"name": "getGuardMask"
},
{
"name": "getHighestElementOrICUContainer"
},
@ -381,10 +336,7 @@
"name": "getHostNative"
},
{
"name": "getInitialClassNameValue"
},
{
"name": "getInitialStyleStringValue"
"name": "getInitialStylingValue"
},
{
"name": "getInjectorIndex"
@ -401,6 +353,12 @@
{
"name": "getLViewParent"
},
{
"name": "getMapProp"
},
{
"name": "getMapValue"
},
{
"name": "getNameOnlyMarkerIndex"
},
@ -446,15 +404,6 @@
{
"name": "getPreviousOrParentTNode"
},
{
"name": "getProp"
},
{
"name": "getPropConfig"
},
{
"name": "getPropValuesStartPosition"
},
{
"name": "getRenderFlags"
},
@ -471,16 +420,7 @@
"name": "getSelectedIndex"
},
{
"name": "getStylesContext"
},
{
"name": "getStylingContextFromLView"
},
{
"name": "getTNode"
},
{
"name": "getValuesCount"
"name": "getStylingMapArray"
},
{
"name": "hasClassInput"
@ -506,9 +446,6 @@
{
"name": "initNodeFlags"
},
{
"name": "initializeStaticContext"
},
{
"name": "initializeTNodeInputs"
},
@ -575,6 +512,9 @@
{
"name": "isStylingContext"
},
{
"name": "isStylingValueDefined"
},
{
"name": "leaveView"
},
@ -605,12 +545,6 @@
{
"name": "noSideEffects"
},
{
"name": "patchContextWithStaticAttrs"
},
{
"name": "patchInitialStylingValue"
},
{
"name": "postProcessBaseDirective"
},
@ -620,9 +554,6 @@
{
"name": "queueComponentIndexForCheck"
},
{
"name": "readClassValueFromTNode"
},
{
"name": "readPatchedData"
},
@ -642,10 +573,7 @@
"name": "refreshDynamicEmbeddedViews"
},
{
"name": "registerBinding"
},
{
"name": "registerInitialStylingIntoContext"
"name": "registerInitialStylingOnTNode"
},
{
"name": "registerPostOrderHooks"
@ -663,14 +591,17 @@
"name": "renderEmbeddedTemplate"
},
{
"name": "renderInitialClasses"
},
{
"name": "renderInitialStyles"
"name": "renderInitialStyling"
},
{
"name": "renderStringify"
},
{
"name": "renderStylingMap"
},
{
"name": "resetAllStylingState"
},
{
"name": "resetComponentState"
},
@ -678,10 +609,10 @@
"name": "resetPreOrderHookFlags"
},
{
"name": "resolveDirectives"
"name": "resetStylingState"
},
{
"name": "runtimeIsNewStylingInUse"
"name": "resolveDirectives"
},
{
"name": "saveNameToExportMap"
@ -698,9 +629,6 @@
{
"name": "setBindingRoot"
},
{
"name": "setCachedStylingContext"
},
{
"name": "setClass"
},
@ -711,7 +639,10 @@
"name": "setCurrentQueryIndex"
},
{
"name": "setGuardMask"
"name": "setCurrentStyleSanitizer"
},
{
"name": "setDirectiveStylingInput"
},
{
"name": "setHostBindings"
@ -732,7 +663,7 @@
"name": "setIsNotParent"
},
{
"name": "setNodeStylingTemplate"
"name": "setMapValue"
},
{
"name": "setPreviousOrParentTNode"
@ -752,6 +683,9 @@
{
"name": "stringifyForError"
},
{
"name": "stylingMapToString"
},
{
"name": "syncViewWithBlueprint"
},

View File

@ -149,6 +149,9 @@
{
"name": "_selectedIndex"
},
{
"name": "_stateStorage"
},
{
"name": "addToViewTree"
},
@ -284,6 +287,12 @@
{
"name": "getLViewParent"
},
{
"name": "getMapProp"
},
{
"name": "getMapValue"
},
{
"name": "getNativeAnchorNode"
},
@ -338,6 +347,9 @@
{
"name": "getSelectedIndex"
},
{
"name": "getStylingMapArray"
},
{
"name": "hasParentInjector"
},
@ -383,6 +395,9 @@
{
"name": "isRootView"
},
{
"name": "isStylingContext"
},
{
"name": "leaveView"
},
@ -444,20 +459,26 @@
"name": "renderEmbeddedTemplate"
},
{
"name": "renderInitialClasses"
},
{
"name": "renderInitialStyles"
"name": "renderInitialStyling"
},
{
"name": "renderStringify"
},
{
"name": "renderStylingMap"
},
{
"name": "resetAllStylingState"
},
{
"name": "resetComponentState"
},
{
"name": "resetPreOrderHookFlags"
},
{
"name": "resetStylingState"
},
{
"name": "selectInternal"
},
@ -467,9 +488,6 @@
{
"name": "setBindingRoot"
},
{
"name": "setCachedStylingContext"
},
{
"name": "setClass"
},
@ -479,6 +497,9 @@
{
"name": "setCurrentQueryIndex"
},
{
"name": "setCurrentStyleSanitizer"
},
{
"name": "setHostBindings"
},

View File

@ -12,10 +12,10 @@
"name": "BINDING_INDEX"
},
{
"name": "BLOOM_MASK"
"name": "BIT_MASK_START_VALUE"
},
{
"name": "BoundPlayerFactory"
"name": "BLOOM_MASK"
},
{
"name": "CHILD_HEAD"
@ -38,12 +38,6 @@
{
"name": "ChangeDetectionStrategy"
},
{
"name": "ClassAndStylePlayerBuilder"
},
{
"name": "CorePlayerHandler"
},
{
"name": "DECLARATION_VIEW"
},
@ -56,9 +50,6 @@
{
"name": "DEFAULT_SIZE_VALUE"
},
{
"name": "DEFAULT_TEMPLATE_DIRECTIVE_INDEX"
},
{
"name": "DefaultIterableDiffer"
},
@ -230,9 +221,6 @@
{
"name": "SWITCH_VIEW_CONTAINER_REF_FACTORY"
},
{
"name": "SecurityContext"
},
{
"name": "SkipSelf"
},
@ -374,9 +362,6 @@
{
"name": "_c21"
},
{
"name": "_c22"
},
{
"name": "_c3"
},
@ -417,11 +402,17 @@
"name": "_selectedIndex"
},
{
"name": "_stylingMode"
"name": "_stateStorage"
},
{
"name": "_stylingElement"
},
{
"name": "_stylingProp"
},
{
"name": "_stylingState"
},
{
"name": "_symbolIterator"
},
@ -441,10 +432,7 @@
"name": "addComponentLogic"
},
{
"name": "addOrUpdateStaticStyle"
},
{
"name": "addPlayerInternal"
"name": "addItemToStylingMap"
},
{
"name": "addRemoveViewFromContainer"
@ -455,42 +443,21 @@
{
"name": "addToViewTree"
},
{
"name": "allocPlayerContext"
},
{
"name": "allocStylingContext"
},
{
"name": "allocTStylingContext"
},
{
"name": "allocateNewContextEntry"
},
{
"name": "allocateOrUpdateDirectiveIntoContext"
},
{
"name": "allowFlush"
},
{
"name": "allowStylingFlush"
},
{
"name": "allowValueChange"
},
{
"name": "appendChild"
},
{
"name": "applyClasses"
},
{
"name": "applyOnCreateInstructions"
},
{
"name": "applyStyles"
},
{
"name": "applyStyling"
},
@ -503,9 +470,6 @@
{
"name": "attachPatchData"
},
{
"name": "attrsStylingIndexOf"
},
{
"name": "baseResolveDirective"
},
@ -524,9 +488,6 @@
{
"name": "bloomHashBitOrFactory"
},
{
"name": "booleanOrNull"
},
{
"name": "cacheMatchingLocalNames"
},
@ -545,12 +506,6 @@
{
"name": "checkView"
},
{
"name": "classProp"
},
{
"name": "classesBitMask"
},
{
"name": "cleanUpView"
},
@ -560,9 +515,15 @@
{
"name": "componentRefresh"
},
{
"name": "concatString"
},
{
"name": "containerInternal"
},
{
"name": "contextHasUpdates"
},
{
"name": "contextLView"
},
@ -578,9 +539,6 @@
{
"name": "createEmbeddedViewAndNode"
},
{
"name": "createEmptyStylingContext"
},
{
"name": "createLContainer"
},
@ -617,12 +575,6 @@
{
"name": "createViewBlueprint"
},
{
"name": "currentClassIndex"
},
{
"name": "currentStyleIndex"
},
{
"name": "decreaseElementDepthCount"
},
@ -635,9 +587,15 @@
{
"name": "deferBindingRegistration"
},
{
"name": "deferStylingUpdate"
},
{
"name": "deferredBindingQueue"
},
{
"name": "deleteStylingStateFromStorage"
},
{
"name": "destroyLView"
},
@ -653,9 +611,6 @@
{
"name": "diPublicInInjector"
},
{
"name": "directiveOwnerPointers"
},
{
"name": "domRendererFactory3"
},
@ -665,9 +620,6 @@
{
"name": "elementPropertyInternal"
},
{
"name": "enqueueHostInstruction"
},
{
"name": "enterView"
},
@ -731,12 +683,6 @@
{
"name": "findExistingListener"
},
{
"name": "findNextInsertionIndex"
},
{
"name": "findOrPatchDirectiveIntoRegistry"
},
{
"name": "findViaComponent"
},
@ -744,7 +690,7 @@
"name": "flushDeferredBindings"
},
{
"name": "flushQueue"
"name": "flushStyling"
},
{
"name": "forwardRef"
@ -764,9 +710,6 @@
{
"name": "getActiveDirectiveStylingIndex"
},
{
"name": "getActiveDirectiveStylingIndex"
},
{
"name": "getActiveDirectiveSuperClassDepth"
},
@ -776,18 +719,12 @@
{
"name": "getBeforeNodeForView"
},
{
"name": "getBindingNameFromIndex"
},
{
"name": "getBindingValue"
},
{
"name": "getBindingsEnabled"
},
{
"name": "getCachedStylingContext"
},
{
"name": "getCheckNoChangesMode"
},
@ -821,9 +758,6 @@
{
"name": "getContextLView"
},
{
"name": "getCurrentOrLViewSanitizer"
},
{
"name": "getCurrentStyleSanitizer"
},
@ -833,9 +767,6 @@
{
"name": "getDirectiveDef"
},
{
"name": "getDirectiveIndexFromEntry"
},
{
"name": "getElementDepthCount"
},
@ -852,19 +783,7 @@
"name": "getHostNative"
},
{
"name": "getInitialClassNameValue"
},
{
"name": "getInitialIndex"
},
{
"name": "getInitialStyleStringValue"
},
{
"name": "getInitialStylingValuesIndexOf"
},
{
"name": "getInitialValue"
"name": "getInitialStylingValue"
},
{
"name": "getInjectableDef"
@ -885,13 +804,10 @@
"name": "getLViewParent"
},
{
"name": "getMatchingBindingIndex"
"name": "getMapProp"
},
{
"name": "getMultiOrSingleIndex"
},
{
"name": "getMultiStylesStartIndex"
"name": "getMapValue"
},
{
"name": "getNameOnlyMarkerIndex"
@ -911,9 +827,6 @@
{
"name": "getNativeByTNodeOrNull"
},
{
"name": "getNativeFromLView"
},
{
"name": "getNodeInjectable"
},
@ -953,18 +866,6 @@
{
"name": "getPipeDef"
},
{
"name": "getPlayerBuilder"
},
{
"name": "getPlayerBuilderIndex"
},
{
"name": "getPlayerContext"
},
{
"name": "getPointers"
},
{
"name": "getPreviousIndex"
},
@ -974,9 +875,6 @@
{
"name": "getProp"
},
{
"name": "getProp"
},
{
"name": "getPropConfig"
},
@ -1001,24 +899,18 @@
{
"name": "getSelectedIndex"
},
{
"name": "getSinglePropIndexValue"
},
{
"name": "getStyleSanitizer"
},
{
"name": "getStylesContext"
},
{
"name": "getStylingContext"
},
{
"name": "getStylingContextFromLView"
"name": "getStylingMapArray"
},
{
"name": "getStylingMapsSyncFn"
},
{
"name": "getStylingState"
},
{
"name": "getSymbolIterator"
},
@ -1034,9 +926,6 @@
{
"name": "getTypeNameForDebugging"
},
{
"name": "getValue"
},
{
"name": "getValuesCount"
},
@ -1052,9 +941,6 @@
{
"name": "hasParentInjector"
},
{
"name": "hasPlayerBuilderChanged"
},
{
"name": "hasStyleInput"
},
@ -1064,15 +950,6 @@
{
"name": "hasValueChanged"
},
{
"name": "hasValueChanged"
},
{
"name": "hyphenate"
},
{
"name": "hyphenateEntries"
},
{
"name": "includeViewProviders"
},
@ -1085,12 +962,6 @@
{
"name": "initNodeFlags"
},
{
"name": "initStyling"
},
{
"name": "initializeStaticContext"
},
{
"name": "initializeTNodeInputs"
},
@ -1145,9 +1016,6 @@
{
"name": "isContentQueryHost"
},
{
"name": "isContextDirty"
},
{
"name": "isContextLocked"
},
@ -1163,9 +1031,6 @@
{
"name": "isDifferent"
},
{
"name": "isDirty"
},
{
"name": "isFactory"
},
@ -1226,6 +1091,9 @@
{
"name": "locateHostElement"
},
{
"name": "lockAndFinalizeContext"
},
{
"name": "lockContext"
},
@ -1238,6 +1106,9 @@
{
"name": "makeParamDecorator"
},
{
"name": "markContextToPersistState"
},
{
"name": "markDirty"
},
@ -1250,6 +1121,9 @@
{
"name": "matchTemplateAttribute"
},
{
"name": "maybeApplyStyling"
},
{
"name": "namespaceHTMLInternal"
},
@ -1286,30 +1160,15 @@
{
"name": "normalizeBitMaskValue"
},
{
"name": "patchContextWithStaticAttrs"
},
{
"name": "patchInitialStylingValue"
},
{
"name": "pointers"
},
{
"name": "postProcessBaseDirective"
},
{
"name": "postProcessDirective"
},
{
"name": "prepareInitialFlag"
},
{
"name": "queueComponentIndexForCheck"
},
{
"name": "readClassValueFromTNode"
},
{
"name": "readPatchedData"
},
@ -1332,13 +1191,7 @@
"name": "registerBinding"
},
{
"name": "registerHostDirective"
},
{
"name": "registerInitialStylingIntoContext"
},
{
"name": "registerMultiMapEntry"
"name": "registerInitialStylingOnTNode"
},
{
"name": "registerPostOrderHooks"
@ -1365,16 +1218,16 @@
"name": "renderEmbeddedTemplate"
},
{
"name": "renderInitialClasses"
},
{
"name": "renderInitialStyles"
"name": "renderInitialStyling"
},
{
"name": "renderStringify"
},
{
"name": "renderStyling"
"name": "renderStylingMap"
},
{
"name": "resetAllStylingState"
},
{
"name": "resetComponentState"
@ -1382,21 +1235,15 @@
{
"name": "resetPreOrderHookFlags"
},
{
"name": "resetStylingState"
},
{
"name": "resolveDirectives"
},
{
"name": "resolveForwardRef"
},
{
"name": "runtimeAllowOldStyling"
},
{
"name": "runtimeIsNewStylingInUse"
},
{
"name": "sanitizeUsingSanitizerObject"
},
{
"name": "saveNameToExportMap"
},
@ -1421,27 +1268,15 @@
{
"name": "setBindingRoot"
},
{
"name": "setCachedStylingContext"
},
{
"name": "setCheckNoChangesMode"
},
{
"name": "setClass"
},
{
"name": "setClass"
},
{
"name": "setConfig"
},
{
"name": "setContextDirty"
},
{
"name": "setContextPlayersDirty"
},
{
"name": "setCurrentDirectiveDef"
},
@ -1452,10 +1287,7 @@
"name": "setCurrentStyleSanitizer"
},
{
"name": "setDirty"
},
{
"name": "setFlag"
"name": "setDirectiveStylingInput"
},
{
"name": "setGuardMask"
@ -1479,32 +1311,17 @@
"name": "setIsNotParent"
},
{
"name": "setNodeStylingTemplate"
},
{
"name": "setPlayerBuilder"
},
{
"name": "setPlayerBuilderIndex"
"name": "setMapValue"
},
{
"name": "setPreviousOrParentTNode"
},
{
"name": "setProp"
},
{
"name": "setSanitizeFlag"
},
{
"name": "setSelectedIndex"
},
{
"name": "setStyle"
},
{
"name": "setStyle"
},
{
"name": "setTNodeAndViewData"
},
@ -1512,10 +1329,10 @@
"name": "setUpAttributes"
},
{
"name": "setValue"
"name": "shouldSearchParent"
},
{
"name": "shouldSearchParent"
"name": "stateIsPersisted"
},
{
"name": "storeBindingMetadata"
@ -1523,6 +1340,9 @@
{
"name": "storeCleanupFn"
},
{
"name": "storeStylingState"
},
{
"name": "stringify"
},
@ -1530,16 +1350,7 @@
"name": "stringifyForError"
},
{
"name": "stylesBitMask"
},
{
"name": "stylingApply"
},
{
"name": "stylingContext"
},
{
"name": "stylingInit"
"name": "stylingMapToString"
},
{
"name": "syncViewWithBlueprint"
@ -1566,26 +1377,17 @@
"name": "updateClassBinding"
},
{
"name": "updateClassProp"
},
{
"name": "updateContextDirectiveIndex"
},
{
"name": "updateContextWithBindings"
"name": "updateInitialStylingOnContext"
},
{
"name": "updateLastDirectiveIndex"
},
{
"name": "updateSingleStylingValue"
"name": "updateLastDirectiveIndex"
},
{
"name": "updateStyleBinding"
},
{
"name": "valueExists"
},
{
"name": "viewAttachedToChangeDetector"
},