1*5f154df9Saleqsio #include "JsiUtils.h"
2*5f154df9Saleqsio #include <vector>
3*5f154df9Saleqsio 
4*5f154df9Saleqsio using namespace facebook;
5*5f154df9Saleqsio 
6*5f154df9Saleqsio namespace reanimated::jsi_utils {
7*5f154df9Saleqsio 
convertStringToArray(jsi::Runtime & rt,const std::string & value,const unsigned int expectedSize)8*5f154df9Saleqsio jsi::Array convertStringToArray(
9*5f154df9Saleqsio     jsi::Runtime &rt,
10*5f154df9Saleqsio     const std::string &value,
11*5f154df9Saleqsio     const unsigned int expectedSize) {
12*5f154df9Saleqsio   std::vector<float> transformMatrixList;
13*5f154df9Saleqsio   std::istringstream stringStream(value);
14*5f154df9Saleqsio   std::copy(
15*5f154df9Saleqsio       std::istream_iterator<float>(stringStream),
16*5f154df9Saleqsio       std::istream_iterator<float>(),
17*5f154df9Saleqsio       std::back_inserter(transformMatrixList));
18*5f154df9Saleqsio   assert(transformMatrixList.size() == expectedSize);
19*5f154df9Saleqsio   jsi::Array matrix(rt, expectedSize);
20*5f154df9Saleqsio   for (int i = 0; i < expectedSize; i++) {
21*5f154df9Saleqsio     matrix.setValueAtIndex(rt, i, transformMatrixList[i]);
22*5f154df9Saleqsio   }
23*5f154df9Saleqsio   return matrix;
24*5f154df9Saleqsio }
25*5f154df9Saleqsio 
26*5f154df9Saleqsio } // namespace reanimated::jsi_utils
27