@@ -145,4 +145,25 @@ bool SOMAObject::check_type(std::string expected_type) {
145145 return soma_object_type == expected_type;
146146};
147147
148+ tiledb_object_t SOMAObject::tiledb_type_from_soma_type (const std::string& soma_type) {
149+ const std::map<std::string, tiledb_object_t > typeMap = {
150+ {" SOMAArray" , tiledb_object_t ::TILEDB_ARRAY},
151+ {" SOMACollection" , tiledb_object_t ::TILEDB_GROUP},
152+ {" SOMADataFrame" , tiledb_object_t ::TILEDB_ARRAY},
153+ {" SOMADenseNDArray" , tiledb_object_t ::TILEDB_ARRAY},
154+ {" SOMAExperiment" , tiledb_object_t ::TILEDB_GROUP},
155+ {" SOMAGeometryDataFrame" , tiledb_object_t ::TILEDB_ARRAY},
156+ {" SOMAGroup" , tiledb_object_t ::TILEDB_GROUP},
157+ {" SOMAMeasurement" , tiledb_object_t ::TILEDB_GROUP},
158+ {" SOMAMultiscaleImage" , tiledb_object_t ::TILEDB_GROUP},
159+ {" SOMAPointCloudDataFrame" , tiledb_object_t ::TILEDB_ARRAY},
160+ {" SOMAScene" , tiledb_object_t ::TILEDB_GROUP},
161+ {" SOMASparseNDArray" , tiledb_object_t ::TILEDB_ARRAY},
162+ };
163+ const std::map<std::string, tiledb_object_t >::const_iterator iTileDBType = typeMap.find (soma_type);
164+ if (iTileDBType == typeMap.end ())
165+ return tiledb_object_t ::TILEDB_INVALID;
166+ return iTileDBType->second ;
167+ };
168+
148169} // namespace tiledbsoma
0 commit comments