Add support for StringValue instances

Closes #93.
This commit is contained in:
Lucien Greathouse
2019-01-10 16:56:43 -08:00
parent 5f91a8fdfe
commit 1e1b409f8b
2 changed files with 10 additions and 0 deletions

View File

@@ -233,6 +233,7 @@ enum FileType {
ModuleScript,
ServerScript,
ClientScript,
StringValue,
LocalizationTable,
}
@@ -256,6 +257,8 @@ fn classify_file(file: &ImfsFile) -> Option<(&str, FileType)> {
Some((instance_name, FileType::ModuleScript))
} else if let Some(instance_name) = get_trailing(file_name, ".csv") {
Some((instance_name, FileType::LocalizationTable))
} else if let Some(instance_name) = get_trailing(file_name, ".txt") {
Some((instance_name, FileType::StringValue))
} else {
None
}
@@ -339,6 +342,7 @@ fn snapshot_instances_from_imfs<'a>(
FileType::ModuleScript => "ModuleScript",
FileType::ServerScript => "Script",
FileType::ClientScript => "LocalScript",
FileType::StringValue => "StringValue",
FileType::LocalizationTable => "LocalizationTable",
};
@@ -356,6 +360,11 @@ fn snapshot_instances_from_imfs<'a>(
value: contents.to_string(),
});
},
FileType::StringValue => {
properties.insert(String::from("Value"), RbxValue::String {
value: contents.to_string(),
});
},
FileType::LocalizationTable => {
let entries: Vec<LocalizationEntryJson> = csv::Reader::from_reader(contents.as_bytes())
.deserialize()