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