* 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)
| 752 | * @template T, DEP |
| 753 | */ |
| 754 | function 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. |