MCPcopy Create free account
hub / github.com/ampproject/amphtml / callRecursiveCompute

Function callRecursiveCompute

src/core/context/values.js:754–767  ·  view source on GitHub ↗

* A substitute for `compute(parentValue, ...deps)`, but faster. * * @param {function(Node, T[], ...DEP):T} compute See `IContextProp.compute()`. * @param {Node} node * @param {T[]} inputValues * @param {DEP} parentValue * @param {DEP[]} deps * @return {T} * @template T, DEP

(compute, node, inputValues, parentValue, deps)

Source from the content-addressed store, hash-verified

752 * @template T, DEP
753 */
754function callRecursiveCompute(compute, node, inputValues, parentValue, deps) {
755 switch (deps.length) {
756 case 0:
757 return compute(node, inputValues, parentValue);
758 case 1:
759 return compute(node, inputValues, parentValue, deps[0]);
760 case 2:
761 return compute(node, inputValues, parentValue, deps[0], deps[1]);
762 case 3:
763 return compute(node, inputValues, parentValue, deps[0], deps[1], deps[2]);
764 default:
765 return compute.apply(null, [node, inputValues, parentValue].concat(deps));
766 }
767}
768
769/**
770 * Whether the value is defined.

Callers 1

calc_Method · 0.85

Calls 2

applyMethod · 0.80
concatMethod · 0.80

Tested by

no test coverage detected