refactor(ivy): rename objectLiteral to pureFn to prep for pipes (#22214)

PR Close #22214
This commit is contained in:
Kara Erickson
2018-02-13 18:56:52 -08:00
committed by Victor Berchet
parent e1bf067090
commit a73d5308e0
6 changed files with 187 additions and 161 deletions

View File

@ -21,6 +21,7 @@ export {
PublicFeature as ɵPublicFeature,
NgOnChangesFeature as ɵNgOnChangesFeature,
CssSelector as ɵCssSelector,
NC as ɵNC,
C as ɵC,
E as ɵE,
L as ɵL,
@ -43,15 +44,15 @@ export {
pb3 as ɵpb3,
pb4 as ɵpb4,
pbV as ɵpbV,
o1 as ɵo1,
o2 as ɵo2,
o3 as ɵo3,
o4 as ɵo4,
o5 as ɵo5,
o6 as ɵo6,
o7 as ɵo7,
o8 as ɵo8,
oV as ɵoV,
f1 as ɵf1,
f2 as ɵf2,
f3 as ɵf3,
f4 as ɵf4,
f5 as ɵf5,
f6 as ɵf6,
f7 as ɵf7,
f8 as ɵf8,
fV as ɵfV,
cR as ɵcR,
cr as ɵcr,
qR as ɵqR,

View File

@ -79,16 +79,16 @@ export {
queryRefresh as qR,
} from './query';
export {
objectLiteral1 as o1,
objectLiteral2 as o2,
objectLiteral3 as o3,
objectLiteral4 as o4,
objectLiteral5 as o5,
objectLiteral6 as o6,
objectLiteral7 as o7,
objectLiteral8 as o8,
objectLiteralV as oV,
} from './object_literal';
pureFunction1 as f1,
pureFunction2 as f2,
pureFunction3 as f3,
pureFunction4 as f4,
pureFunction5 as f5,
pureFunction6 as f6,
pureFunction7 as f7,
pureFunction8 as f8,
pureFunctionV as fV,
} from './pure_function';
// clang-format on

View File

@ -9,31 +9,31 @@
import {NO_CHANGE, bind, peekBinding} from './instructions';
/**
* If the object or array has changed, returns a copy with the updated expression.
* Or if the expression hasn't changed, returns NO_CHANGE.
* If the value of the provided exp has changed, calls the pure function to
* return an updated value. Or if the value has not changed, returns NO_CHANGE.
*
* @param factoryFn Function that returns an updated instance of the object/array
* @param pureFn Function that returns an updated value
* @param exp Updated expression value
* @returns A copy of the object/array or NO_CHANGE
* @returns Updated value or NO_CHANGE
*/
export function objectLiteral1(factoryFn: (v: any) => any, exp: any): any {
export function pureFunction1(pureFn: (v: any) => any, exp: any): any {
let different = false;
const latestValue = exp === NO_CHANGE ? peekBinding() : exp;
if (bind(exp) !== NO_CHANGE) different = true;
return different ? factoryFn(latestValue) : NO_CHANGE;
return different ? pureFn(latestValue) : NO_CHANGE;
}
/**
* If the object or array has changed, returns a copy with all updated expressions.
* Or if no expressions have changed, returns NO_CHANGE.
* If the value of any provided exp has changed, calls the pure function to
* return an updated value. Or if no values have changed, returns NO_CHANGE.
*
* @param factoryFn
* @param pureFn
* @param exp1
* @param exp2
* @returns A copy of the object/array or NO_CHANGE
* @returns Updated value or NO_CHANGE
*/
export function objectLiteral2(factoryFn: (v1: any, v2: any) => any, exp1: any, exp2: any): any {
export function pureFunction2(pureFn: (v1: any, v2: any) => any, exp1: any, exp2: any): any {
let different = false;
const latestVal1 = exp1 === NO_CHANGE ? peekBinding() : exp1;
@ -42,21 +42,21 @@ export function objectLiteral2(factoryFn: (v1: any, v2: any) => any, exp1: any,
const latestVal2 = exp2 === NO_CHANGE ? peekBinding() : exp2;
if (bind(exp2) !== NO_CHANGE) different = true;
return different ? factoryFn(latestVal1, latestVal2) : NO_CHANGE;
return different ? pureFn(latestVal1, latestVal2) : NO_CHANGE;
}
/**
* If the object or array has changed, returns a copy with all updated expressions.
* Or if no expressions have changed, returns NO_CHANGE.
* If the value of any provided exp has changed, calls the pure function to
* return an updated value. Or if no values have changed, returns NO_CHANGE.
*
* @param factoryFn
* @param pureFn
* @param exp1
* @param exp2
* @param exp3
* @returns A copy of the object/array or NO_CHANGE
* @returns Updated value or NO_CHANGE
*/
export function objectLiteral3(
factoryFn: (v1: any, v2: any, v3: any) => any, exp1: any, exp2: any, exp3: any): any {
export function pureFunction3(
pureFn: (v1: any, v2: any, v3: any) => any, exp1: any, exp2: any, exp3: any): any {
let different = false;
const latestVal1 = exp1 === NO_CHANGE ? peekBinding() : exp1;
@ -68,22 +68,22 @@ export function objectLiteral3(
const latestVal3 = exp3 === NO_CHANGE ? peekBinding() : exp3;
if (bind(exp3) !== NO_CHANGE) different = true;
return different ? factoryFn(latestVal1, latestVal2, latestVal3) : NO_CHANGE;
return different ? pureFn(latestVal1, latestVal2, latestVal3) : NO_CHANGE;
}
/**
* If the object or array has changed, returns a copy with all updated expressions.
* Or if no expressions have changed, returns NO_CHANGE.
* If the value of any provided exp has changed, calls the pure function to
* return an updated value. Or if no values have changed, returns NO_CHANGE.
*
* @param factoryFn
* @param pureFn
* @param exp1
* @param exp2
* @param exp3
* @param exp4
* @returns A copy of the object/array or NO_CHANGE
* @returns Updated value or NO_CHANGE
*/
export function objectLiteral4(
factoryFn: (v1: any, v2: any, v3: any, v4: any) => any, exp1: any, exp2: any, exp3: any,
export function pureFunction4(
pureFn: (v1: any, v2: any, v3: any, v4: any) => any, exp1: any, exp2: any, exp3: any,
exp4: any): any {
let different = false;
@ -99,24 +99,24 @@ export function objectLiteral4(
const latestVal4 = exp4 === NO_CHANGE ? peekBinding() : exp4;
if (bind(exp4) !== NO_CHANGE) different = true;
return different ? factoryFn(latestVal1, latestVal2, latestVal3, latestVal4) : NO_CHANGE;
return different ? pureFn(latestVal1, latestVal2, latestVal3, latestVal4) : NO_CHANGE;
}
/**
* If the object or array has changed, returns a copy with all updated expressions.
* Or if no expressions have changed, returns NO_CHANGE.
* If the value of any provided exp has changed, calls the pure function to
* return an updated value. Or if no values have changed, returns NO_CHANGE.
*
* @param factoryFn
* @param pureFn
* @param exp1
* @param exp2
* @param exp3
* @param exp4
* @param exp5
* @returns A copy of the object/array or NO_CHANGE
* @returns Updated value or NO_CHANGE
*/
export function objectLiteral5(
factoryFn: (v1: any, v2: any, v3: any, v4: any, v5: any) => any, exp1: any, exp2: any,
exp3: any, exp4: any, exp5: any): any {
export function pureFunction5(
pureFn: (v1: any, v2: any, v3: any, v4: any, v5: any) => any, exp1: any, exp2: any, exp3: any,
exp4: any, exp5: any): any {
let different = false;
const latestVal1 = exp1 === NO_CHANGE ? peekBinding() : exp1;
@ -134,25 +134,24 @@ export function objectLiteral5(
const latestVal5 = exp5 === NO_CHANGE ? peekBinding() : exp5;
if (bind(exp5) !== NO_CHANGE) different = true;
return different ? factoryFn(latestVal1, latestVal2, latestVal3, latestVal4, latestVal5) :
NO_CHANGE;
return different ? pureFn(latestVal1, latestVal2, latestVal3, latestVal4, latestVal5) : NO_CHANGE;
}
/**
* If the object or array has changed, returns a copy with all updated expressions.
* Or if no expressions have changed, returns NO_CHANGE.
* If the value of any provided exp has changed, calls the pure function to
* return an updated value. Or if no values have changed, returns NO_CHANGE.
*
* @param factoryFn
* @param pureFn
* @param exp1
* @param exp2
* @param exp3
* @param exp4
* @param exp5
* @param exp6
* @returns A copy of the object/array or NO_CHANGE
* @returns Updated value or NO_CHANGE
*/
export function objectLiteral6(
factoryFn: (v1: any, v2: any, v3: any, v4: any, v5: any, v6: any) => any, exp1: any, exp2: any,
export function pureFunction6(
pureFn: (v1: any, v2: any, v3: any, v4: any, v5: any, v6: any) => any, exp1: any, exp2: any,
exp3: any, exp4: any, exp5: any, exp6: any): any {
let different = false;
@ -175,15 +174,15 @@ export function objectLiteral6(
if (bind(exp6) !== NO_CHANGE) different = true;
return different ?
factoryFn(latestVal1, latestVal2, latestVal3, latestVal4, latestVal5, latestVal6) :
pureFn(latestVal1, latestVal2, latestVal3, latestVal4, latestVal5, latestVal6) :
NO_CHANGE;
}
/**
* If the object or array has changed, returns a copy with all updated expressions.
* Or if no expressions have changed, returns NO_CHANGE.
* If the value of any provided exp has changed, calls the pure function to
* return an updated value. Or if no values have changed, returns NO_CHANGE.
*
* @param factoryFn
* @param pureFn
* @param exp1
* @param exp2
* @param exp3
@ -191,10 +190,10 @@ export function objectLiteral6(
* @param exp5
* @param exp6
* @param exp7
* @returns A copy of the object/array or NO_CHANGE
* @returns Updated value or NO_CHANGE
*/
export function objectLiteral7(
factoryFn: (v1: any, v2: any, v3: any, v4: any, v5: any, v6: any, v7: any) => any, exp1: any,
export function pureFunction7(
pureFn: (v1: any, v2: any, v3: any, v4: any, v5: any, v6: any, v7: any) => any, exp1: any,
exp2: any, exp3: any, exp4: any, exp5: any, exp6: any, exp7: any): any {
let different = false;
@ -220,16 +219,15 @@ export function objectLiteral7(
if (bind(exp7) !== NO_CHANGE) different = true;
return different ?
factoryFn(
latestVal1, latestVal2, latestVal3, latestVal4, latestVal5, latestVal6, latestVal7) :
pureFn(latestVal1, latestVal2, latestVal3, latestVal4, latestVal5, latestVal6, latestVal7) :
NO_CHANGE;
}
/**
* If the object or array has changed, returns a copy with all updated expressions.
* Or if no expressions have changed, returns NO_CHANGE.
* If the value of any provided exp has changed, calls the pure function to
* return an updated value. Or if no values have changed, returns NO_CHANGE.
*
* @param factoryFn
* @param pureFn
* @param exp1
* @param exp2
* @param exp3
@ -238,10 +236,10 @@ export function objectLiteral7(
* @param exp6
* @param exp7
* @param exp8
* @returns A copy of the object/array or NO_CHANGE
* @returns Updated value or NO_CHANGE
*/
export function objectLiteral8(
factoryFn: (v1: any, v2: any, v3: any, v4: any, v5: any, v6: any, v7: any, v8: any) => any,
export function pureFunction8(
pureFn: (v1: any, v2: any, v3: any, v4: any, v5: any, v6: any, v7: any, v8: any) => any,
exp1: any, exp2: any, exp3: any, exp4: any, exp5: any, exp6: any, exp7: any, exp8: any): any {
let different = false;
@ -269,24 +267,24 @@ export function objectLiteral8(
const latestVal8 = exp8 === NO_CHANGE ? peekBinding() : exp8;
if (bind(exp8) !== NO_CHANGE) different = true;
return different ? factoryFn(
return different ? pureFn(
latestVal1, latestVal2, latestVal3, latestVal4, latestVal5, latestVal6,
latestVal7, latestVal8) :
NO_CHANGE;
}
/**
* objectLiteral instruction that can support any number of bindings.
* pureFunction instruction that can support any number of bindings.
*
* If the object or array has changed, returns a copy with all updated expressions.
* Or if no expressions have changed, returns NO_CHANGE.
* If the value of any provided exp has changed, calls the pure function to
* return an updated value. Or if no values have changed, returns NO_CHANGE.
*
* @param factoryFn A factory function that takes binding values and builds an object or array
* @param pureFn A pure function that takes binding values and builds an object or array
* containing those values.
* @param exp An array of binding values
* @returns A copy of the object/array or NO_CHANGE
* @returns Updated value or NO_CHANGE
*/
export function objectLiteralV(factoryFn: (v: any[]) => any, exps: any[]): any {
export function pureFunctionV(pureFn: (v: any[]) => any, exps: any[]): any {
let different = false;
for (let i = 0; i < exps.length; i++) {
@ -295,5 +293,5 @@ export function objectLiteralV(factoryFn: (v: any[]) => any, exps: any[]): any {
if (bind(exp) !== NO_CHANGE) different = true;
}
return different ? factoryFn(exps) : NO_CHANGE;
return different ? pureFn(exps) : NO_CHANGE;
}