1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*!
Typed accessors for common Apple [Foundation](https://developer.apple.com/documentation/foundation) classes.
Enabled by the `foundation` cargo feature. These methods interpret the generic
[`Property`](crate::deserializer::iter::Property) tree as specific Foundation
types (`NSString`, `NSDictionary`, …) so consumers do not have to re-implement
class-name matching (and re-discover its footguns, e.g. that the data cluster
archives as both `NSData` and `NSMutableData`).
This feature is purely for convenience: the parser and the
[`Property`](crate::deserializer::iter::Property) /
[`OutputData`](crate::models::output_data::OutputData) model are unchanged whether
or not it is enabled, and any class not modeled here stays reachable through
[`Property::Object`](crate::deserializer::iter::Property::Object), so nothing is
ever lost.
Accessors are methods on a [`Property`](crate::deserializer::iter::Property) —
either a group yielded while iterating an object's properties, or an object
obtained from [`TypedStreamDeserializer::root`](crate::TypedStreamDeserializer::root)
/ [`resolve_object`](crate::TypedStreamDeserializer::resolve_object) when the value
you want *is* the root (or a referenced) object. Each Foundation type lives in its
own module.
*/
pub use crate;
pub use crate;