mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 22:11:38 +00:00
Enhance property encoding and class descriptor retrieval in rbx_dom_lua
- Introduced a new function, `findClassDescriptor`, to retrieve class properties and metadata, including inherited properties, from the database. - Updated `encodeInstance` to include encoding for Tags alongside Attributes, ensuring comprehensive property serialization. - Improved property filtering logic to skip non-serializable properties and those matching default values, aligning with syncback behavior. - Enhanced comments for clarity on property handling and encoding processes.
This commit is contained in:
parent
c0d089f0aa
commit
dccd3a691a
6 changed files with 188 additions and 62 deletions
|
|
@ -31,7 +31,7 @@ use crate::{
|
|||
pub use file_names::{extension_for_middleware, name_for_inst, validate_file_name};
|
||||
pub use fs_snapshot::FsSnapshot;
|
||||
pub use hash::*;
|
||||
pub use property_filter::{filter_properties, filter_properties_preallocated};
|
||||
pub use property_filter::{filter_properties, filter_properties_preallocated, should_property_serialize};
|
||||
pub use snapshot::{inst_path, SyncbackData, SyncbackSnapshot};
|
||||
|
||||
/// The name of an enviroment variable to use to override the behavior of
|
||||
|
|
|
|||
|
|
@ -77,7 +77,9 @@ pub fn filter_properties_preallocated<'inst>(
|
|||
}
|
||||
}
|
||||
|
||||
fn should_property_serialize(class_name: &str, prop_name: &str) -> bool {
|
||||
/// Checks if a property should serialize based on the reflection database.
|
||||
/// Returns false for properties with DoesNotSerialize serialization, true otherwise.
|
||||
pub fn should_property_serialize(class_name: &str, prop_name: &str) -> bool {
|
||||
let database = rbx_reflection_database::get().unwrap();
|
||||
let mut current_class_name = class_name;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue