function FirebaseFirestore_Path_Join() { var path = argument[0] for(var a = 1 ; a < argument_count ; a ++) path = FirebaseFirestore_Path_Join_Pair(path,argument[a]) return path } function FirebaseFirestore_Path_Join_Pair(path0,path1) { if(!string_count("http",path0)) path0 = "/" + path0 path0 += "/" path1 = "/" + path1 path1 += "/" var path = path0+path1 while(string_count("//",path)) path = string_replace(path,"//","/") path = string_replace(path,":/","://") return path } function FirebaseFirestore_Path_GetName(path,offset) { var list = FirebaseFirestore_Path_ToList(path) var name = list[|ds_list_size(list)-1-offset] ds_list_destroy(list) return(name) } function FirebaseFirestore_Path_ToList(path) { var list = ds_list_create() var str = "" for(var a = 1 ; a <= string_length(path) ; a ++) { var char = string_char_at(path,a) if(char == "/") { if(str != "") ds_list_add(list,str) str = "" } else str += char } if(str != "") ds_list_add(list,str) return list } function FirebaseFirestore_Path_Compare(path0,path1) { var list0 = FirebaseFirestore_Path_ToList(path0) var list1 = FirebaseFirestore_Path_ToList(path1) var ok = ds_list_size(list0) == ds_list_size(list1) if(ok) for(var a = 0 ; a < ds_list_size(list0) ; a++) if(list0[|a] != list1[|a]) { ok = false break } ds_list_destroy(list0) ds_list_destroy(list1) return ok } function FirebaseFirestore_Path_Back(path,count) { var str = "" var list = FirebaseFirestore_Path_ToList(path) for(var a = 0 ; a < ds_list_size(list) - count ; a++) str += list[|a] + "/" ds_list_destroy(list) return str }