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

Function callCompute

src/core/context/values.js:725–741  ·  view source on GitHub ↗

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

(compute, node, inputValues, deps)

Source from the content-addressed store, hash-verified

723 * @template T, DEP
724 */
725function callCompute(compute, node, inputValues, deps) {
726 switch (deps.length) {
727 case 0:
728 return compute(node, inputValues);
729 case 1:
730 return compute(node, inputValues, deps[0]);
731 case 2:
732 return compute(node, inputValues, deps[0], deps[1]);
733 case 3:
734 return compute(node, inputValues, deps[0], deps[1], deps[2]);
735 default:
736 return compute.apply(
737 null,
738 /** @type {*[]} */ ([node, inputValues]).concat(deps)
739 );
740 }
741}
742
743/**
744 * A substitute for `compute(parentValue, ...deps)`, but faster.

Callers 1

calc_Method · 0.85

Calls 2

applyMethod · 0.80
concatMethod · 0.80

Tested by

no test coverage detected