docs/vendor.js
function pureFunction1(slotOffset, pureFn, exp, thisArg) {
    ngDevMode && assertReservedSlotInitialized(slotOffset, 2);
    var index = moveBindingIndexToReservedSlot(slotOffset);
    var value = bindingUpdated(exp) ?
        checkAndUpdateBinding$1(thisArg ? pureFn.call(thisArg, exp) : pureFn(exp)) :
        consumeBinding();
    restoreBindingIndex(index);
    return value;
}
function pureFunction1(slotOffset, pureFn, exp, thisArg) {
    ngDevMode && assertReservedSlotInitialized(slotOffset, 2);
    var index = moveBindingIndexToReservedSlot(slotOffset);
    var value = bindingUpdated(exp) ?
        checkAndUpdateBinding$1(thisArg ? pureFn.call(thisArg, exp) : pureFn(exp)) :
        consumeBinding();
    restoreBindingIndex(index);
    return value;
}
function pureFunction1 ( slotOffset , pureFn , exp , thisArg ) { ngDevMode && assertReservedSlotInitialized ( slotOffset , 2 ) ; var index = moveBindingIndexToReservedSlot ( slotOffset ) ; var value = bindingUpdated ( exp ) ? checkAndUpdateBinding$1 ( thisArg ? pureFn . call ( thisArg , exp ) : pureFn ( exp ) ) : consumeBinding ( ) ; restoreBindingIndex ( index ) ; return value ; }
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 cached value.

@param slotOffset the offset in the reserved slot space {@link reserveSlots}
@param pureFn Function that returns an updated value
@param exp Updated expression value
@param thisArg Optional calling context of pureFn
@returns Updated or cached value
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 cached value .