/
ConcatNode.java
36 lines (31 loc) · 1.16 KB
/
ConcatNode.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package versioned.host.exp.exponent.modules.api.reanimated.nodes;
import java.text.NumberFormat;
import java.util.Locale;
import com.facebook.react.bridge.ReadableMap;
import versioned.host.exp.exponent.modules.api.reanimated.NodesManager;
import versioned.host.exp.exponent.modules.api.reanimated.Utils;
public class ConcatNode extends Node {
private final int[] mInputIDs;
private final static NumberFormat sFormatter = NumberFormat.getInstance(Locale.ENGLISH);
static {
sFormatter.setMinimumFractionDigits(0);
sFormatter.setGroupingUsed(false);
}
public ConcatNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
super(nodeID, config, nodesManager);
mInputIDs = Utils.processIntArray(config.getArray("input"));
}
@Override
protected String evaluate() {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < mInputIDs.length; i++) {
Node inputNodes = mNodesManager.findNodeById(mInputIDs[i], Node.class);
Object value = inputNodes.value();
if (value instanceof Double) {
value = sFormatter.format((Double) value);
}
builder.append(value);
}
return builder.toString();
}
}